MeGUI 인코딩 화질 선명하게
Lanczos 필터만 쓰면 영상 품질이 또렷하지가 않습니다.
같은 영화인데도 본인이 인코딩한것은 화질이 그저그런데, 다른 분들이 인코딩한것은 화질이 또렷한 경우를 경험하셨을겁니다.
이런 경우는 Sharpen 필터를 따로 한번 더 적용해줘서 그렇습니다.
아래는 많이 쓰이는 LimitedSharpenFaster 필터에 대한 간단한 예제입니다.
# Set DAR in encoder to 8640 : 4739. The following line is for automatic signalling
global MeGUI_darx = 8640
global MeGUI_dary = 4739
Import("D:\ZMEGUI\tools\avisynth_plugin\LimitedSharpenFaster.avsi")
Import("D:\ZMEGUI\tools\avisynth_plugin\QTGMC-3.32.avsi")
LoadPlugin("D:\ZMEGUI\tools\avisynth_plugin\masktools2.dll")
LoadPlugin("D:\ZMEGUI\tools\avisynth_plugin\RgTools.dll")
LoadPlugin("D:\ZMEGUI\tools\avisynth_plugin\warpsharp.dll")
LoadPlugin("D:\ZMEGUI\tools\avisynth_plugin\mvtools2.dll")
LoadPlugin("D:\ZMEGUI\tools\avisynth_plugin\nnedi3.dll")
LoadPlugin("D:\ZMEGUI\tools\avisynth_plugin\immaavs.dll")LoadPlugin("D:\ZMEGUI\tools\avisynth_plugin\ColorMatrix.dll")
ColorMatrix(hints=true, threads=0)
LoadPlugin("D:\ZMEGUI\tools\dgindex\DGDecode.dll")
DGDecode_mpeg2source("G:\VTS_01_1.d2v", cpu=4, info=3)
#deinterlace
QTGMC(Preset="Very Fast")
SelectEven() # 원래 프레임율을 유지하려면 이 문장을 추가합니다. 빼면 2배의 프레임율이 됩니다.
LimitedSharpenfaster( ss_x=1.5, ss_y=1.5, dest_x=last.width, dest_y=last.height,
\ Smode=3, strength=192, radius=2,
\ Lmode=1, wide=false, overshoot=1,
\ soft=0, edgemode=0, special=false,
\ exborder=0)
#crop
Lanczos4Resize(1280,720)
#denoise
LoadPlugin("D:\ZMEGUI\tools\avisynth_plugin\UnDot.dll")
Undot() # Minimal Noise
LimitedSharpenFaster :
Masktools2 : https://github.com/pinterf/masktools/releases/
RgTools : http://github.com/pinterf/RgTools/releases
WarpSharp :
사용 문법에 관한 자세한 내용은 아래 URL 참고하시기 바랍니다.
http://forum.doom9.org/showthread.php?t=156028
http://avisynth.nl/index.php/LimitedSharpen
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" )
clip =
Input clip.
float ss_x = 1.5
float ss_y = 1.5
Supersampling when > 1, which reduces aliasing on edges.
float dest_x = width
float dest_y = height
Resize directly to final size, saves a resize step.
int Smode = 3
Sharpen mode:
- 1 : UnsharpMask
- 2 : Sharpen
- 3 : Range sharpening.
- 4 : nonlinear sharpening.
Each mode has progressively less haloing in its sharpening.
int strength = 160
Sharpening strength:
- For Smode=1, it can be 0~127 (simple sharpening), 128~255 (simple overdrive), 255~4096 (big overdrive).
- For Smode=2, values 0~100 are handled over to Sharpen() as 0.0~1.0. Values >100 are mapped to 100.
- For Smode=3, 0~100 is common, but 100~inf. can be used if necessary.
Default is strength=160 for Smode=1, and strength=100 otherwise.
int radius = 1
Radius of UnsharpMask, only used in Smode=1. Range: 1 to 10
int Lmode = 1
Lmode:
- 0 : No effect
- 1 : Clamp to over/undershoot.
- 3 : Zero over/undershoot on edges, normal over/undershoot on not-edges.
bool wide = false
With wide=true, the local [min,max] limits are gathered from the 5x5 neighborhood, instead just 3x3. Enables more gain in detail contrast. Increasingly useful with increasing supersampling factors.
int overshoot = 1
Sharpening limit: a sharpened pixel may not exceed [min,max] of the local neighborhood by more than 'overshoot'. (High values remove the "Limited" of LimitedSharpen, and cause excessive haloing.)
int undershoot = [overshoot]
Separate limit for pixels that get darker during sharpening. Good for cartoons with strong lines. (If not specified, then undershoot==overshoot.)
int soft = 0
Softens the effect of sharpening. -1 will (try to) autocalculate a good value. Range: 0 to 100
int edgemode = 0
- -1 : shows edges.
- 0 : does nothing.
- 1 : restricts sharpening to edges
- 2 : restricts sharpening to mostly non-edges (I think?)
bool special = false
special=true tries to raise detail contrast in dark areas of a frame. (Usage not really recommended - the method is simple and might cause artefacts.)
int exborder = 0
Border exclusion; range: 0 to 16