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 Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 11th March 2022, 22:34   #1021  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,372
The idea for the video came to me the last week while working on ConvertFormat() I realized there are many hidden features, like say set kernel as Lanczos8 instead of Lanczos to define the taps. The different aliases that ConvertFormat supports, check the 'show' panel, play with the preview filters and sliders to show how the curve changes in real time for example in ex_contrast(), etc. I also want to showcase GamutWarning 'show' panel and explain its options, same with SoftLimiter and a few more filters. So it's not only AvspMod.

The problem for recording is two sided, I only have a classic microphone from 20 years ago (at least its a shure) but without a pedestal and it's a pain to set up. And the other my monitor is 4K so everything would look too small for those with 1080p monitors.

Also I'm yet to finish ConvertFormat's more flagrant issues, do SceneChange and SceneStats and finish MVTools correlations probably having to implement CoS by hand. There are a few more little things but I won't do.


https://forum.doom9.org/showthread.p...68#post1943568
https://forum.doom9.org/showthread.p...94#post1944894
https://forum.doom9.org/showthread.p...16#post1950216
https://forum.doom9.org/showthread.p...17#post1957617
https://forum.doom9.org/showthread.p...28#post1961128
https://forum.doom9.org/showthread.p...33#post1962333
https://forum.doom9.org/showthread.p...62#post1963062
https://forum.doom9.org/showthread.p...68#post1964768
https://forum.doom9.org/showthread.p...07#post1965507

The common evasive or snarky comments. It doesn't affect me, used to, but now I'm calm like zen :D It's a bit sad because I do care a lot about user experience and half (or more) of my observations are directly ignored or dumped, some not of course and I do appreciate but AvsPmod has a lot of potential, I rarely repeat myself so those suggestions are now in the thrash bin. You say "do it yourself", no thanks I hate python to death, just about to install Julia and start learning a sane language (+maths).

For months I had a list of AvspMod UX quirks that I drip-feed as to not overload you. I guess before retiring here I will post them all at once, and whoever sees that can keep improving the program. "nagging"... might be reading too much, reporting != nagging, actually quite the contrary, it's someone using the tools you created, caring for them and giving you in return some feedback. Some people bring their daily affairs frustrations online so I can understand, but I do not, I don't have social media or anything. For me online is reading news, learning and working, nothing else.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread
Dogway is offline   Reply With Quote
Old 12th March 2022, 21:32   #1022  |  Link
gispos
Registered User
 
Join Date: Oct 2018
Location: Germany
Posts: 1,075
You will have to learn Python after all.
Because I will only take it slowly, there are other things in life. If here and there is a bug to find or smaller things that do not cost me my nerves.

I had not seen the whole extent at the beginning and wanted to change for me personally only a few small things.
But then it just didn't stop, and the next big thing would be to update AvsPmod to Python 3, but I am too 'late' for this...

So I will slowly retire and continue only as I please, otherwise I'd like to leave the field to younger people with more verve.
Greetings.
__________________
Live and let live
gispos is offline   Reply With Quote
Old 12th March 2022, 22:52   #1023  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,666
Don't let the entitled script kiddies get to you, gispos. You are a legend.
videoh is offline   Reply With Quote
Old 13th March 2022, 01:46   #1024  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,169
I think Dogway learned Python cause he ported some scripts from Vapoursynth to Avisynth
kedautinh12 is offline   Reply With Quote
Old 13th March 2022, 13:14   #1025  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,372
Quote:
Originally Posted by videoh View Post
Don't let the entitled script kiddies get to you, gispos. You are a legend.
videoh (neuron2) is just a troll who spreads hate around and I don't know how he is not censored already (again). Do you realize Python is also script based? Are you insulting gispos as well?

I have ported from GLSL, C, C++, Python and assembly. It's pretty ridiculous for some programmers to feel superior and talk down to others just because they don't use their beloved programming language. It's like a painter laughing out at another painter because they use a lower grade canvas when they can't even draw a hand (while not even using the highest grade canvas).

