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 15th March 2019, 02:22   #4581  |  Link
goorawin
Registered User
 
Join Date: Feb 2012
Posts: 67
It's a function. It does a similar and I think, a slightly better job to
ColorMatrix(mode="Rec.709->Rec.601")
goorawin is offline   Reply With Quote
Old 15th March 2019, 02:28   #4582  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 2,439
I think he is talking about the HDRMatrix plugin from VideoArtifact:
https://www.videoartifact.com/hdr/
manolito is offline   Reply With Quote
Old 15th March 2019, 06:27   #4583  |  Link
goorawin
Registered User
 
Join Date: Feb 2012
Posts: 67
Yes that is correct, it uses HDRMatrix
goorawin is offline   Reply With Quote
Old 15th March 2019, 11:07   #4584  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 6,388
Hi P, as you seem to have been missing for a few days (Thanks for RemoveDirt mod), thought you may have missed this:- https://forum.doom9.org/showthread.php?t=176193

See comments in script and purple subtitles for 32 bit YV16.
__________________
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 ???
StainlessS is offline   Reply With Quote
Old 15th March 2019, 11:12   #4585  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,109
Quote:
Originally Posted by StainlessS View Post
Hi P, as you seem to have been missing for a few days (Thanks for RemoveDirt mod), thought you may have missed this:- https://forum.doom9.org/showthread.php?t=176193

See comments in script and purple subtitles for 32 bit YV16.
Thanks, noticed too and fixed on git last month.
https://github.com/pinterf/AviSynthP...68aa367ffbaacb

Busy times, not released yet.
pinterf is offline   Reply With Quote
Old 16th March 2019, 13:47   #4586  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 6,388
see Comment in blue here:- https://forum.doom9.org/showthread.p...06#post1869006

Quote by StainlessS
Quote:
EDIT:
Looks like CR_IsReallyFloatOld(InDAR) is a missing RaffRiff42 avsi function,
and it will only work as intended on v2.58, not v2.60+,
In v2.60+, Float args where user supplied as Int, they are forcibly converted to Float by Avisynth, and so that function has no purpose in v2.60 or Avs+.
Due to this forcible conversion, you cannot tell whether or not user called with float or int arg.
[I would have been happier if had been left as it was originally]

EDIT:

Code:
Function test(float "f") {
    S = (f.Defined) ? "Defined" : "NOT Defined"
    f=Default(f,42)
    s = S + " F="+String(f) + "\n"
    Return S
}

S0=VersionString+"\n"
S1=Test()
S2=Test(1)
S3=Test(2.0)

S= S0 + S1 + S2 + S3

BlankClip(width=240,Height=100)

Subtitle(S,lsp=0)
Avs v2.58


Avs 2.60(+)


EDIT: In v2.60+, if the guy that wrote the script function supplied the default arg as an int, then can still produce problems and so the original fix conversion to float arg
still dont work ideally, ie maybe should also convert Defaulted args to Float where the formal arg type (think thats what its called) is of eg type float.
If this was done, then I would be happier.
__________________
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; 16th March 2019 at 22:30.
StainlessS is offline   Reply With Quote
Old 17th March 2019, 18:14   #4587  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,137
Does Avisynth+ include the audio quality improvements of TimeStretchPlugin natively? (compared to the TimeStretch of AVS 2.6)
MysteryX is offline   Reply With Quote
Old 18th March 2019, 04:47   #4588  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 2,439
Yes, I believe it does...

Quote:
v2.61 Updated SoundTouch library to 1.9.2. Fixes multichannel issues
manolito is offline   Reply With Quote
Old 18th March 2019, 12:11   #4589  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 5,475
Just to be clear, correct me if I am wrong.

- TimeStretchPlugin is a old (2015) plugin by Wilbert to improve the TimeStretch internal function of AviSynth 2.58 to add support for multichannel audio.

- Like manolito say AviSynth v2.61 update the TimeStretch internal function to SoundTouch library 1.9.2. Then TimeStretchPlugin is not needed for v2.61, only for v2.58.

- From the begining AviSynth+ have the TimeStretch function in a external plugin TimeStretch.dll (with SoundTouch library 1.9.2) supplied with AviSynth+

- BTW the SoundTouch library version is now 2.1.1. I don't know if the the last TimeStretch.dll from Avs+ is updated.
__________________
BeHappy, AviSynth audio transcoder, in Doom9 forums. NicAudio, BassAudio, audio decoders.
tebasuna51 is offline   Reply With Quote
Old 18th March 2019, 13:19   #4590  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 2,439
TimeStretch history as far as I remember:

AVS 2.60 internal TimeStretch function (forgot the SoundTouch version) only supports stereo audio, multichannel not supported.

Next was the TimeStretch Plugin by Wilbert:
Quote:
changelog:
* version: 2.5.8.0 (requires AviSynth v2.58)
* filter is named to TimeStretchPlugin
* multichannel support
* updated SoundTouch library to 1.8.0
This version did support multichannel audio sources.

Then AVS 2.61 Alpha had an even newer internal TimeStretch version:
Quote:
Update to SoundTouch 1.9.0(Wilbert+IanB).
For AVS+ the docs are really not very informative. In the AVS Wiki the Timestretch version info says:
Quote:
v2.61 Updated SoundTouch library to 1.9.2. Fixes multichannel issues
Since classic AVS was not updated for years I suppose that this info applies to AVS+. But I could not find any info in the AVS+ docs about the current TimeStretch version. And the DLL itself does not have any embedded version info.
manolito is offline   Reply With Quote
Old 18th March 2019, 13:30   #4591  |  Link
Groucho2004
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Posts: 4,101
Quote:
Originally Posted by manolito View Post
But I could not find any info in the AVS+ docs about the current TimeStretch version. And the DLL itself does not have any embedded version info.
https://github.com/pinterf/AviSynthP...uch/whence.txt
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 18th March 2019, 13:51   #4592  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 5,475
Thanks Groucho2004, I can't remember where I read the Avs+ SoundTouch version but seems my memory still work a little.
__________________
BeHappy, AviSynth audio transcoder, in Doom9 forums. NicAudio, BassAudio, audio decoders.
tebasuna51 is offline   Reply With Quote
Old 18th March 2019, 14:31   #4593  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 2,439
ColorMatrix and alternatives under AVS+ MT

