Why not register?
Author |
Message |
gigantibyte
|
Posted: Wed Jan 30, 2008 9:38 pm Post subject: Calling all AviSynth experts |
|
Blood Sucking Freak Joined: Sat Dec 09, 2006 4:24 am Posts: 221 Location: Ninth circle of Hell
|
I gave elguaxo at SBiG a sample of my latest project and look at what he was able to do:
Screenshots - Original vs. Filtered:
The problem is I cannot recreate it. Here is the code that was used:
Code: | Import("D:\AviSynth 2.5\plugins\SeeSaw.avs") Import("D:\AviSynth 2.5\plugins\LimitedSharpenFaster.avs") Import("D:\AviSynth 2.5\plugins\RemoveNoiseMC.avs") Import("D:\AviSynth 2.5\plugins\mq_filter.avs")
DGDecode_mpeg2source("H:\videos\samples\gigantibyte\Gor-sample.d2v",info=3) ColorMatrix(hints=true, interlaced=true)
tfm(pp=7).tdecimate()
crop( 6, 64, -8, -72) Spline36Resize(704,384)
mq_filter() |
I have carefully recreated every avs file, and installed all the plugins needed. I even got a copy of elguaxo's plugin directory, used the same version of DGIndex.
However, when I try the above code in VirtualDubMod I get:
I am confident the code in RemoveNoiseMC.avs is valid, because many others have used it. I seem to be the first to report this problem (lucky me).
If I can get this working on my PC, it will undoubtedly make all future releases by me look great too! (This project is also the reason I haven't posted anything new in the last couple of days. I'm stuck!)
Reference links:
http://bad-good.org/phpBB2/viewtopic.php?p=91766#91766
http://forum.doom9.org/showthread.php?p ... ost1094267
|
|
Top |
|
|
elchupacabra
|
Posted: Wed Jan 30, 2008 10:47 pm Post subject: |
|
The Ancient One Joined: Sat Oct 20, 2007 10:31 am Posts: 3603
|
Could you post the code of these AVS files?
Are you using the same version of Avisynth as elguaxo?
|
|
Top |
|
|
gigantibyte
|
Posted: Thu Jan 31, 2008 1:20 am Post subject: |
|
Blood Sucking Freak Joined: Sat Dec 09, 2006 4:24 am Posts: 221 Location: Ninth circle of Hell
|
RemoveNoiseMC.avs:
Code: | function RemoveTempGrain(clip input, int _mode) { rg = RemoveGrain(input, mode=_mode) return TemporalRepair(rg, input) }
function RemoveDirt(clip input, int limit, int rgrain, bool "_grey") { _grey = default(_grey, false) _dgr1 = 0.35+rgrain*0.3 _dgr2 = 0.45+rgrain*0.4 repmode = 1 clensed = Clense(input, grey=_grey, cache=4) restore = input.FluxSmoothST(3+3*rgrain,rgrain) restore = Repair(restore, input, mode=repmode, modeU= _grey ? -1 : repmode) restore = rgrain==0 ? restore.RemoveGrain(1) : \ restore.VagueDenoiser(threshold=_dgr1, chromaT=_dgr1, nsteps=7, percent=75).RemoveGrain(1) alt = input.VagueDenoiser(threshold=_dgr2, chromaT=_dgr2, nsteps=7, percent=100).RemoveGrain(5) return RestoreMotionBlocks(clensed, restore, neighbour=input, alternative=alt, pthreshold=4+2*rgrain, cthreshold=6+2*rgrain, gmthreshold=40, dist=1, dmode=2, debug=false, noise=limit, noisy=12, grey=_grey) }
global idx_c = 25
function RemoveNoiseMC(clip,int "rdlimit", int "rgrain", int "denoise", bool "sharp", float "csharpen", bool "_grey") { rdlimit = default(rdlimit,11) rgrain = default(rgrain,2) denoise = default(denoise,8) sharp = (rgrain<1>2) ? default(csharpen,0.17) : (rgrain>1) ? default(csharpen,0.15) : default(csharpen,0.13) csharpen = sharp ? csharpen : csharpen+0.08 _grey = default(_grey,false) _dgr = 0.45+rgrain*0.4 dummy = clip.BlankClip(length=0) global idx_c = idx_c+1 cbs = 8 cov = (cbs>4) ? cbs/4 : 0 ccf = cbs*cbs/64 cpn = (denoise>12) ? 50*ccf : (denoise>8) ? 58*ccf : (denoise>5) ? 66*ccf : 72*ccf csh = sharp ? 1 : 0 bvec2 = clip.MVAnalyse(isb=false, blksize=cbs, delta=2, pel=2, sharp=csh, overlap=cov, truemotion=true, pnew=cpn, idx=idx_c) bvec1 = clip.MVAnalyse(isb=false, blksize=cbs, delta=1, pel=2, sharp=csh, overlap=cov, truemotion=true, pnew=cpn, idx=idx_c) fvec1 = clip.MVAnalyse(isb=true, blksize=cbs, delta=1, pel=2, sharp=csh, overlap=cov, truemotion=true, pnew=cpn, idx=idx_c) fvec2 = clip.MVAnalyse(isb=true, blksize=cbs, delta=2, pel=2, sharp=csh, overlap=cov, truemotion=true, pnew=cpn, idx=idx_c) backw1 = rdlimit>13 ? \ rdlimit>20 ? \ clip.MVFlow(bvec1, idx=idx_c).Deblock(quant=22, aOffset=6, bOffset=6) : \ clip.MVFlow(bvec1, idx=idx_c).Deblock(quant=16, aOffset=4, bOffset=4) : \ clip.MVFlow(bvec1, idx=idx_c) forw1 = rdlimit>13 ? \ rdlimit>20 ? \ clip.MVFlow(fvec1, idx=idx_c).Deblock(quant=22, aOffset=6, bOffset=6) : \ clip.MVFlow(fvec1, idx=idx_c).Deblock(quant=16, aOffset=4, bOffset=4) : \ clip.MVFlow(fvec1, idx=idx_c) clp = interleave(backw1,clip,forw1) clp = clp.RemoveDirt(rdlimit,rgrain,_grey) dnc = denoise==0 ? clp.RemoveTempGrain(rgrain).SelectEvery(3,1) : dummy clp = clp.SelectEvery(3,1) dnc = denoise==0 ? dnc : \ clp.MVDenoise(bvec2, bvec1, fvec1, fvec2, thT=denoise, thSAD=190+15*denoise, thmv=40, thSCD1=230+5*denoise) vid_mo = dnc.VagueDenoiser(threshold=_dgr, chromaT=_dgr, nsteps=7, percent=75) vid_mo = rgrain==1 ? vid_mo.RemoveGrain(1) : vid_mo.RemoveGrain(5) dnc = dnc.ConditionalFilter(dnc, vid_mo, "(YDifferenceFromPrevious()+YDifferenceToNext())/AverageLuma()", "<", "0.3") clp = clp.SeeSaw(dnc, Sstr=csharpen, Szp=12, SdampHi=20, bias=40) return clp } |
mq_filter.avs: Code: | function mq_filter(clip c) { c=c.RemoveNoiseMC(rdlimit=10,rgrain=2,denoise=8) c=c.LimitedSharpenFaster(Smode=4,strength=20,overshoot=1,wide=false,ss_x=1.3,ss_y=1.3) return c } |
LimitedSharpenFaster.avs: (EDIT: DO NOT USE THIS CODE!!!! Read below.) Code: | # LimitedSharpen() ( a modded version, 29 Oct 2005 ) # # A multi-purpose sharpener by Didée # # # Changes in this mod: # # - RemoveGrain >= v0.9 IS REQUIRED!! # ================================== # # - Smode=4 / sometimes does the magic ;-) # - a separate "undershoot" parameter, to allow for some line darkening in comic or Anime # - Lmode=3 / on edges, limited sharpening with zero OS & US. On not-edges, limited sharpening with specified OS + LS # - "soft" acts different now: no more boolean true/false, but instead integer 0 - 100 (or -1 -> automatic) # instead of blurring before finding minima/maxima, it now softens the "effect-of-sharpening" # - edgemode=-1 now shows the edgemask. (scaling still not implemented :p ) # ## - MODIFIED version using MaskTools 2.0 and dedicated support plugin LimitedSupport
function LimitedSharpenFaster( clip clp, \ float "ss_x", float "ss_y", \ int "dest_x", int "dest_y", \ int "Smode" , int "strength", int "radius", \ int "Lmode", bool "wide", int "overshoot", int "undershoot", \ int "soft", int "edgemode", bool "special", \ int "exborder" ) { ox = clp.width oy = clp.height
Smode = default( Smode, 3 ) ss_x = (Smode==4) \ ? default( ss_x, 1.25) \ : default( ss_x, 1.5 ) ss_y = (Smode==4) \ ? default( ss_y, 1.25) \ : default( ss_y, 1.5 ) dest_x = default( dest_x, ox ) dest_y = default( dest_y, oy ) strength = (Smode==1) \ ? default( strength, 160 ) \ : default( strength, 100 ) strength = (Smode==2&&strength>100) ? 100 : strength radius = default( radius, 2 ) Lmode = default( Lmode, 1 ) wide = default( wide, false ) overshoot = default( overshoot, 1) undershoot= default( undershoot, overshoot) softdec = default( soft, 0 ) soft = softdec!=-1 ? softdec : sqrt( (((ss_x+ss_y)/2.0-1.0)*100.0) ) * 10 soft = soft>100 ? 100 : soft edgemode = default( edgemode, 0 ) special = default( special, false ) exborder = default( exborder, 0) #radius = round( radius*(ss_x+ss_y)/2) # If it's you, Mug Funky - feel free to activate it again xxs=round(ox*ss_x/8)*8 yys=round(oy*ss_y/8)*8 smx=exborder==0?dest_x:round(dest_x/Exborder/4)*4 smy=exborder==0?dest_y:round(dest_y/Exborder/4)*4
clp.isYV12() ? clp : clp.converttoyv12()
ss_x != 1.0 || ss_y != 1.0 ? last.lanczosresize(xxs,yys) : last tmp = last
edge = mt_logic( tmp.mt_edge(thY1=0,thY2=255,"8 16 8 0 0 0 -8 -16 -8 4") \ ,tmp.mt_edge(thY1=0,thY2=255,"8 0 -8 16 0 -16 8 0 -8 4") \ ,"max") .mt_lut("x 128 / 0.86 ^ 255 *") #.levels(0,0.86,128,0,255,false)
tmpsoft = tmp.removegrain(11,-1) dark_limit1 = tmp.mt_inpand() bright_limit1 = tmp.mt_expand() dark_limit = (wide==false) ? dark_limit1 : dark_limit1 .removegrain(20,-1).mt_inpand() bright_limit = (wide==false) ? bright_limit1 : bright_limit1.removegrain(20,-1).mt_expand() minmaxavg = special==false \ ? SimpleAverage(dark_limit1, bright_limit1) \ : mt_merge(dark_limit,bright_limit,tmp.removegrain(11,-1),Y=3,U=-128,V=-128)
Str=string(float(strength)/100.0) normsharp = Smode==1 ? unsharpmask(strength,radius,0) \ : Smode==2 ? sharpen(float(strength)/100.0) \ : Smode==3 ? mt_lutxy(tmp,minmaxavg,yexpr="x x y - "+Str+" * +") \ : mt_lutxy(tmp,tmpsoft,"x y == x x x y - abs 16 / 1 2 / ^ 16 * "+Str+ \ " * x y - 2 ^ x y - 2 ^ "+Str+" 100 * 25 / + / * x y - x y - abs / * + ?")
OS = string(overshoot) US = string(undershoot) mt_lutxy( bright_limit, normsharp, yexpr="y x "+OS+" + <y> y x x y - "+US+" - 1 2 / ^ - "+US+" - ?")
Lmode==1 ? clamp(normsharp, bright_limit, dark_limit, overshoot, undershoot) : last normal = last zero = clamp(normsharp, bright_limit, dark_limit, 0,0)
Lmode==3 ? mt_merge(normal,zero,edge.mt_inflate()) : normal
edgemode==0 ? last \ : edgemode==1 ? mt_merge(tmp,last,edge.mt_inflate().mt_inflate().removegrain(11,-1),Y=3,U=1,V=1) \ : mt_merge(last,tmp,edge.mt_inflate().mt_inflate().removegrain(11,-1),Y=3,U=1,V=1)
AMNT = string(soft) AMNT2 = string(100-soft) sharpdiff=mt_lutxy(tmp,last,"x y - 128 +") sharpdiff2=mt_lutxy(sharpdiff,sharpdiff.removegrain(19,-1), \ "x 128 - abs y 128 - abs > y "+AMNT+" * x "+AMNT2+" * + 100 / x ?")
soft==0 ? last : mt_lutxy(tmp,sharpdiff2,"x y 128 - -") (ss_x != 1.0 || ss_y != 1.0) \ || (dest_x != ox || dest_y != oy) ? lanczosresize(dest_x,dest_y) : last
ex=blankclip(last,width=smx,height=smy,color=$FFFFFF).addborders(2,2,2,2).coloryuv(levels="TV->PC") \.blur(1.3).mt_inpand().blur(1.3).bicubicresize(dest_x,dest_y,1.0,.0) tmp = clp.lanczosresize(dest_x,dest_y)
clp.isYV12() ? ( exborder==0 ? tmp.mergeluma(last) \ : mt_merge(tmp,last,ex,Y=3,U=1,V=1) ) \ : ( exborder==0 ? tmp.mergeluma(last.converttoyuy2()) \ : tmp.mergeluma( mt_merge(tmp.converttoyv12(),last,ex,Y=3,U=1,V=1) \ .converttoyuy2()) ) (edgemode!= -1) ? last : edge.lanczosresize(dest_x,dest_y).greyscale
return last } |
SeeSaw.avs: Code: | # SeeSaw v0.3e (02 Jan 2006) # # (Full Name: "Denoiser-and-Sharpener-are-riding-the-SeeSaw" ) # # This function provides a (simple) implementation of the "crystality sharpen" principle. # In conjunction with a user-specified denoised clip, the aim is to enhance # weak detail, hopefully without oversharpening or creating jaggies on strong # detail, and produce a result that is temporally stable without detail shimmering, # while keeping everything within reasonable bitrate requirements. # This is done by intermixing source, denoised source and a modified sharpening process, # in a seesaw-like manner. # # This version is considered alpha. # # Usage: # # a = TheNoisySource # b = a.YourPreferredDenoising() # SeeSaw( a, b, [parameters] ) # # You're very much encouraged to feed your own custom denoised clip into SeeSaw. # If the "denoised" clip parameter is omitted, a simple "spatial pressdown" filter is used. # # # Fiddled together by Didée, for your pleasure. #
# ======= Main function =======
function SeeSaw( clip clp, clip "denoised", \ int "NRlimit",int "NRlimit2", \ float "Sstr", int "Slimit", float "Spower", float "SdampLo", float "SdampHi", float "Szp", \ float "bias", int "Smode", int "sootheT", int "sootheS", float "ssx", float "ssy") { ssx = default( ssx, 1.0 ) # supersampling factor x / SeeSaw doesn't require supersampling urgently. ssy = default( ssy, ssx ) # supersampling factor y / if at all, small values ~1.25 seem to be enough. NRlimit = default( NRlimit, 2 ) # absolute limit for pixel change by denoising NRlimit2 = default( NRlimit2, NRlimit+1) # limit for intermediate denoising Sstr = default( Sstr, 1.5 ) # Sharpening strength (don't touch this too much) Slimit = default( Slimit, NRlimit+2 ) # positive: absolute limit for pixel change by sharpening # negative: pixel's sharpening difference is reduced to diff=pow(diff,1/abs(limit)) Spower = default( Spower, 4 ) # exponent for modified sharpener Szp = default( Szp, 16+2 ) # zero point - below: overdrive sharpening - above: reduced sharpening SdampLo = default( SdampLo, Spower+1 ) # reduces overdrive sharpening for very small changes SdampHi = default( SdampHi, 24 ) # further reduces sharpening for big sharpening changes. Try 15~30. "0" disables. bias = default( bias, 49 ) # bias towards detail ( >= 50 ) , or towards calm result ( < 50 ) Smode = default( Smode, ssx<1.35 ? 11 : ssx<1>=0 ? yv12lutxy(last,sharpdiff,"y 128 "+SLIM+" + > x "+SLIM+" - y 128 "+SLIM+" - < x "+SLIM+" + x y 128 - - ? ?",U=2,V=2) \ : yv12lutxy(last,sharpdiff,"y 128 = x x y 128 - abs 1 "+SlIM+" / ^ y 128 - y 128 - abs / * - ?",U=2,V=2)
return( last ) }
# ======= Modified sharpening function =======
function sharpen2(clip clp, float strength, int power, float zp, float lodmp, float hidmp, int rgmode) { STR = string( strength ) PWR = string( 1.0/float(power) ) ZRP = string( ZP ) DMP = string( lodmp ) HDMP = (hidmp==0) ? "1" : "1 x y - abs "+string(hidmp)+" / 4 ^ +"
yv12lutxy( clp, clp.RemoveGrain(rgmode,-1,-1), \ "x y = x x x y - abs "+ZRP+" / "+PWR+" ^ "+ZRP+" * "+STR+" * x y - 2 ^ x y - 2 ^ "+DMP+" + / * x y - x y - abs / * "+HDMP+" / + ?",U=2,V=2) return( last ) }
# ======= Soothe() function to stabilze sharpening =======
function Soothe(clip sharp, clip orig, int "sootheT", int "sootheS") { sootheT = default(sootheT, 25 ) sootheS = default(sootheS, 0 ) sootheT = (sootheT > 100) ? 100 : (sootheT <100> 100) ? 100 : (sootheS <0> -1) ? last \ : yv12lutxy( last, last.temporalsoften(1,255,0,32,2), \ "x 128 - y 128 - * 0 <x> x "+ST+" * y 100 "+ST+" - * + 100 / x ? ?", U=1,V=1)
yv12lutxy(orig,last,"x y 128 - -","x y 128 - -","x y 128 - -",U=1,V=1) # mergechroma(sharp) # not needed in SeeSaw return( last ) }
# ======= MOD4-and-atleast-16 helper function =======
function m4(float x) {x<16?16:int(round(x/4.0)*4)} |
Last edited by gigantibyte on Thu Jan 31, 2008 4:16 am, edited 2 times in total.
|
|
Top |
|
|
gigantibyte
|
Posted: Thu Jan 31, 2008 1:41 am Post subject: |
|
Blood Sucking Freak Joined: Sat Dec 09, 2006 4:24 am Posts: 221 Location: Ninth circle of Hell
|
I far as I can tell we are both using the latest stable build - 2.57.
|
|
Top |
|
|
gigantibyte
|
Posted: Thu Jan 31, 2008 4:12 am Post subject: |
|
Blood Sucking Freak Joined: Sat Dec 09, 2006 4:24 am Posts: 221 Location: Ninth circle of Hell
|
|
Top |
|
|
RedVeil
|
Posted: Thu Jan 31, 2008 7:30 am Post subject: |
|
The Devil, Probably Joined: Fri Oct 26, 2007 3:40 pm Posts: 2250 Location: Inside my body.
|
Yup, this is something you can only understand when you have scripting and programming experience.
The avisynth scripts look a bit like java-scripts IMO.
So in line 30 of your OLD "RemoveNoiseMC.avs" file there was a ternary operator ( x ? y : z ).
Quote: | csharpen = sharp ? csharpen : csharpen+0.08 |
It looks like the one who created the script has done something wrong. The variable named "sharp" is not evaluated to result in a boolean (true or false value). A valid expression for example would have been: Quote: | csharpen = sharp>1 ? csharpen : csharpen+0.08 |
Explanation: sharp>1 is an equation that can only return true or false, meaning it will result in a boolean value.
Hope that helps you to understand what went wrong.
_________________ Keep downloaded files shared as long as possible! You wouldn't be able to download without people sharing the stuff.
Next release will be: La Cité Des Entfants Perdu (1995) + Making Of (Status: working on the subtitles) Last release was: Svengali (1931)
|
|
Top |
|
|
elguaxo
|
Posted: Thu Jan 31, 2008 12:19 pm Post subject: |
|
Master Of The Dead Donkey Joined: Mon Jun 19, 2006 4:01 pm Posts: 708
|
RedVeil wrote: | Quote: | csharpen = sharp ? csharpen : csharpen+0.08 |
It looks like the one who created the script has done something wrong. |
The syntax of that line is correct.
|
|
Top |
|
|
elchupacabra
|
Posted: Thu Jan 31, 2008 12:43 pm Post subject: |
|
The Ancient One Joined: Sat Oct 20, 2007 10:31 am Posts: 3603
|
Agreed. The line is correct and sharp is declared as bool in the prototype.
Since the error is in "RemoveNoiseMC.avs" (which line is line 30 btw.?) and LimitedSharpenFaster() doesn't calls RemoveNoiseMC() the replacement of "RemoveNoiseMC.avs" probably solved the problem.
|
|
Top |
|
|
gigantibyte
|
Posted: Thu Jan 31, 2008 3:36 pm Post subject: |
|
Blood Sucking Freak Joined: Sat Dec 09, 2006 4:24 am Posts: 221 Location: Ninth circle of Hell
|
Using the RemoveNoiseMC.avs provided by ^Rogue^ did solve my problem, but it doesn't explain why the other version works for elguaxo and not me.
Anyhow, now I'm working on my next problem dealing with comptests and presets. *sigh* (I feel like Homer when he tried to build a barbeque pit - "Why must everything in life be so hard?")
|
|
Top |
|
|
elchupacabra
|
Posted: Thu Jan 31, 2008 6:33 pm Post subject: |
|
The Ancient One Joined: Sat Oct 20, 2007 10:31 am Posts: 3603
|
I think the error is in this line of RemoveNoiseMC.avs:
Code: | sharp = (rgrain<1>2) ? default(csharpen,0.17) : (rgrain>1) ? default(csharpen,0.15) : default(csharpen,0.13) |
In the other file that works for you it looks like this: Code: | csharp = (rgrain>1) ? (rgrain>2) ? default(csharp,0.31) : default(csharp,0.28) : default(csharp,0.25) |
I'm not familiar with the Syntax of Avisynth but "rgrain<1>2" is no valid expression in any programming language I'm aware of.
|
|
Top |
|
|
gigantibyte
|
Posted: Thu Jan 31, 2008 7:00 pm Post subject: |
|
Blood Sucking Freak Joined: Sat Dec 09, 2006 4:24 am Posts: 221 Location: Ninth circle of Hell
|
I was wondering what "rgrain<1>2" meant. Of course, I was wondering what a lot of the other code meant too.
Running a Comptest now. It's taking longer than a full encode with AutoGK - 3.36 fps. It almost seems to stall sometimes...zzzzzzz
|
|
Top |
|
|
BadBugs
|
Posted: Thu Jan 31, 2008 10:44 pm Post subject: |
|
The Ancient One Joined: Fri Jan 19, 2007 2:49 am Posts: 2624 Location: Chernobyl
|
gigantibyte wrote: | Running a Comptest now. It's taking longer than a full encode with AutoGK - 3.36 fps. It almost seems to stall sometimes...zzzzzzz |
Did you add a bit to the script to run 5% of the video as a comptest?
I ask because I remember forgetting to do that once & after asking Lux & elguaxo 30 odd hours later it became apparent that was what the problem was
|
|
Top |
|
|
gigantibyte
|
Posted: Thu Jan 31, 2008 11:13 pm Post subject: |
|
Blood Sucking Freak Joined: Sat Dec 09, 2006 4:24 am Posts: 221 Location: Ninth circle of Hell
|
Oh man, it's worse than I thought. What I thought was the first pass of the comptest was actually just a mini comptest before the real one. I'm only half way through the first pass currently - 6 hours from starting. By the number of frames used in the test, I'm thinking this is a 10% test.
Code: | "Checking Source...." Streaming frame 0 (of 1, 0.00%) 1 'C:\AviSynth' is not recognized as an internal or external command, operable program or batch file.
start "3% Compressibility Test - Single Pass" /b /wait /belownormal "C:\AviSynth 2.5\avs2qxvid\bin\xvid_encraw_20070203.exe" -zones 0,w,1,KO -threads 2 -progre ss 100 -max_key_interval 240 -nopacked -quality 4 -vhqmode 0 -max_bframes 2 -bqu ant_ratio 162 -bquant_offset 0 -qtype 1 -qmatrix "C:\AviSynth 2.5\avs2qxvid\matr ix\Didees-SixOfNine.cqm" -nochromame -turbo -single -cq 3 -stats "C:\temp\gorr\t mp\Gor.ct.stats" -type 2 -i "C:\temp\gorr\Gor.ct.avs" -avi "C:\temp\gorr\Gor.ct. avi"
xvid_encraw - raw mpeg4 bitstream encoder written by Christoph Lampert 2002-2003
xvid [info]: outputting statistics to C:\temp\gorr\tmp\Gor.ct.stats Trying to retrieve width and height from input header xvid [info]: Avisynth detected xvid [info]: Input colorspace is YV12 xvid [info]: Input is 704 x 384, 23.976fps (24000/1001), starting from frame 0 xvid [info]: Number of frames to encode: 4102 xvid [info]: xvidcore build version: xvid-1.2.0-dev xvid [info]: Bitstream version: 1.2.-127 xvid [info]: Detected CPU flags: ASM MMX MMXEXT SSE SSE2 TSC xvid [info]: Detected cpus = 2, threads requested = 2, threads in use = 2 4101 frames( 99%) encoded, 2.46 fps, Average Bitrate = 2214kbps Tot: enctime(ms) =1668919.00, length(bytes) = 47385158 Avg: enctime(ms) = 406.66, fps = 2.46, length(bytes) = 11546, psnr y = 4 5.86, psnr u = 50.14, psnr v = 50.31 I frames: 220 frames, size = 33492/ 7368359, quants = 3 / 3.00 / 3 P frames: 1660 frames, size = 16747/ 27801509, quants = 3 / 3.00 / 3 B frames: 2222 frames, size = 5497/ 12215290, quants = 4 / 4.00 / 4
Source FPS = 24000/1001 No. of frames for CT = 2344 Size of selected frames = 23273133 Target Bitrate = 972kbps Compressibility Test = 51 Selected Level = 45
Preset to use = TGHQ-45
start "TGHQ-45 - Pass 1/2" /b /wait /belownormal "C:\AviSynth 2.5\avs2qxvid\bin\ xvid_encraw_20070203.exe" -zones 0,q,3,KO -threads 2 -progress 100 -max_key_inte rval 240 -nopacked -quality 5 -vhqmode 1 -max_bframes 2 -bquant_ratio 162 -bquan t_offset 0 -qtype 1 -qmatrix "C:\AviSynth 2.5\avs2qxvid\matrix\eqm_v3hr_rev1.xcm " -nochromame -turbo -bitrate 972 -pass1 "C:\temp\gorr\tmp\Gor.pass" -type 2 -i "C:\temp\gorr\Gor.avs"
xvid_encraw - raw mpeg4 bitstream encoder written by Christoph Lampert 2002-2003
Trying to retrieve width and height from input header xvid [info]: Avisynth detected xvid [info]: Input colorspace is YV12 xvid [info]: Input is 704 x 384, 23.976fps (24000/1001), starting from frame 0 xvid [info]: Number of frames to encode: 136417, Bitrate = 972kbps xvid [info]: xvidcore build version: xvid-1.2.0-dev xvid [info]: Bitstream version: 1.2.-127 xvid [info]: Detected CPU flags: ASM MMX MMXEXT SSE SSE2 TSC xvid [info]: Detected cpus = 2, threads requested = 2, threads in use = 2 72601 frames( 53%) encoded, 3.43 fps, Average Bitrate = 1304kbps
|
Here's what I don't understand. Yesterday, I ran a 1 minute clip of this movie with the same filtering through GK. The encoding took 14 minutes for the two passes. So for a 90 minute movie x 14 = 1260 min / 60 = 21 hours. 10% = 2.1 hours. Why is this comptest taking so long?
Last edited by gigantibyte on Thu Jan 31, 2008 11:25 pm, edited 1 time in total.
|
|
Top |
|
|
BadBugs
|
Posted: Thu Jan 31, 2008 11:19 pm Post subject: |
|
The Ancient One Joined: Fri Jan 19, 2007 2:49 am Posts: 2624 Location: Chernobyl
|
Quote: | start "3% Compressibility Test - Single Pass" |
Looks like youre actually comp testing a two pass full rip like I mentioned above
I honestly cant even remember the code to add to your script as its been ages since I ripped anything, but I'm sure if you ask on SBIG they will tell you immediately
_________________
|
|
Top |
|
|
ViSCeRaL
|
Posted: Fri Feb 01, 2008 1:02 am Post subject: |
|
The Devil, Probably Joined: Thu Jul 24, 2003 10:13 am Posts: 2029 Location: The Slab
|
gigantibyte wrote: | Why is this comptest taking so long? |
Have you missed out the line:
SelectRangeEvery(280,14)
from the avs? Otherwise you're doing a two-pass 100% comptest.
(Which is basically what bugs has asked you twice )
|
|
Top |
|
|
gigantibyte
|
Posted: Fri Feb 01, 2008 2:18 am Post subject: |
|
Blood Sucking Freak Joined: Sat Dec 09, 2006 4:24 am Posts: 221 Location: Ninth circle of Hell
|
I forgot to make the proper enc.txt file. Lux didn't mention anything to me about SelectRangeEvery(280,14). Do I put that at the end of my main avs file?
Edit:
It was just because I hadn't created a proper enc.txt file. The comp test ran fine this time.
|
|
Top |
|
|
gigantibyte
|
Posted: Sun Feb 03, 2008 7:06 pm Post subject: |
|
Blood Sucking Freak Joined: Sat Dec 09, 2006 4:24 am Posts: 221 Location: Ninth circle of Hell
|
How does this look?
source
filtered
.avs
Code: | Import("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\SeeSaw\Seesaw.avs") Import("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\LimitedSharpenFaster.avs")
DGDecode_mpeg2source("C:\temp\griz\gsample.d2v",info=3) ColorMatrix(hints=true, interlaced=true)
tfm(pp=7).tdecimate()
crop( 4, 62, -6, -64)
Spline36Resize(704,384)
#Filtering a= last b=a.LimitedSharpenFaster(Smode=4,strength=20,overshoot=1,wide=false,ss_x=1.3,ss_y=1.3) SeeSaw(a,b, NRlimit=2, NRlimit2=4, Sstr=1.5, Slimit=6, Spower=6, Sdamplo=12, Szp=16) |
|
|
Top |
|
|
RedVeil
|
Posted: Sun Feb 03, 2008 7:28 pm Post subject: |
|
The Devil, Probably Joined: Fri Oct 26, 2007 3:40 pm Posts: 2250 Location: Inside my body.
|
|
Top |
|
|
gigantibyte
|
Posted: Sun Feb 03, 2008 8:06 pm Post subject: |
|
Blood Sucking Freak Joined: Sat Dec 09, 2006 4:24 am Posts: 221 Location: Ninth circle of Hell
|
I seem to be suffering from dark corners. I wonder if there is a filter for that? Or perhaps a better s-video cable? Only seems to happen on HD channels.
|
|
Top |
|
|
BadBugs
|
Posted: Sun Feb 03, 2008 8:17 pm Post subject: |
|
The Ancient One Joined: Fri Jan 19, 2007 2:49 am Posts: 2624 Location: Chernobyl
|
gigantibyte wrote: | I seem to be suffering from dark corners. I wonder if there is a filter for that? |
LoL Hasn't taken you long to move from AGK to GK perfectionist
|
|
Top |
|
|
Who is online |
Users browsing this forum: No registered users and 44 guests |
Moderator: Help Mods
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|