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. |
18th February 2019, 12:48 | #4521 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
There is a little bit of inconsistency between function names, some use xxxxExist, and some xxxExists.
Code:
Exist "s" FunctionExists "s" InternalFunctionExists "s" VarExist "s"
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 18th February 2019 at 12:53. |
18th February 2019, 12:48 | #4522 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
Code:
function IsAvsNeo() { FindStr(VersionString, "AviSynth Neo") != 0 } function IsAvsPlus() { FindStr(VersionString, "AviSynth+") != 0 || IsAvsNeo } function AvsPlusVersionNumber() { IsAvsNeo ? eval(MidStr(VersionString(),20,4)) : IsAvsPlus ? eval(MidStr(VersionString(),17,4)) : 0 }
__________________
See My Avisynth Stuff Last edited by real.finder; 18th February 2019 at 14:39. |
|
18th February 2019, 14:23 | #4523 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Yes it works, I made a small mistake. Correct is: "AviSynth Neo"
IsAvsPlus and IsAvsNeo returning true for AviSynth Neo.
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
18th February 2019, 14:41 | #4524 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
and the revision number?
__________________
See My Avisynth Stuff |
18th February 2019, 14:51 | #4525 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
18th February 2019, 15:11 | #4526 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
__________________
See My Avisynth Stuff |
|
18th February 2019, 16:07 | #4527 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Dunno, probably yes. Do those lines really improve anything or it is just kept and copied over many years? Could Zopti (Formerly Avisynth optimizer) help deciding it? No, I'm not volunteering for it . Still working on the "Layer" stuff.
|
18th February 2019, 16:14 | #4528 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
btw, don't tell me that masktools lut (and avs+ expr) has this problem too! if it only the dither one did this update here fix the problem?
__________________
See My Avisynth Stuff Last edited by real.finder; 18th February 2019 at 16:21. |
|
18th February 2019, 16:47 | #4530 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
edit: simple test Code:
ColorBars(pixel_type="yv12") a=Mt_makediff(Dither_Luma_Rebuild(),coloryuv(levels="TV->PC"),u=3,v=3) b=Mt_makediff(Dither_Luma_Rebuild(lsb=true),coloryuv(levels="TV->PC"),u=3,v=3) StackVertical(a.Subtitle("luma rebuild vs avs tv to pc"),b.Subtitle("luma rebuild lsb vs avs tv to pc"),Mt_makediff(a,b,u=3,v=3).Subtitle("lsb vs 8bit"))
__________________
See My Avisynth Stuff Last edited by real.finder; 18th February 2019 at 17:47. |
|
18th February 2019, 17:39 | #4531 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
How should one test it exactly? just call Dither_Luma_Rebuild() ?
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
18th February 2019, 17:48 | #4532 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
I know that someone will ask that, see my edit I just made above
__________________
See My Avisynth Stuff |
18th February 2019, 18:29 | #4533 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
18th February 2019, 18:34 | #4534 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
it's same I got, my system use dot (Iraq)
btw, what avs you use and what dither.dll?
__________________
See My Avisynth Stuff |
18th February 2019, 19:09 | #4535 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Win10 x64 german which uses comma as decimal separator, avs+ 2772, 32bit dither.dll (CRC32: 20008b02) is from here http://ldesoras.free.fr/prod.html#src_ditheravsi
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database Last edited by ChaosKing; 18th February 2019 at 19:26. |
18th February 2019, 20:35 | #4536 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
__________________
See My Avisynth Stuff |
|
18th February 2019, 21:48 | #4537 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Idk I never encountered this problem in avs.
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
18th February 2019, 22:28 | #4538 | Link |
Formerly davidh*****
Join Date: Jan 2004
Posts: 2,496
|
Got a filter development problem.
In GetFrame, I can do this: Code:
PVideoFrame __stdcall warp::GetFrame(int n, IScriptEnvironment* env) { PVideoFrame dst = env->NewVideoFrame(vi); byte* dst_p = dst->GetWritePtr(); ... } But what I want to do is this: Code:
void some_function(PVideoFrame dst) { byte* dst_p = dst->GetWritePtr(); ... } PVideoFrame __stdcall warp::GetFrame(int n, IScriptEnvironment* env) { PVideoFrame dst = env->NewVideoFrame(vi); some_function(dst); } What's the problem and how can I fix it? -------------------------------------------------------------- Edit: it looks like I have to pass a pointer to the smart pointer, even though the smart pointer itself has the same value inside and outside of the function. Any brief explanation of this would be gratefully received. Last edited by wonkey_monkey; 18th February 2019 at 22:55. |
19th February 2019, 00:04 | #4539 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Make dst a reference, think that should work.
Code:
void some_function(PVideoFrame &dst) { byte* dst_p = dst->GetWritePtr(); ... }
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 19th February 2019 at 00:53. |
19th February 2019, 00:27 | #4540 | Link |
Formerly davidh*****
Join Date: Jan 2004
Posts: 2,496
|
I checked the actual value of PVideoFrame (assuming it actually is some kind of pointer) and it was the same inside the function. I guess there's another layer of abstraction that ruins this idea.
Anyway, see my edit, as I did manage to figure that out and it now works. Thanks though! |
Thread Tools | Search this Thread |
Display Modes | |
|
|