After many more tests using my Thinkpad Core i5 3rd generation (2 physical cores plus Hyperthreading) I think I know quite well what's going on here:

The good old tritical Colormatrix works well without crashes using the modifications suggested by almosely:
https://forum.doom9.org/showthread.p...79#post1865279

Colormatrix followed by RequestLinear, both in MT_SERIALIZED mode. I could not detect any artifacts of the kind described by PDR.

z_ConvertFormat uses MT_MULTI_INSTANCE through the SetMTMode.avsi (this is also the AVS+ default, no need to explicitly specify it). This might work for the z_Resizers, but if the matrix parameters are used, the script will crash. It needs MT_SERIALIZED for the matrix params.

For the HDRMatrix plugin the SetMTMode.avsi calls for MT_NICE_FILTER. This causes a crash immediately after starting the conversion. Specifying MT_MULTI_INSTANCE runs stable, but at a very low speed.

For me the old ColorMatrix plugin is the best so far. It is faster than the competition, and I did not detect any quality issues so far.

(I did not test DitherTools as suggested by Groucho. Way too complicated for me...)

Cheers
manolito

Last edited by manolito; 18th March 2019 at 14:38.
manolito is offline   Reply With Quote
Old 18th March 2019, 14:34   #4594  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,109
Quote:
Originally Posted by Groucho2004 View Post
Changed
I've updated SoundTouch with current git version (2.1.3) (today's achievement, exists only on my git, not released)

Last edited by pinterf; 18th March 2019 at 14:38.
pinterf is offline   Reply With Quote
Old 19th March 2019, 19:01   #4595  |  Link
GhostAFRippEr
FoReVeR MoViE
 
GhostAFRippEr's Avatar
 
Join Date: Feb 2008
Location: Port
Posts: 18
i have not activeted MT how to i add .avs script ?
GhostAFRippEr is offline   Reply With Quote
Old 19th March 2019, 19:12   #4596  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,790
How to use multi-threading in AviSynth+?

Read: Avisynth Wiki – AviSynth+: 3. MT Notes
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 22nd March 2019, 00:09   #4597  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,006
It's been quite a while since the last time we tried this, so here's a GCC build of AviSynth+:
AviSynth+ (GCC) r2831-g316b54aa-20190321

And a corresponding pair of FFmpeg and mpv builds that include builds capable of handling otherwise-difficult 32-bit GCC builds of AviSynth+:
FFmpeg r93433+7
mpv r46865+11

Unlike the previous GCC build of AviSynth+, it now will not interfere with your existing plugin folders. There is a separate registry entry and plugin folder path GCC builds look for, plugins+gcc. Examples below - change the path accordingly for where AviSynth+ is installed, but the point is that the plugins folder for GCC builds of AviSynth+ should be separate from the folder(s) for normal MSVC builds.

64-bit:
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
@="E:\\Programs\\AviSynth+"
"plugindir2_5"="E:\\Programs\\AviSynth+\\plugins64"
"plugindir+"="E:\\Programs\\AviSynth+\\plugins64+"
"plugin+gcc"="E:\\Programs\\AviSynth+\\plugins64_gcc"
32-bit:
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
@="E:\\Programs\\AviSynth+"
"plugindir2_5"="E:\\Programs\\AviSynth+\\plugins"
"plugindir+"="E:\\Programs\\AviSynth+\\plugins+"
"plugindir+gcc"="E:\\Programs\\AviSynth+\\plugins_gcc"
C-plugins should work with the GCC builds (the FFMS2 C-plugin definitely works). C++ plugins will not (excepting possibly if they were built with g++, but I've not tried this yet).

For those not wanting duplicate copies of FFMS2-C floating around, symbolic links should work fine.

Last edited by qyot27; 22nd March 2019 at 11:17.
qyot27 is offline   Reply With Quote
Old 23rd March 2019, 00:56   #4598  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 1,650
Help please - I'm trying to track down a bug but my lack of understanding of smart pointers is causing me a headache. The bug occurs if I use the following code in GetFrame:

Code:
	PVideoFrame tmp = child2->GetFrame(n, env);
	PVideoFrame src = child->GetFrame(n, env);

        return src
In the constructor, the filter does something along these lines:

Code:
        if ([condition]) child2 = env->Invoke(...); else child2 = child;
So child2 may, or may not, be the same clip (literally the same pointer) as child. When they are the same, I get unexpected behaviour, so I'm guessing there is something bad about calling GetFrame twice on the same clip.

So my question: is straight copying of a PClip like this an unambiguously wrong thing to do (I'm guessing it is), and if so, what's the correct thing to do?
__________________
My AviSynth filters / I'm the Doctor

Last edited by wonkey_monkey; 23rd March 2019 at 01:11.
wonkey_monkey is offline   Reply With Quote
Old 23rd March 2019, 10:39   #4599  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,109
There is nothing wrong with copying PClips. In the above example, is tmp unused deliberately?
pinterf is offline   Reply With Quote
Old 23rd March 2019, 10:53   #4600  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 1,661
Is there MT mode used ? In that case, maybe affecting child2 in constructor is not compatible with MT_NICE ?
__________________
My github.
jpsdr is offline   Reply With Quote
Reply

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 07:54.


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