jsquare
28th August 2003, 00:19
These are the results of a few tests I ran with some of CCE matrices, QMF Method posted by DDogg, also playing with different values of QC(Quantization or Image Quality Priority) and BIAS.
Here are my settings:
StarWars I: Phantom Menace
CCE 2.67
Encoded as XSVCD(Bitrate 0-2500 @ 720x480)
gerti67's SemiAutoCropAndResize(with and w/o QMF)
Tylo's D2SRoBa Plugin (2-CDs %=2 GOPs=2 Adj.Q=1 Sample Time=2m:43s:18)
Q.Factor fixed at 36
File size results:
Matrix->CCE CCE MPEG CCE Notch
QC BIAS Ultra-Low Very-Low Standard Standard KVCD QMF
17 20 29,943,880 N/A N/A N/A N/A NO
1 50 31,613,744 32,363,100 35,463,028 32,408,924 31,379,112 NO
64 50 26,647,992 27,224,132 30,543,448 27,245,232 26,403,696 NO
1 50 28,654,420 N/A 32,162,896 N/A 28,651,448 YES
64 50 23,887,528 N/A 27,022,148 N/A 23,970,304 YES
The high QC values makes a real difference in final file size, while BIAS made no impact at all even when I tried values of 1,25,50,100. Using QMF slows down your encoding to nearly half the speed, but it will help reduce the size further and improve image quality. Notch-KVCD matrix will give you almost the same results as CCE's Ultra-Low, but much better image quality at least to my eyes.
AviSynth Scripts used on these tests:
[AVISYNTH_SemiAutoCropAndResize]
0=DetectedTop=^DetectedTop. DetectedHeight=^DetectedHeight
1=BlocksToCropHorizontal=^BlocksToCropHorizontal. BlocksToCropVertical=^BlocksToCropVertical. BlockOptimization=^BlockOptimization
2=ResizeMethod=^ResizeMethod. Bicubic_b_Value=^b_value. Bicubic_c_Value=^c_value
3=GammaCorrection=^GammaCorrection. Hue=^Hue. Saturation=^Saturation. Brightness=^Brightness. Contrast=^Contrast
4=DebugMode=^DebugMode
5=DestinationWidth=^TargetWidth
6=DestinationHeight=^TargetHeight
7=LoadPlugin(!SimpleResize.dll)
8=Import(!SemiAutoCropAndResize.avs)
^DetectedTop.=58
^DetectedHeight=360
^BlocksToCropHorizontal.=0
^BlocksToCropVertical.=0
^BlockOptimization=16
^ResizeMethod.=3
^b_value.=0.0
^c_value=0.85
^GammaCorrection.=1.0
^Hue.=0
^Saturation.=1.0
^Brightness.=0
^Contrast=1.0
^DebugMode=0
!SimpleResize.dll=V:\DVD2SVCD\Avisynth2.5 Plugins\SimpleResize\SimpleResize.dll
!SemiAutoCropAndResize.avs=V:\DVD2SVCD\Avisynth2.5 Plugins\AutoCrop\SemiAutoCropAndResize.avs
[AVISYNTH_SemiAutoCropAndResize QMF w/o Filters]
0=DetectedTop=^DetectedTop. DetectedHeight=^DetectedHeight
1=BlocksToCropHorizontal=^BlocksToCropHorizontal. BlocksToCropVertical=^BlocksToCropVertical. BlockOptimization=^BlockOptimization
2=ResizeMethod=^ResizeMethod. Bicubic_b_Value=^b_value. Bicubic_c_Value=^c_value
3=GammaCorrection=^GammaCorrection. Hue=^Hue. Saturation=^Saturation. Brightness=^Brightness. Contrast=^Contrast
4=DebugMode=^DebugMode
5=DestinationWidth=^TargetWidth
6=DestinationHeight=^TargetHeight
7=LoadPlugin(!SimpleResize.dll)
8=Import(!qmf15b1.avs)
9=function Low_Motion_Filter(clip c) { c = FluxSmooth(c,14,0) c = UnFilter(c,-10,-10) return c }
10=function Medium_Motion_Filter(clip c) { c = FluxSmooth(c,7,7) c = UnFilter(c,-20,-20) return c }
11=function High_Motion_Filter(clip c) { c = FluxSmooth(c,0,14) c = UnFilter(c,-30,-30) return c }
12=QMF()
13=Import(!SemiAutoCropAndResize.avs)
^DetectedTop.=58
^DetectedHeight=360
^BlocksToCropHorizontal.=0
^BlocksToCropVertical.=0
^BlockOptimization=16
^ResizeMethod.=3
^b_value.=0.0
^c_value=0.85
^GammaCorrection.=1.0
^Hue.=0
^Saturation.=1.0
^Brightness.=1.0
^Contrast=1.0
^DebugMode=0
!SimpleResize.dll=V:\DVD2SVCD\Avisynth2.5 Plugins\SimpleResize\SimpleResize.dll
!qmf15b1.avs=V:\DVD2SVCD\Avisynth2.5 Plugins\QMF\qmf15b1.avs
!SemiAutoCropAndResize.avs=V:\DVD2SVCD\Avisynth2.5 Plugins\AutoCrop\SemiAutoCropAndResize.avs
Notice that I used Lanczos for resizing, and a c_value of 0.85, don't know why but encodes look better when I use 0.85.
So my final decision for future encodes goes like this:
[list=1]
D2SRoBa for OPV
CCE 2.67 with Notch-KVCD Matrix
SemiAutoCropAndResize with QMF w/o Filters
QC=32 (CCE manual recommends 16-40)
BIAS=50 (or 30 like recommended by CCE Makes no difference)
[/list=1]
Hope this will help some of you guys, specially those trying 1-CD encodes.
Here are my settings:
StarWars I: Phantom Menace
CCE 2.67
Encoded as XSVCD(Bitrate 0-2500 @ 720x480)
gerti67's SemiAutoCropAndResize(with and w/o QMF)
Tylo's D2SRoBa Plugin (2-CDs %=2 GOPs=2 Adj.Q=1 Sample Time=2m:43s:18)
Q.Factor fixed at 36
File size results:
Matrix->CCE CCE MPEG CCE Notch
QC BIAS Ultra-Low Very-Low Standard Standard KVCD QMF
17 20 29,943,880 N/A N/A N/A N/A NO
1 50 31,613,744 32,363,100 35,463,028 32,408,924 31,379,112 NO
64 50 26,647,992 27,224,132 30,543,448 27,245,232 26,403,696 NO
1 50 28,654,420 N/A 32,162,896 N/A 28,651,448 YES
64 50 23,887,528 N/A 27,022,148 N/A 23,970,304 YES
The high QC values makes a real difference in final file size, while BIAS made no impact at all even when I tried values of 1,25,50,100. Using QMF slows down your encoding to nearly half the speed, but it will help reduce the size further and improve image quality. Notch-KVCD matrix will give you almost the same results as CCE's Ultra-Low, but much better image quality at least to my eyes.
AviSynth Scripts used on these tests:
[AVISYNTH_SemiAutoCropAndResize]
0=DetectedTop=^DetectedTop. DetectedHeight=^DetectedHeight
1=BlocksToCropHorizontal=^BlocksToCropHorizontal. BlocksToCropVertical=^BlocksToCropVertical. BlockOptimization=^BlockOptimization
2=ResizeMethod=^ResizeMethod. Bicubic_b_Value=^b_value. Bicubic_c_Value=^c_value
3=GammaCorrection=^GammaCorrection. Hue=^Hue. Saturation=^Saturation. Brightness=^Brightness. Contrast=^Contrast
4=DebugMode=^DebugMode
5=DestinationWidth=^TargetWidth
6=DestinationHeight=^TargetHeight
7=LoadPlugin(!SimpleResize.dll)
8=Import(!SemiAutoCropAndResize.avs)
^DetectedTop.=58
^DetectedHeight=360
^BlocksToCropHorizontal.=0
^BlocksToCropVertical.=0
^BlockOptimization=16
^ResizeMethod.=3
^b_value.=0.0
^c_value=0.85
^GammaCorrection.=1.0
^Hue.=0
^Saturation.=1.0
^Brightness.=0
^Contrast=1.0
^DebugMode=0
!SimpleResize.dll=V:\DVD2SVCD\Avisynth2.5 Plugins\SimpleResize\SimpleResize.dll
!SemiAutoCropAndResize.avs=V:\DVD2SVCD\Avisynth2.5 Plugins\AutoCrop\SemiAutoCropAndResize.avs
[AVISYNTH_SemiAutoCropAndResize QMF w/o Filters]
0=DetectedTop=^DetectedTop. DetectedHeight=^DetectedHeight
1=BlocksToCropHorizontal=^BlocksToCropHorizontal. BlocksToCropVertical=^BlocksToCropVertical. BlockOptimization=^BlockOptimization
2=ResizeMethod=^ResizeMethod. Bicubic_b_Value=^b_value. Bicubic_c_Value=^c_value
3=GammaCorrection=^GammaCorrection. Hue=^Hue. Saturation=^Saturation. Brightness=^Brightness. Contrast=^Contrast
4=DebugMode=^DebugMode
5=DestinationWidth=^TargetWidth
6=DestinationHeight=^TargetHeight
7=LoadPlugin(!SimpleResize.dll)
8=Import(!qmf15b1.avs)
9=function Low_Motion_Filter(clip c) { c = FluxSmooth(c,14,0) c = UnFilter(c,-10,-10) return c }
10=function Medium_Motion_Filter(clip c) { c = FluxSmooth(c,7,7) c = UnFilter(c,-20,-20) return c }
11=function High_Motion_Filter(clip c) { c = FluxSmooth(c,0,14) c = UnFilter(c,-30,-30) return c }
12=QMF()
13=Import(!SemiAutoCropAndResize.avs)
^DetectedTop.=58
^DetectedHeight=360
^BlocksToCropHorizontal.=0
^BlocksToCropVertical.=0
^BlockOptimization=16
^ResizeMethod.=3
^b_value.=0.0
^c_value=0.85
^GammaCorrection.=1.0
^Hue.=0
^Saturation.=1.0
^Brightness.=1.0
^Contrast=1.0
^DebugMode=0
!SimpleResize.dll=V:\DVD2SVCD\Avisynth2.5 Plugins\SimpleResize\SimpleResize.dll
!qmf15b1.avs=V:\DVD2SVCD\Avisynth2.5 Plugins\QMF\qmf15b1.avs
!SemiAutoCropAndResize.avs=V:\DVD2SVCD\Avisynth2.5 Plugins\AutoCrop\SemiAutoCropAndResize.avs
Notice that I used Lanczos for resizing, and a c_value of 0.85, don't know why but encodes look better when I use 0.85.
So my final decision for future encodes goes like this:
[list=1]
D2SRoBa for OPV
CCE 2.67 with Notch-KVCD Matrix
SemiAutoCropAndResize with QMF w/o Filters
QC=32 (CCE manual recommends 16-40)
BIAS=50 (or 30 like recommended by CCE Makes no difference)
[/list=1]
Hope this will help some of you guys, specially those trying 1-CD encodes.