Log in

View Full Version : Blocky anime


Oursan Pluch'
16th November 2008, 19:05
Hi, all

I'm trying to encode (and to denoise) the anime City Hunter ( I have the DVD at my home :sly:). I have tested a lot of solution but i'm not satisfy by the result (for the moment...).

In my script, i used MC_Spuds with these settings :
- anime very high
- no edgeclean

and blockbuster to "hide" some artefacts introduced by the mpeg2 compression. The result is pleasant, but there is a a lot of grain (too much) and i lost a lot of bit when i encode my video. I have already tested GradFunkMirror, it's the same. I don't want to put grain on all image but just on "blocks artefacts" (and around eventually). Is it possible or more "difficult" to script that "idee". i have tried to understand didee's scripts (MC sharpening), but i met some difficulties to use the make_diff "function".

My Script :


Import("MC_Spuds.avsi")
Import("Deblock_QED.avsi")

#-----------------------------------------------------------------------------

strVideoSource = "C:\Encodage\DVD\EP3\VIDEO_TS\VTS_01_1.d2v"

#-----------------------------------------------------------------------------

objVideo = MPEG2Source(strVideoSource,cpu=0,idct=5,upconv=1)

#-----------------------------------------------------------------------------
objVideo = objVideo.ColorMatrix(d2v=strVideoSource,threads=3)
#-----------------------------------------------------------------------------

objVideo = objVideo.yadifmod(order=-1,mode=0,edeint=objVideo.tdeint(mode=0,type=2,hints=False,sharp=False,slow=0))
objVideo = objVideo.nnedi(field=-1,y=True,u=True,v=True,threads=3,opt=0)
objVideo = objVideo.Vinverse()

#-----------------------------------------------------------------------------

objVideo = objVideo.ConvertToYV12()
objVideoSD = objVideo.MC_Spuds(mode="anime high", edgeclean=False)

#-----------------------------------------------------------------------------

objVideoSD = objVideoSD.Crop(0,8,-0,-8)
objVideoSD = objVideoSD.Spline36Resize(640,480)

#-----------------------------------------------------------------------------

objVideoSD = objVideoSD.Blockbuster("noise")

#-----------------------------------------------------------------------------
objVideoSD = objVideoSD.Tweak(sat=1.04)
objVideoSD = objVideoSD.Levels(8,1.0,255,0,255)
#-----------------------------------------------------------------------------

Return objVideoSD


Thanks for all and sorry for my "English" :(

Adub
16th November 2008, 20:40
May I ask why you are calling yadifmod with tdient and then nnedi? You should only be using yadifimod, if at all. Most anime dvd's are actually telecined, not interlaced. Have a look at AnimeIVTC if you want a good, high-quality solution that is really pretty damn simple to use.

Also, I have never had great success using Motion Compensated scripts with anime. Usually I will use a certain combination of fft3dgpu/dfttest and msmooth with LimitedSharpenFaster to achieve my desire results. Sometimes I may through in a dehalo function, but that is only if necessary. And with the plugins I mentioned, the results look fantastic.