Seedmanc
30th January 2014, 20:29
I'm thinking about creating a general script for processing HDTV raws (which are usually in h264.ts). It would include denoising and deinterlacing + resize for the first part and probably some masked sharpening later.
However I'm struggling with the very first part, I'm barely getting 11.4 fps at my rig, consisting of Core i5 2550k OC'd to 4.4 GHz + 8 Gb RAM, running Win7 x64.
Could anybody please help me optimizing this script? I thought I tried all combinations of setmtmodes, but many of them lead to crashes.
This is what I have so far:
SetMTMode(6)
LWLibavVideoSource("c:\[1440x1080 h264 M-ON! HD].ts" )
setmtmode(2)
separatefields
deblock_qed # I know that the correct way of applying this is different, but it is not worth the slowdown for me
weave #7%
assumefieldbased
blindpp2(5,ipp=true) # Wrapper function for blindpp deringing, that ensures mod16 rule
crop(2,0,-2,0)
u=last
degrainmedian(3,4,3,true)
mergechroma(u,0.5) #-38% - it actually gets much slower when I remove this block, I dunno why
a=fft3dfilter(2.4 , beta=2,plane=0 ,svr=0.5 ,dehalo=0.3 , sharpen=0.33 ,scutoff=0.2, smin=3.5,smax=10, ncpu=2, interlaced=true )
b=fft3dfilter(2 , beta=2,plane=3 ,ncpu=1, interlaced=true,ow=10,oh=10 )
a.mergechroma(b) #35%
blindpp2(3,ipp=true)
nnedi3(3,nsize=4,threads=1) #12% (?)
selectrangeevery(5,4,2).assumefps(23.976*2)
c=selectodd
d=selecteven
raveragew(d,0.5,c,0.5,lsb_out=true)
ditherpost #8.5%
spline144resize(1280,720)
levels(1,1.04 ,255,0,255,coring=false,dither=false)
The numbers in comments show percentage by which processing speeds up when I remove corresponding block; not very accurate though.
Here is the AVSMeter screenshot to show CPU and memory usage for this script: http://puu.sh/6DY8A.png
Any ideas what could be improved here?
However I'm struggling with the very first part, I'm barely getting 11.4 fps at my rig, consisting of Core i5 2550k OC'd to 4.4 GHz + 8 Gb RAM, running Win7 x64.
Could anybody please help me optimizing this script? I thought I tried all combinations of setmtmodes, but many of them lead to crashes.
This is what I have so far:
SetMTMode(6)
LWLibavVideoSource("c:\[1440x1080 h264 M-ON! HD].ts" )
setmtmode(2)
separatefields
deblock_qed # I know that the correct way of applying this is different, but it is not worth the slowdown for me
weave #7%
assumefieldbased
blindpp2(5,ipp=true) # Wrapper function for blindpp deringing, that ensures mod16 rule
crop(2,0,-2,0)
u=last
degrainmedian(3,4,3,true)
mergechroma(u,0.5) #-38% - it actually gets much slower when I remove this block, I dunno why
a=fft3dfilter(2.4 , beta=2,plane=0 ,svr=0.5 ,dehalo=0.3 , sharpen=0.33 ,scutoff=0.2, smin=3.5,smax=10, ncpu=2, interlaced=true )
b=fft3dfilter(2 , beta=2,plane=3 ,ncpu=1, interlaced=true,ow=10,oh=10 )
a.mergechroma(b) #35%
blindpp2(3,ipp=true)
nnedi3(3,nsize=4,threads=1) #12% (?)
selectrangeevery(5,4,2).assumefps(23.976*2)
c=selectodd
d=selecteven
raveragew(d,0.5,c,0.5,lsb_out=true)
ditherpost #8.5%
spline144resize(1280,720)
levels(1,1.04 ,255,0,255,coring=false,dither=false)
The numbers in comments show percentage by which processing speeds up when I remove corresponding block; not very accurate though.
Here is the AVSMeter screenshot to show CPU and memory usage for this script: http://puu.sh/6DY8A.png
Any ideas what could be improved here?