Eftersom det verkar bli lite drag i denna tråd igen så tänkte jag dela med mig lite om hur jag gjorde när jag i helgen fick för mig att testa. Det finns ju hur mycket info som helst att läsa om detta, men jag upplevde iaf att det trots detta inte var helt glasklart hur man skulle gå till väga. Men så här gjorde iag jag:
* Laddade ned "Media Player Classic" (MPC) version 6.4.9.1 (.RAR-filen hade datumet 20071015 i sig). Spelaren består endast ev en .EXE-fil som är den körbara filen, dvs ingen installation ebhövs.
* Laddade ned och installerade FFDShow tryouts revision 1324 Jul 1 2007
* Laddade ned och installerade AVISYnth 2.5 (.EXE-filen har 070919 i namnet)
* Laddade ned följande plugin till AVISYnth (.DLL-filer): MaskTools 2.0.30.1, MaskTolls 1.5.1.0, WarpSharp, RemoveGrain. Dessa filer finns ofta i en fil med en massa andra junk-filer (för kompilering mm), men det är .DLL-filen som är av intresse.
Detta var den enkla biten ;-)
* Börja med att kopiera alla .DLL-filer till "<sökväg> \ < AVISynth-katalog > \Plugins"
* Starta MPC och välj "View -> Options->External Filters". Klicka "Add filter" och välj "ffdshow Video decoder" och "ffdshow Audio processor".
* Starta "Video Decoder configuration" som finns på startmenyn i ffdshow-mappen.
* Klicka på "Codecs" (högst upp i den vänstra delen av fönstret). Ställ in så att MPEG2-codecen = "disabled", AVISYnth = "AVISynth", Raw Video = "All suported".
* Kryssa i kryssrutan "OSD"
* I den vänstra delen markera och flytta upp och ner de flyttbara rubrikerna (man kan inte flytta alla) så att följande ordning skapas för dem flyttbara rubrikerna (uppifrån och ned): "Blur & NR", "AVISynth", "Deinterlacing", "Picture Properties", "Postprocessing", "Subtitles".
* Kryssa i kryssrutan för "Blur & NR" och kryssa i rutan "denoise3d" och "HQ" i den högra delen av fönstret. Ställ in värdena Luma: 4.00, Chroma: 3.00, Time: 6.00 genom att dra i slidern alt högerklicka på slidern och mata in värdena.
* Kryssa i kryssrutan för "AVISynth" och i den högra delen kryssa i "Add ffdshow video source", "YV12" (inga andra Input colorspaces), "Buffer back/ahead" och värdena "1" och "11". I text-delen under "Buffer back/ahead", klistra in följande text (med korrekt sökväg givetvis!):
"
Import("C:\Program\AviSynth 2.5\plugins\LimitedSharpenFaster.avsi")
LimitedSharpen(ss_x=1.0,ss_y=1.0,Smode=3,strength=40,dest_x=1024,dest_y=578,spec
ial=TRUE)
"
* Ändra dest_x, och dest_y till den upplösning som önskas.
* Kryssa i kryssrutan "Deinterlacing" och välj metod "ffmpeg deinterlacer"
* Kryssa i kryssrutan "Picture properties" och ställ in "Luminance offset" till -5 samt kolla att "Chroma Only" är ikryssad.
* Kryssa i kryssrutan "Posprocessing" och se till att "Presets" är valt, "Automatic quality control", "mplayer" och "Accurate deblocking" är ikryssade.
* Kryssa i kryssrutan "Subtitles" och ändra eventuellt fontstorlek under "Font".
* Markera kryssrutan "Overlay" kolla att "Queue output samples" är ibockad. Under "Output" se till att endast "YV12" är i kryssad. Kryssa i rutan (1 eller 2 gånger) så att "Allow output format changes..." blir grön (dvs inte kryssad)
Nu är det nästan klart. Det som återstår är att skapa den fil som anropas/importeras i AVISYnth, dvs "LimitedSharpen". Öppna anteckningar, klistra in texten nedan och spara filen som "LimitedSharpen.avsi" i AVISynth-plugin-katalogen.
"
# 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

)
#
## - 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 x y x - "+OS+" - 1 2 / ^ + "+OS+" + ?")
mt_lutxy( dark_limit, last, yexpr="y x "+US+" - > 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
}
"
KLART!

(Om jag nu inte missat nåt

)
Öppna önskad fil i MPC och njut. Att det fungerar syns på texten i övre högra hörnet. För övrigt fås den bort genom att avmarkera "OSD" i "ffdshow video decoder configuration".
OBS!
Dett funkar endast för DivX, XviD för mig. Skall jag köra DVD måste jag göra följande ändringar:
* Avkryssa AVISynth
* Flytta upp "Sharpen" under AVISynth (dvs mellan "Blur & NR" och "Deinterlacing"). Välj "xsharpen" alt. "unsharp mask".
Detta funkar för mig. Om detta är optimalt på något sätt vet jag inte, men det funkar. Är ingen expert utan har fått det att funka genom guider och trial'n'error.
Kommentarer mottages tacksamt då jag som sagt inte vet om detta är optimalt inställt.
Jag kör en Intel Pentium P4 660, 3600 MHz med 2 GB DDR2-SDRAM samt ett ATI Radeon X850.
Lycka till!
Redigerat av MiWa, 29 november 2007 - 15:10.