PDA

View Full Version : strange avisynth problem


Pen-Pen
29th April 2003, 10:15
hi

I'm using AviSynth 2.51 with VDubMod 1.4.13 (build 14328) and Koepi's XviD-05042003-1

I use AviSynth for filtering, and to insert images to replace some original ones... I created a AviSynth function to do that, and it seems to work quite well

here is the code :


function insertLogo(clip c, int beg, int end, string logo) {
video = (beg == 0) ? avisource("e:\Eva8\Episode25\avi\logo"+logo+".avi") : \
c.trim(0,beg-1)++avisource("e:\Eva8\Episode25\avi\logo"+logo+".avi")
video = (end == Framecount(c)) ? video : video++c.trim(end+1,0)
return video
}


of course, all the clips I want to insert ARE located in the right folder (e:\Eva8\Episode25\avi\)

everything works fine, until the last inserted clip

here is my whole script :


function insertLogo(clip c, int beg, int end, string logo) {
video = (beg == 0) ? avisource("e:\Eva8\Episode25\avi\logo"+logo+".avi") : \
c.trim(0,beg-1)++avisource("e:\Eva8\Episode25\avi\logo"+logo+".avi")
video = (end == Framecount(c)) ? video : video++c.trim(end+1,0)
return video
}

LoadPlugin("c:\Program Files\AviSynth 2.5\plugins\MPEG2DEC3.dll")
LoadPlugin("c:\Program Files\AviSynth 2.5\plugins\Decomb.dll")
LoadVFAPIPlugin("c:\Program Files\TMPGEnc\TMPGEnc.vfp", "TMPGEnc")
LoadPlugin("c:\Program Files\AviSynth 2.5\plugins\Dup.dll")
LoadPlugin("c:\Program Files\AviSynth 2.5\plugins\VSFilter.dll")
TMPGEnc("e:\Eva8\Episode25\ep25.tpr")
ConvertToYV12()
FlipVertical()
Telecide(chroma=true)
aWarpSharp()
deen("a3d",2,10,10)
Crop(4,4,702,468)
BicublinResize(512,384,0.5,0.5)
asharp(1,2)

insertLogo(0,39,"1")
insertLogo(40,80,"2")
insertLogo(81,122,"3")
insertLogo(148,194,"4")
insertLogo(232,279,"5")
insertLogo(321,362,"6")
insertLogo(439,487,"7")
insertLogo(488,523,"8")
insertLogo(580,613,"8.1")
insertLogo(653,684,"8.2")
insertLogo(707,732,"8.3")
insertLogo(795,829,"8.4")
insertLogo(893,925,"8.5")
insertLogo(995,1026,"9")
insertLogo(1099,1132,"9.1")
insertLogo(1615,1641,"10")
insertLogo(1675,1701,"10")
insertLogo(1727,1753,"10")
insertLogo(1771,1812,"10.1")
insertLogo(1843,1873,"10.2")
insertLogo(2645,2665,"11")
insertLogo(2715,2731,"12")
insertLogo(2837,2867,"13")
insertLogo(2890,2918,"13.1")
insertLogo(2935,2961,"13.2")
insertLogo(2989,3012,"13.3")
insertLogo(3026,3043,"13.4")
insertLogo(3057,3073,"13.5")
insertLogo(5009,5040,"14")
insertLogo(5114,5147,"15")
insertLogo(5247,5299,"16")
insertLogo(6648,6678,"17")
insertLogo(6679,6735,"18")
insertLogo(7511,7535,"19")
insertLogo(7594,7612,"19.1")
insertLogo(7706,7723,"19.2")
insertLogo(7774,7789,"20")
insertLogo(7807,7828,"20.1")
insertLogo(7936,7964,"21")
insertLogo(7965,8003,"22")
insertLogo(8130,8169,"23")
insertLogo(9715,9746,"24")
insertLogo(9934,9972,"25")
insertLogo(10231,10260,"26")
insertLogo(10439,10468,"27")
insertLogo(10773,10802,"28")
insertLogo(10843,10874,"28.1")
insertLogo(11970,11998,"29")
insertLogo(11999,12046,"30")
insertLogo(12047,12118,"31")
insertLogo(12175,12208,"32")
insertLogo(12687,12729,"33")
insertLogo(12730,12758,"34")
insertLogo(12759,12786,"35")
insertLogo(12787,12818,"36")
insertLogo(12819,12865,"37")
insertLogo(12866,12894,"38")
insertLogo(12895,12950,"39")
insertLogo(13536,13566,"40")
insertLogo(13567,13605,"41")
insertLogo(14176,14206,"42")
insertLogo(14260,14295,"43")
insertLogo(14827,14858,"44")
insertLogo(14917,14941,"45")
insertLogo(16229,16252,"46")
insertLogo(20609,20634,"47")
insertLogo(20677,20704,"47.1")
insertLogo(20765,20793,"48")
insertLogo(21751,21796,"49")
insertLogo(21797,21821,"50")
insertLogo(22082,22121,"51")
insertLogo(25353,25392,"49.1")
insertLogo(28131,28162,"52")
insertLogo(29412,29451,"53")
insertLogo(29452,29510,"54")

ColorYUV(levels="TV->PC")
limiter()
Dup(threshold=0.5,blend=true)
TextSub("e:\Eva8\Episode25\french.ssa")


when the last "insertLogo" is put as a comment, it works, when it's not, it doesn't : I get the error message


Couldn't locate decompressor for format YV12 (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.


DON'T FLAME, as I already mentioned, XViD dev build is installed and I did try reinstalling it ;)

so I thought, my function is ****, I didn't care well enough for the end frame particular case, let's just do some trimming and splicing

I replace


insertLogo(29452,29510,"54")


by


trim(0,29451)++avisource("e:\Eva8\Episode25\avi\logo54.avi")


and then I get the error message


AviSynth open failure
AVISource: couldn't locate a decompressor for fourcc xvid


anyone to understand THAT ?????

thanks ;)

(by the way, I also tried reinstalling AviSynth, it doesn't change anything ;))

Pen-Pen
29th April 2003, 10:18
forgot to mention something

my "logoX.avi" clips are encoded in XViD 1-pass Q1 (don't know if it matters, but who knows... ;))

sh0dan
29th April 2003, 11:26
You have most likely hit the limit in the number of codec instances possible. Windows has a fixed number of dll's it can load - this is probably why you are getting these strange errors.

The only current workaround is to split up your project, and process them separately.

Pen-Pen
29th April 2003, 16:54
yeah, after some testing, I was just going to post a new reply, saying the error messages I get were undeterministic :D

I'll try and split it, thanks ;)

JuanC
30th April 2003, 04:18
Originally posted by Pen-Pen

...
ColorYUV(levels="TV->PC")
limiter()
...
Not related to the main issue you're describing, but I think you could tweak colors in a better way. IIRC, Limiter() will "clip" values under 16 and above 235/240. for my TV/composite video captures, I usually have things like this in the scripts:


...
ColorYUV(levels="PC->TV")
tweak(Cont=1.2, Bright=-15)
limiter()
...

This way I think I won't clip (lose) as much video information.

jozef_hlavaty
13th August 2004, 07:59
Hi all great video freaks!

I'd like to ask, whether there is any way to increase the number of codec instances (as sh0dan wrote). I have the same problem as Pen-Pen and spliting (however working) is quite uncomfortable. I'd be pleased if maximum codec instances was about 150 instead of 82 default (if I'm not mistaken).

Thank you in advance and keep up good work!


Regards,

Jozef.