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
Register FAQ Calendar Today's Posts Search

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 14th April 2017, 09:02   #3241  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,783
Might be related to the image he loaded?
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline  
Old 14th April 2017, 21:45   #3242  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
Quote:
Originally Posted by bilditup1 View Post
Wow, thanks for quick reply. Looking fwd to fix. Unfortch I've just discovered that TDecimate does not work with MT enabled, whether using tritical's original TIVTC.dll or groucho2004's build. Works fine in r1858_pfmod, quits with "internal error during prebuffering!" in r2085, r2161, r2172.
and
Quote:
Originally Posted by real.finder View Post
I get error like this https://forum.doom9.org/showpost.php...postcount=2372

with TDecimate and MT, is this bug didn't fixed yet?
There are two different things.

The right-side error window in the first quote (from August, 2016) is showing very big numbers. That problem was fixed, it had the same reason as the garbage text error messages.

The second problem comes from TIVTC, now with proper numbers:
Code:
TDecimate:  internal error during pre-buffering (n1=19,n2=20,pos=0)
This error occurs in MT, when the two filters (TFM and TDecimate) are set to MT_MULTI and MT_SERIALIZED, respectively. I have copied these lines from the file containing MT modes for popular filters.
Code:
FFMS2("sample.m2v")
SetFilterMTMode("TFM",                  MT_MULTI_INSTANCE) #2 is faster. 1 crashes randomly.
SetFilterMTMode("TDecimate",            MT_SERIALIZED)     #1 gave error, 2 was slower than 3

TFM()
TDecimate()
Prefetch(8)
The internal error came in seconds. (I was using Prefetch(8))

When I have set the filter TDecimate to MT_MULTI_INSTANCE, the script has run without error.
Code:
SetFilterMTMode("TFM", MT_MULTI_INSTANCE)
SetFilterMTMode("TDecimate", MT_MULTI_INSTANCE)
I think this must be an internal bug of TIVTC, it is receiving the frames in some special order, that is not handled or checked properly and is different than other versions of Avisynth.

Anyway, in the last couple of weeks I was working on TIVTC x64 port (just because x64-less basic filters are annoying me). Hey, it's crazy, quite a lot of work. Hundreds of lines of magically optimized inline asm (really, really professional), but sometimes without any C equivalent. I am moving all asm stuff to simd intrinsics, write functions in SSE2 where only MMX or ISSE is implemented, replace non-vectorized inline asm with C code.
TFM and TDecimate is working already in YV12. There are still two longer asm-only sections in YUY2 that have to be reverse engineered and moved to C.

And found a bug (buffer overwrite) that occured with AVS+, since the code allocated a buffer assuming 16 byte alignment (Avs+ alignes frames and rows to 32 bytes)
pinterf is offline  
Old 15th April 2017, 08:31   #3243  |  Link
vcmohan
Registered User
 
Join Date: Jul 2003
Location: India
Posts: 890
Quote:
Originally Posted by pinterf View Post
What's the problem exactly? YUY2 looks identical to the other formats for me.
I get proper stacked images with YUY2 also if I comment out reduceby2() call. With reduceby2() call it looks all the stackhorizontal and stackvertical calls are bypassed and only converttoYUY2() result is output without even reducing image.. With YV24 it works OK.
__________________
mohan
my plugins are now hosted here
vcmohan is offline  
Old 15th April 2017, 09:20   #3244  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
Find a slightly older tivtc version if tou want c code for everything. That's what I did. Obviously the c code doesn't match the asm because real men don't test things.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline  
Old 15th April 2017, 09:49   #3245  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,666
Quote:
Originally Posted by Myrsloik View Post
Find a slightly older tivtc version if tou want c code for everything. That's what I did. Obviously the c code doesn't match the asm because real men don't test things.
You mentioned this a long time ago and IIRC that version is no longer publicly available. At least not from here: https://web.archive.org/web/20081017...25c/old_stuff/

Maybe this?
https://www.dropbox.com/s/35pzwufzw7...09110.zip?dl=1
Reel.Deel is offline  
Old 16th April 2017, 19:34   #3246  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
Why is isyuv() true for y16? Why? Whyyyyyyyyyyyyyy? Makes no sneeze!
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline  
Old 16th April 2017, 19:38   #3247  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
Haha. Y8 heritage. Compatibility
pinterf is offline  
Old 16th April 2017, 19:40   #3248  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Quote:
Makes no sneeze!
Perchance typo, "Makes no senze!" (or sense).
__________________
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  
Old 16th April 2017, 19:57   #3249  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,783
Surely on purpose; or blame the autocorrection. Bless you!

Looks like "IsYUV" mainly means "is not RGB".
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline  
Old 16th April 2017, 19:58   #3250  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
Can we have "isreallyyuv"?
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline  
Old 16th April 2017, 20:03   #3251  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,666
Not sure if this is a bug in avs+ or in shekh's VDub, or maybe I'm doing something wrong.

Using FFMS2000 test 3 to load this 16-bit png.

Code:
FFImageSource("IMG_4699-16bit.png", colorspace="RGBP16")
Info()
ConvertBits(8)
I get this error is VDub:
Quote:
Couldn't locate decompressor for format '8BPS' (unknown)