The all glory C++ is already phased out by Rust, and Python slowly by Julia. As for AVS+, your beloved C++ mt_luts() is in several orders of magnitude slower than ex_luts().

I know Python, I made myself some addons for Blender to make it behave with Pies more like Maya's MarkingMenus and more additions, it took me several months. I also use Python for external scripts. It's just a horrible language to work with and I'm weeks away from leaving Doom9 so I don't care about AvsPmod, just thought on helping while I was here, to those that care to listen that is.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread
Dogway is offline   Reply With Quote
Old 13th March 2022, 13:40   #1026  |  Link
guest
Guest
 
Posts: n/a
@ Dogway, this is a little scary, we've lost way too developer's recently, hopefully you're not serious....

Quote:
I'm weeks away from leaving Doom9
I could understand if you do, it can be a thankless task.

I certainly appreciate what you've done, and even tho I've probably only scratched the surface, it's improved what I do.

Cheers
  Reply With Quote
Old 13th March 2022, 14:00   #1027  |  Link
anton_foy
Registered User
 
Join Date: Dec 2005
Location: Sweden
Posts: 721
Quote:
Originally Posted by Dogway View Post
videoh (neuron2) is just a troll who spreads hate around and I don't know how he is not censored already (again). Do you realize Python is also script based? Are you insulting gispos as well?

I have ported from GLSL, C, C++, Python and assembly. It's pretty ridiculous for some programmers to feel superior and talk down to others just because they don't use their beloved programming language. It's like a painter laughing out at another painter because they use a lower grade canvas when they can't even draw a hand (while not even using the highest grade canvas).

The all glory C++ is already phased out by Rust, and Python slowly by Julia. As for AVS+, your beloved C++ mt_luts() is in several orders of magnitude slower than ex_luts().

I know Python, I made myself some addons for Blender to make it behave with Pies more like Maya's MarkingMenus and more additions, it took me several months. I also use Python for external scripts. It's just a horrible language to work with and I'm weeks away from leaving Doom9 so I don't care about AvsPmod, just thought on helping while I was here, to those that care to listen that is.
You are going to leave doom9??? But why? To me you are top reason of being here it is such a joy and amazement to see all your updates. What you do is mind blowing! Come on
anton_foy is offline   Reply With Quote
Old 13th March 2022, 14:09   #1028  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,169
I think you need complete all scripts WIP and RC ver before leave doom9
kedautinh12 is offline   Reply With Quote
Old 13th March 2022, 15:28   #1029  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,666
Quote:
Originally Posted by Dogway View Post
I'm weeks away from leaving Doom9
Any chance to pull up the schedule?

Maybe this forum will suit you better:

https://digitalvideofordummies.blogspot.com/

Or come on over to the DG tools forum. I hang out there a lot. We can be buddies.

Last edited by videoh; 13th March 2022 at 15:36.
videoh is offline   Reply With Quote
Old 14th March 2022, 06:35   #1030  |  Link
guest
Guest
 
Posts: n/a
Doesn't QTGMC require vinverse anymore ??
  Reply With Quote
Old 15th March 2022, 17:58   #1031  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,372
Quote:
Originally Posted by TDS View Post
Doesn't QTGMC require vinverse anymore ??
Why? It requires it. I updated QTGMC+ replacing some ex_vinverse() calls with vinverse(), as Asd-g updated and optimized the plugin.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread
Dogway is offline   Reply With Quote
Old 15th March 2022, 18:10   #1032  |  Link
guest
Guest
 
Posts: n/a
Quote:
Originally Posted by Dogway View Post
Why? It requires it. I updated QTGMC+ replacing some ex_vinverse() calls with vinverse(), as Asd-g updated and optimized the plugin.
Well it's just that I updated QTGMC, and the next time I went to run it, it had a problem with vinverse, so I need to change something in my script, so what do I need to change ?
  Reply With Quote
Old 15th March 2022, 18:41   #1033  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,372
Download Vinverse by Asd-g and update QTGMC+. If you still run into issues let me know.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread
Dogway is offline   Reply With Quote
Old 16th March 2022, 05:39   #1034  |  Link
guest
Guest
 
