Dogway / Avisynth-Scripts

AviSynth+ 3.7.3+ Filters
GNU General Public License v3.0
92 stars 13 forks source link

SMDegrain - don't make ex_Luma_Rebuild work in... #11

Closed realfinder closed 3 years ago

realfinder commented 3 years ago

full range frames, using frame properties

kedaitinh12 commented 3 years ago

I seen you updated with new parameter nf32, nf32_out. Can you updated that to here???

realfinder commented 3 years ago

I seen you updated with new parameter nf32, nf32_out. Can you updated that to here???

https://forum.doom9.org/showpost.php?p=1944541&postcount=663

Dogway commented 3 years ago

It uses runtime ScriptClip, did you find a performance penalty? Also this is based on source flags right? Will it work fine for YT videos, etc?

realfinder commented 3 years ago

It uses runtime ScriptClip, did you find a performance penalty? Also this is based on source flags right? Will it work fine for YT videos, etc?

didn't test the performance, but I think it's not that big if any especially after backport AvisynthNeo improvements and fixes to Avisynth+

not source flags but frame flag or frames flags, they may changed from frame to another, and it will not work if the source has no flag (ex_Luma_Rebuild will not be used), I think you mean youtube video? anyway it depend on how the source call deal with the file

anyway, it's just a basic edit, you may re-add tv_range paramter to override this frame properties method and ScriptClip, it's up to you in the end

realfinder commented 3 years ago

I did test, yes there are some performance penalty, but they are less with ConditionalFilter method I just did

Dogway commented 3 years ago

Thanks for the edit. Ok, I will try to run it on some random clips and see how it behaves flag wise.

realfinder commented 3 years ago

you can see them in propShow http://avisynth.nl/index.php/Internal_functions#propShow

keep in mind that not all filters updated yet to deal with frame properties, if there are some filter that still didn't update to deal with frame properties (at least copy them) used before it all frame properties will be Cleared (just like using propClearAll)

Dogway commented 3 years ago

@realfinder: can you make it default to bool 'tv' var instead of false (just before local)? If that's so, rebase to latest and commit to merge PR.

    pref       = Defined(tv_range) && tv || Str > 1.0 ? pref.ex_Luma_Rebuild(S0=Str,c=Amp,uv=Chr,tv_range=tv,fulls=fs)                          : \
                                                        pref.ConditionalFilter(pref.ex_Luma_Rebuild(S0=Str,c=Amp,uv=Chr,tv_range=tv,fulls=fs),    \
                                                        pref, function[]() {propNumElements("_ColorRange") > 0 ? propGetInt("_ColorRange") == 1 : false}, local=true)

Also please comment on issue about subpixel=3 mentioned here.

realfinder commented 3 years ago

this PR is messy and incompatible now, you can close it and remake it

"Also please comment on issue about subpixel=3 mentioned here." you already fixed this now https://github.com/Dogway/Avisynth-Scripts/blob/19f0b90838e0a7022fbf9c698c71ff201f7765bf/SMDegrain%20v.3.2.6d/SMDegrain%20v3.2.6d.avsi#L40

Dogway commented 3 years ago

Thanks for reply. Implemented in 1678f028af3ed8a0aa7acc61f193ddf23ebf43e6