VirtualDub requires a Video for Windows (VFW) compatible codec to decompress video. DirectShow codecs, such as those used by Windows Media Player, are not suitable.
If I set FFimageSource to colorspace="RGBAP16" then there's no error message but I get a corrupted image: https://www.dropbox.com/s/d5dz4v6be3...utput.png?dl=1
Adding ConvertToRGB24/32 after ConvertBits(8) works without a problem.

Edit : added Enable_PlanarToPackedRGB = true to the beginning of the script, still the same problem.

Last edited by Reel.Deel; 16th April 2017 at 20:23.
Reel.Deel is offline  
Old 16th April 2017, 20:04   #3252  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,783
Quote:
Originally Posted by Myrsloik View Post
Can we have "isreallyyuv"?
So, like, ... mysql_real_escape_string() ?
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline  
Old 17th April 2017, 09:49   #3253  |  Link
shekh
Registered User
 
Join Date: Mar 2015
Posts: 775
@Reel.Deel

8BPS is not implemented in vd, correct response
corrupted image is maybe error in avisynth
working way: use ConvertToRGB64()
__________________
VirtualDub2
shekh is offline  
Old 17th April 2017, 13:11   #3254  |  Link
Yanak
Registered User
 
Join Date: Oct 2011
Posts: 275
Hello all,

Sorry to ask if it's a simple thing but i used to add a logo as overlay on my videos using this code :

AVISource("F:movie.avi", audio=false).AssumeFPS(60,1)
ConvertToYV12(interlaced=False)
logo=ImageSource("F:\logo.png")
Overlay(logo, x=3, y=2, opacity=0.45, mode="luma")


Now after updating to the last r2455 x64 avs+ ( had a version of avs+ from the last trimester of last year if i recall correctly ) i try this and i get an error message saying :
"filter error ; Attempted to request a planar frame that wasn't mod2 in height!"

My logo picture is 90x 55px, if i resize it to 90x 56px it works.

But i don't understand what have changed to not accept the logo picture as overlay if it is not resized now.

Thanks in advance.
Yanak is offline  
Old 17th April 2017, 14:49   #3255  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,783
In YV12, chrominance difference values (U and V in YUV) are valid for a square of 2x2 pixels. Therefore, all clips need to have even (multiple of 2) dimensions, both width and height.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline  
Old 17th April 2017, 15:16   #3256  |  Link
Yanak
Registered User
 
Join Date: Oct 2011
Posts: 275
Hello and thanks for the reply,

I guessed that now it needed to be a multiple of 2 for the overlay picture but was not sure why it worked before and not now.
Will keep this in mind for future uses and start to resize all logos i use or add transparent borders to png's so they get the proper sizes now.

Thank you


Also seems like i have an issue with something else, this used to work not so long ago :

AviSource("F:movie.avi", audio = false)
ConvertToYV12()
logo=ImageSource("F:\logo.png").Overlay(logo, x = 3, y=3, opacity=0.45, mode="luma")

Now if i leave the dot just before "Overlay" it returns me an error message " I don't know what 'logo' means "

I have now to leave a space instead of the dot to get it work :

logo=ImageSource("F:\logo.png") Overlay(logo, x = 3, y=3, opacity=0.45, mode="luma")

or of course like this in 2 lines :

logo=ImageSource("F:\logo.png")
Overlay(logo, x = 3, y=3, opacity=0.45, mode="luma")

But leaving all in one line with the dot between them doesn't seems to work anymore for the overlay command, still seems to works with other stuff like .Crop, .ChangeFPS, .Subtitle , all in a single line.

Thanks a lot for the help.
Yanak is offline  
Old 17th April 2017, 15:23   #3257  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
If you use the dot the logo variable is used in the overlay function before it was created so it makes sense that it don't work.
stax76 is offline  
Old 17th April 2017, 15:49   #3258  |  Link
Yanak
Registered User
 
Join Date: Oct 2011
Posts: 275
Thanks Stax,
i'm a bit lost now, will have one of those days to install an older PC backup i have and see how i managed to get this working in the past, probably missing or mixing up something on this.

Anyways the thing I'm sure about is the logo size never asked to be resized before, but got this fixed now so it isn't an issue anymore.

Thank a lot for the answers guys, really appreciate.
Yanak is offline  
Old 17th April 2017, 19:57   #3259  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Code:
AviSource("F:movie.avi", audio = false)
ConvertToYV24() # NOTE 24

# Fail, logo only asigned to AFTER whole line is processed, ie you try to use logo before assinging a value to it.
# logo=ImageSource("F:\logo.png").Overlay(logo, x = 3, y=3, opacity=0.45, mode="luma") 

logo=ImageSource("F:\logo.png") # Logo now exist, has been assigned to
Overlay(logo, x = 3, y=3, opacity=0.45, mode="luma") # OK logo exists

# SomeClip.SomeFilter().Crop() works because you are not referenceing a clip that does not yet exist, assuming SomeClip exists.
# Someclip is passed through SomeFilter and on to Crop.
I hope some of that makes sense, was in a hurry to catch my bus, I missed it.
__________________
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 April 2017 at 01:45.
StainlessS is offline  
Old 18th April 2017, 09:24   #3260  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
Quote:
Originally Posted by Myrsloik View Post
Can we have "isreallyyuv"?
IsYUV() && !IsY()

And i think that IsYUV is false for YUVA, don't know if it can bother you.

Last edited by jpsdr; 18th April 2017 at 09:27.
jpsdr is offline  
Closed Thread


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 21:32.


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