Posts: n/a
Quote:
Originally Posted by Dogway View Post
Download Vinverse by Asd-g and update QTGMC+. If you still run into issues let me know.
Yep, all good, once again, Thanks
  Reply With Quote
Old 20th March 2022, 22:47   #1035  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,372
This is the first version of SceneRange(). It pushed me to the limits for the last week, besides I wasn't very focused due to birthday celebrations, repo bug reports, etc.
The filter writes "_SceneRange" frame properties with lookahead, so at the start of the scene you already know on what frame it ends. This is useful for scene based stats/filtering.

If you see something odd or that can be optimized please chime in, I need all the help here.

Code:
# Dependencies ResizersPack()
# Core SC algo from ScSelect_HBD()

function SceneRange(clip a, int "radius", clip "dClip", float "dfactor", float "MinDif", bool "show") {

    rgb = isRGB(a)
    FC  = FrameCount(a)
    FR  = FrameRate (a)
    fs  = propNumElements (a,"_ColorRange")  > 0 ? \
          propGetInt      (a,"_ColorRange") == 0 : rgb

    rad     = Default(radius,  0)          # 0~2  Currently noop
    dfactor = Float(Default(dfactor,3.5))  # Range 2.5~4.0 ::: Change default to 4.0 to emulate ScSelect
    Mindif  = Float(Default(MinDif ,1.0))  # Range 0.5~4.0 ::: Change default to 0.0 to emulate ScSelect
    Show    = Default(show, false)
    ddClp   = Defined(dClip)

    Assert(!rgb,          "SceneRange: DClip YUV Only")
    Assert(1.0 <= dFactor,"SceneRange: 1.0 <= dFactor")
    Assert(0.0 <= Mindif ,"SceneRange: 0.0 <= MinDif")

    # Prefiltering
    dClip = ddClp ? dClip : a
    dClip = dClip.ExtractY().ConvertBits(8, dither=-1, fulls=fs, fulld=true)
    dClip = width(dClip) > 1024 ? dClip.RatioResize(720.,"adjust2w",2,"bicubic",b=-0.5,c=0.25) : dClip

        ScriptClip(a, function [dClip,dfactor,MinDif,show,FC,FR] () {

            SF  =      propNumElements("_SceneRange",offset=-1) > 0
            SA  = SF ? propGetAsArray ("_SceneRange",offset=-1) : [-1,-1]

            n    = current_frame
            nDf0 = 0
            nTh  = 0
            last

            if (n-1>SA[1]) {

                # 60 secs MAX lookahead
                lookahead = min(round(FR*60), FC-n-1)

                for (f=1, lookahead, 1) {

                        dClip = dClip.SelectEvery(1,1)
                        pDf0  = dClip.YDifferenceFromPrevious()
                        nDf0  = dClip.YDifferenceToNext()

                nTh = pDf0*dfactor+MinDif

                SE  = n+f
                f   = nDf0>nTh ? lookahead : f # stopper
                }

                propSet("_SceneRange", [n,SE])
            }
    } )

    # Set Start (and fix End)
    ScriptClip( function[] () {
    SD  = propGetAsArray("_SceneRange",offset=-1)
    SD1 = SD[1]
    n   = current_frame
    LP  = last

    # lookback
    for (lb=n, 1, -1) {
        LP = LP.SelectEvery(1,-1)
        PR = propGetAsArray(LP,"_SceneRange")
        PE = PR[1]
        lb = PE != SD1 ? 1 : lb }

    SA  = propGetAsArray("_SceneRange",offset=-(n-PE)-1)
    propSet("_SceneRange", [(n+1 > SD1 ? PE : SA[1]) + 1, SD1])
    } ) }
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread

Last edited by Dogway; 20th March 2022 at 22:53.
Dogway is offline   Reply With Quote
Old 21st March 2022, 17:51   #1036  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,372
Uploaded ScenesPack, a new pack to deal with scene statistics. Includes SceneRange() to write scene change frame numbers into frame properties and SceneStats() to write scene statistics (min, max, thresholded min, thresholded max, average and median) into frame properties, with an option also to write to a file.

