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 14th January 2018, 22:28   #3861  |  Link
kuchikirukia
Registered User
 
Join Date: Oct 2014
Posts: 385
I'm seeing some very strong halos using QTGMC 3.357 with Avisynth+ r2580-MT that's not in avs+ 2.6.0.5 or regular avs 2.6.
kuchikirukia is offline   Reply With Quote
Old 14th January 2018, 23:14   #3862  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 989
Quote:
Originally Posted by kuchikirukia View Post
I'm seeing some very strong halos using QTGMC 3.357 with Avisynth+ r2580-MT that's not in avs+ 2.6.0.5 or regular avs 2.6.
avs+ 2.6.0.5 ?
__________________
My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 15th January 2018, 00:16   #3863  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,376
On a hunch, try the latest MaskTools. (I've seen artifacts with 3.357 that seem to be gone now)
raffriff42 is offline   Reply With Quote
Old 16th January 2018, 01:27   #3864  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 989
Quote:
Originally Posted by real.finder View Post
since there are many plugins dll's that didn't port to x64 including the closed source plugins, is there some ways to make the 32 bit one work in 64 processes? I note this http://www.dllwrapper.com/ but couldn't build wrapped dll successfully, and even if I did, it will work one day only (need to buy it)
Quote:
Originally Posted by jinkazuya View Post
Then I guess you must encode 4k or 1080 bluray videos then. Is there a way for the 32bit plugins work with the x64 avisynth+? Or a way to make them backward compatible?
let's back to this, I note that squid_80 did build some close source plugins for x64 back then https://forum.doom9.org/showthread.p...81#post1104481

since there are some doom9 members that has Intel's compiler like Groucho2004, I think they can did build some too at least for many plugins that needed
__________________
My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 17th January 2018, 22:34   #3865  |  Link
Dion
Registered User
 
Join Date: Oct 2004
Posts: 58
Quote:
Originally Posted by kuchikirukia View Post
I'm seeing some very strong halos using QTGMC 3.357 with Avisynth+ r2580-MT that's not in avs+ 2.6.0.5 or regular avs 2.6.
Seeing this too.. Same plugins versions.
Dion is offline   Reply With Quote
Old 18th January 2018, 08:44   #3866  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,311
A screenshot and an AVSMeter report about available plugins may be helpful. Guessing without facts is so uncertain. Just imagine several plugins providing functions with the same name (like RemoveGrain + RGTools), and an older plugin being preferred over a newer one.
__________________

German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 18th January 2018, 14:40   #3867  |  Link
Aktan
Registered User
 
Join Date: Feb 2002
Posts: 295
Did StackHorizontal/StackVertical change in AVS+? Using this simple script, the shorter clip still continues for whatever reason:

Code:
left = AVISource("test1.avi", pixel_type="YUY2").trim(2000, 3000)
right = AVISource("test1.avi", pixel_type="YUY2").trim(3000, 3500)
StackHorizontal(left, right)
test1.avi is over 5000 frames long.
Aktan is offline   Reply With Quote
Old 18th January 2018, 16:21   #3868  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,311
AviSynth Wiki: Filters with multiple input clips

StackHorizontal, StackVertical: Framecount – longest clip: the last frame(s) of the shorter clip(s) are repeated until the end

Is it different for AviSynth+ that the shorter clip keeps playing, instead of freezing its last frame?
__________________

German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 18th January 2018, 18:38   #3869  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 935
Quote:
Originally Posted by LigH View Post
AviSynth Wiki: Filters with multiple input clips

StackHorizontal, StackVertical: Framecount – longest clip: the last frame(s) of the shorter clip(s) are repeated until the end

Is it different for AviSynth+ that the shorter clip keeps playing, instead of freezing its last frame?
left is 1000 frames, right is 500 frames long.
The resulting clip length is the maximum of the input clip lengths.
The question: what happens when in the above samples Trim(3000,3500) is requested with frame numbers over 500?

Trim (at least in Avs+) does not check the requested frame number, it passes over the task to its child filter:
https://github.com/pinterf/AviSynthP.../edit.cpp#L258

The question that this is a planned behaviour or not?
pinterf is offline   Reply With Quote
Old 18th January 2018, 18:43   #3870  |  Link
davidhorman
I'm the Doctor
 
Join Date: Jan 2004
Posts: 1,410
Quote:
The question that this is a planned behaviour or not?
I like it, whether it's planned or not. It's something I was thinking of suggesting, but is probably too niche and too open-ended a task to properly implement - for clips to keep track of their true starts and ends, so that you can untrim. It would make things like dissolves easier (for me, anyway) - just trim the to the right lengths, and dissolve will extend them as much as needed to keep the result the same length as a plain splice no matter what length dissolve is used.
__________________
My AviSynth filters / I'm the Doctor
davidhorman is offline   Reply With Quote
Old 19th January 2018, 00:24   #3871  |  Link
Aktan
Registered User
 
Join Date: Feb 2002
Posts: 295
Quote:
Originally Posted by LigH View Post
AviSynth Wiki: Filters with multiple input clips

StackHorizontal, StackVertical: Framecount – longest clip: the last frame(s) of the shorter clip(s) are repeated until the end

Is it different for AviSynth+ that the shorter clip keeps playing, instead of freezing its last frame?
Yep, this is what is happening. What is weird is, my friend got it that it will keep playing on the first StackHorizontal but the 2nd one will freeze the frame. In fact all StackHorizontals after his first one does freeze the frame. I have not figured out a simple script to show this behavior yet, but I'm working on it.

Last edited by Aktan; 19th January 2018 at 00:34.
Aktan is offline   Reply With Quote
Old 19th January 2018, 00:56   #3872  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,376
If you don't want repeating frames, you need to trim the resulting clip:
Code:
StackHorizontal(A, B, C)
Trim(0, Min(A.FrameCount, B.FrameCount, C.FrameCount))
raffriff42 is offline   Reply With Quote
Old 19th January 2018, 01:24   #3873  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 5,585
Quote:
Originally Posted by raffriff42 View Post
If you don't want repeating frames, you need to trim the resulting clip:
Code:
StackHorizontal(A, B, C)
Trim(0, Min(A.FrameCount, B.FrameCount, C.FrameCount))
Would this be better

Code:
StackHorizontal(A, B, C)
Trim(0, - Min(A.FrameCount, B.FrameCount, C.FrameCount))
#       ^
ie minus, meaning number of frames, rather than end at minimum end frame + 1
__________________
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 January 2018 at 01:28.
StainlessS is offline   Reply With Quote
Old 19th January 2018, 01:31   #3874  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,376
Yup, that would be better.
raffriff42 is offline   Reply With Quote
Old 19th January 2018, 01:48   #3875  |  Link
Aktan
Registered User
 
Join Date: Feb 2002
Posts: 295
Quote:
Originally Posted by raffriff42 View Post
If you don't want repeating frames, you need to trim the resulting clip:
Code:
StackHorizontal(A, B, C)
Trim(0, Min(A.FrameCount, B.FrameCount, C.FrameCount))
Thanks for your help, but what my friend and I want is actually to keep the longer length and freeze the shorter clip. You see, it helps in comparison videos. The workaround is to use FreezeFrame, but it be nice if we didn't need to use that.
Aktan is offline   Reply With Quote
Old 19th January 2018, 02:13   #3876  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 5,585
Yep, that is a bug, B not truncated. (ornamental trim EndFrame/Framecount/Length, leastwise when in stack)

Code:
A=Colorbars.KillAudio.Trim(0,-10).ShowFrameNumber   # 10 frames
B=A.Trim(0,-1)                                      # 1 Frame

StackHorizontal(A,B)                                # Comment one of these out
#Stackvertical(A,B)
EDIT: This gives an even more interesting result (Start trimmed but end not).
Code:
B=A.Trim(5,-1)                                      # 1 Frame
EDIT: Makes no difference if specifying End Frame (+ve end) or FrameCount (-ve end), or length (Length=n).

Quote:
Originally Posted by pinterf View Post
Trim (at least in Avs+) does not check the requested frame number, it passes over the task to its child filter:
In this case Trim() is the child/source filter that StackXXX expects to check for valid frames.
Current standard AVS method must remain the default, if changing as per DavidHorman, then would require additional
args to both StackXXX and trim, methinks (or passed by StackXXX to trim child).

EDIT: It always confused me as to why child clip is source to a filter, I'm assuming that child filter is also the source filter to current filter.
[It always seemed a bit more sensible to me if it were the other way around].

EDIT: OK, think I figured it out, child is the child of the previous filter, but to current filter it is the parent, or maybe not, who knows.
__________________
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 January 2018 at 14:00.
StainlessS is offline   Reply With Quote
Old 19th January 2018, 03:22   #3877  |  Link
Aktan
Registered User
 
Join Date: Feb 2002
Posts: 295
Here is something interesting, if you add Info() to the trim on B, it works fine:

Code:
A=Colorbars.KillAudio.Trim(0,-10).ShowFrameNumber   # 10 frames
B=A.Trim(0,-1).Info()                               # 1 Frame

StackHorizontal(A,B)                                # Comment one of these out
#Stackvertical(A,B)
Edit: Even replacing Info() with AddBorders(0,0,0,0) would fix it.

Last edited by Aktan; 19th January 2018 at 03:33. Reason: New information.
Aktan is offline   Reply With Quote
Old 19th January 2018, 03:35   #3878  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 5,585
Obviously, there Info is checking valid range for end frame [vi.num_frames], and doing Trim's job for it.

Trim must currently set vi.num_frames in its result clip, but then ignore it.
It always has to be the filter nearer to source that judges what range is valid, with ultimate responibilty being with the
source fliter itself (eg AviSource or Colorbars), but in this case trim assumes (or should assume) that resonsibility for all following
filters, quite a lot of filters (all of mine, unless bugged), check for valid frame as provided in vi.num_frames by its source
filter. If no filters check (and some dont) for valid frame, then source (eg AviSource) must do it for them, trim must take on that
role if added to filter chain, indeed, it is its raison d'ętre.

If some other functionality added, then probably best if a totally new filtername is chosen, DavidHormam_Trim(), or something
__________________
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 January 2018 at 03:58.
StainlessS is offline   Reply With Quote
Old 19th January 2018, 09:14   #3879  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 989
Quote:
Originally Posted by StainlessS View Post

If some other functionality added, then probably best if a totally new filtername is chosen, DavidHormam_Trim(), or something
Agreed, or even better, added new parameter in the last of parameters list with Default vale that not break old behavior
__________________
My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 19th January 2018, 10:06   #3880  |  Link
davidhorman
I'm the Doctor
 
Join Date: Jan 2004
Posts: 1,410
Quote:
Originally Posted by StainlessS View Post
If some other functionality added, then probably best if a totally new filtername is chosen, DavidHormam_Trim(), or something
That sounds like a fantastic idea. I also propose that davidhorman_trim(100,200) would return frames 100-199 (100 frames) just to confuse people even further.

(I do think it makes more sense but I'm not such an optimist that I'd expect it to change now)
__________________
My AviSynth filters / I'm the Doctor
davidhorman 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 03:16.


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