It works dynamically, without the need to write to a file. Every frame knows about its own scene bounds and scene statistics.
You need to update to latest ExTools v8.2.





By the way, I have been experimenting with an idea for protecting shading from smearing. The idea is to accentuate shading in local space so motion estimation can pick up motion vectors.
This first example is a simple isoparam, mode included soon into PseudoColor(). It's simple.

This other one has ex_luma_rebuild() as a preprocessor to expand dark areas, later I apply the same sinusoidal remap in a non-linear fashion. Higher amplitude and frequency on the lower half.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread

Last edited by Dogway; 21st March 2022 at 18:38.
Dogway is offline   Reply With Quote
Old 21st March 2022, 18:54   #1037  |  Link
anton_foy
Registered User
 
Join Date: Dec 2005
Location: Sweden
Posts: 721
Quote:
Originally Posted by Dogway View Post
Uploaded ScenesPack, a new pack to deal with scene statistics. Includes SceneRange() to write scene change frame numbers into frame properties and SceneStats() to write scene statistics (min, max, thresholded min, thresholded max, average and median) into frame properties, with an option also to write to a file.

It works dynamically, without the need to write to a file. Every frame knows about its own scene bounds and scene statistics.
You need to update to latest ExTools v8.2.





By the way, I have been experimenting with an idea for protecting shading from smearing. The idea is to accentuate shading in local space so motion estimation can pick up motion vectors.
This first example is a simple isoparam, mode included soon into PseudoColor(). It's simple.

This other one has ex_luma_rebuild() as a preprocessor to expand dark areas, later I apply the same sinusoidal remap in a non-linear fashion. Higher amplitude and frequency on the lower half.
Looks really interesting. Do you plan to add the shading protection into SmDegrain or on its own? Because I started to use your TSMCmod alot and I think this would be perfect in combination with that. By the way is mode="temporalsoften" in SmDegrain very similar to TSMC?

Last edited by anton_foy; 21st March 2022 at 18:56.
anton_foy is offline   Reply With Quote
Old 21st March 2022, 19:11   #1038  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,372
Yes, TSMCmod is the same as mode="temporalsoften". I realized I was porting many things from SMDegrain so I thought why not the other way around?, and that's how 'mode' arg was implemented. This also helped make some non-motion-protected median modes be usable very easily like ML3Dex.

SMDegrain is pending a big rehaul from the results of the Zopti correlations, so I will have a look on implementing this at that time. It competes with the low frequency expansion call, so I will run some tests to check which achieves better qual/perf.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread
Dogway is offline   Reply With Quote
Old 21st March 2022, 19:20   #1039  |  Link
anton_foy
Registered User
 
Join Date: Dec 2005
Location: Sweden
Posts: 721
Quote:
Originally Posted by Dogway View Post
Yes, TSMCmod is the same as mode="temporalsoften". I realized I was porting many things from SMDegrain so I thought why not the other way around?, and that's how 'mode' arg was implemented. This also helped make some non-motion-protected median modes be usable very easily like ML3Dex.

SMDegrain is pending a big rehaul from the results of the Zopti correlations, so I will have a look on implementing this at that time. It competes with the low frequency expansion call, so I will run some tests to check which achieves better qual/perf.
Thanks, I have waited for this moment to see how SMDegrain performs after Zopti optimizations!
anton_foy is offline   Reply With Quote
Old 21st March 2022, 19:50   #1040  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,608
Quote:
Originally Posted by Dogway View Post
By the way, I have been experimenting with an idea for protecting shading from smearing. The idea is to accentuate shading in local space so motion estimation can pick up motion vectors.
This first example is a simple isoparam, mode included soon into PseudoColor(). It's simple.
What's the theory behind that? I can't imagine it creating more good motion vectors than bad ones.
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey is offline   Reply With Quote
Reply

Tags
avisynth, dogway, filters, hbd, packs

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 15:30.


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