Sagittaire
25th June 2003, 23:16
I made a demonstation of encoding RV9 EHQ. The video is in 640*340 715 Kbps and the audio in RA8 Surround 96 Kbps with a source WMV9 of very high quality ...
http://jfl1974.free.fr/Download/confidence_trailer.rar
"Confidence" (1280*720, 7.9 Mbps, 2:14 min, 121 MB)
http://windowsmedia.com/9series/DemoCenter/VideoQuality.asp?page=6&lookup=VideoQuality
This source is slightly compressible. Here rates of compressibility obtained with XviD Koepi Ultra Hight, H263, VHQ4, Chroma Motion, bframe 1/150/100/200 with same bitrate and same script ...
640*340 ..... 38% Bad quality
576*320 ..... 42% Better compromise quality resolution
512*288 ..... 48% Too weak resolution
I used this advanced script to make there encoding ...
################################################################################
# AviSynth 2.52 #
# Script Motion Detection Filter Version 3 20/06/03 #
################################################################################
################################## Faq ...;-) ##################################
# Plugin MPEG2Dec3.dll version 1.08 #
# Plugin Convolution3DYV12.dll #
# Plugin FluxSmooth.dll #
# Source : Path projet .d2v of DVD2AVI 1.76 #
# CPU_type : you will choose 5 for Pentium IV and 7 for the other processors #
# Motion_Type : choose "light", "medium" or "strong" filtering #
# Threshold : adjustment of the threshold of detection of the scenes #
# Top : Crop top of the image #
# Left : Crop left of the image #
# Right : Crop right of the image #
# Bottom : Crop bottom of the image #
# DimX : Width of the image #
# DimY : Height of the image #
# Start : Start Frame #
# End : End Frame #
################################## Variables ###################################
Source = "C:\Stock\confidence_trailer_tpr_vfapi.avi"
CPUType = 7
MotionType = "medium"
Left = 30
Top = 24
Right = 34
Bottom = 24
DimX = 640
DimY = 340
Start = 0
End = 0
ThresholdSM = 2.5
ThresholdHM = 7.5
############################### Script Principal ###############################
clip = AviSource( Source)
clip = ConvertToYV12( clip)
clip = Trim( clip, Start, End)
clip = Crop( clip, Left, Top, -Right, -Bottom)
clip = FluxSmooth( clip, 5, 3)
clip = DMF( clip, DimX, DimY, MotionType, ThresholdSM, ThresholdHM)
Return clip
################################## Fonctions ###################################
# Motion_Hight : function of filtering of fast scenes #
function Motion_Hight( clip Hight, float DimX, float DimY, float N)
{
Hight = BicubicResize( Hight, DimX, DimY, 0.33, 0.33)
Hight = Convolution3D( Hight, 0, 3*(N+1), 3*(N+1)+2, (N+1), (N+1)+2, 3, 0)
Return Hight
}
# Motion_Medium : function of filtering of Mediums scenes #
function Motion_Medium( clip Medium, float DimX, float DimY, float N)
{
Medium = BicubicResize( Medium, DimX, DimY, 0, 0.5)
Medium = Convolution3D( Medium, 0, 2*(N+1), 2*(N+1)+2, 2*(N+1), 2*(N+1)+2, 3, 0)
Return Medium
}
# Motion_Slow : function of filtering of Slow scenes #
function Motion_Slow( clip Slow, float DimX, float DimY, float N)
{
Slow = BicubicResize( Slow, DimX, DimY, 0, 0.7)
Slow = Convolution3D( Slow, 0, (N+1), (N+1)+2, 3*(N+1), 3*(N+1)+2, 3, 0)
Return Slow
}
# DMF : function of filtage of scenes slow, medium and rapid #
function DMF( clip filter, float DimX, float DimY, string MotionType, float ThresholdSM, float ThresholdHM)
{
N = FiltrageType( MotionType)
global filter = filter
output1 = Conditionalfilter( filter , Motion_Slow( filter, DimX, DimY, N), Motion_Medium( filter, DimX, DimY, N), "diff_Previous", "<", "ThresholdSM", false)
output2 = Conditionalfilter( filter , output1, Motion_Medium( filter, DimX, DimY, N), "diff_Next", "<", "ThresholdSM", false)
output3 = Conditionalfilter( filter , Motion_Hight( filter, DimX, DimY, N), output2, "diff_Previous", ">", "ThresholdHM", false)
output4 = Conditionalfilter( filter , output3, output2, "diff_Next", ">", "ThresholdHM", false)
output4 = frameevaluate( output4, "diff_Previous = 0.5*YDifferenceFromPrevious( filter) + 0.25*UDifferenceFromPrevious( filter) + 0.25*VDifferenceFromPrevious( filter)")
output4 = frameevaluate( output4, "diff_Next = 0.5*YDifferenceToNext( filter) + 0.25*UDifferenceToNext( filter) + 0.25*VDifferenceToNext( filter)")
return output4
}
# FiltrageType : function of filtering level #
function FiltrageType( string MotionType)
{
N = MotionType == "light" ? 1 : 0
N = MotionType == "medium" ? 2 : N
N = MotionType == "strong" ? 3 : N
return N
}
################################################################################
http://jfl1974.free.fr/Download/confidence_trailer.rar
"Confidence" (1280*720, 7.9 Mbps, 2:14 min, 121 MB)
http://windowsmedia.com/9series/DemoCenter/VideoQuality.asp?page=6&lookup=VideoQuality
This source is slightly compressible. Here rates of compressibility obtained with XviD Koepi Ultra Hight, H263, VHQ4, Chroma Motion, bframe 1/150/100/200 with same bitrate and same script ...
640*340 ..... 38% Bad quality
576*320 ..... 42% Better compromise quality resolution
512*288 ..... 48% Too weak resolution
I used this advanced script to make there encoding ...
################################################################################
# AviSynth 2.52 #
# Script Motion Detection Filter Version 3 20/06/03 #
################################################################################
################################## Faq ...;-) ##################################
# Plugin MPEG2Dec3.dll version 1.08 #
# Plugin Convolution3DYV12.dll #
# Plugin FluxSmooth.dll #
# Source : Path projet .d2v of DVD2AVI 1.76 #
# CPU_type : you will choose 5 for Pentium IV and 7 for the other processors #
# Motion_Type : choose "light", "medium" or "strong" filtering #
# Threshold : adjustment of the threshold of detection of the scenes #
# Top : Crop top of the image #
# Left : Crop left of the image #
# Right : Crop right of the image #
# Bottom : Crop bottom of the image #
# DimX : Width of the image #
# DimY : Height of the image #
# Start : Start Frame #
# End : End Frame #
################################## Variables ###################################
Source = "C:\Stock\confidence_trailer_tpr_vfapi.avi"
CPUType = 7
MotionType = "medium"
Left = 30
Top = 24
Right = 34
Bottom = 24
DimX = 640
DimY = 340
Start = 0
End = 0
ThresholdSM = 2.5
ThresholdHM = 7.5
############################### Script Principal ###############################
clip = AviSource( Source)
clip = ConvertToYV12( clip)
clip = Trim( clip, Start, End)
clip = Crop( clip, Left, Top, -Right, -Bottom)
clip = FluxSmooth( clip, 5, 3)
clip = DMF( clip, DimX, DimY, MotionType, ThresholdSM, ThresholdHM)
Return clip
################################## Fonctions ###################################
# Motion_Hight : function of filtering of fast scenes #
function Motion_Hight( clip Hight, float DimX, float DimY, float N)
{
Hight = BicubicResize( Hight, DimX, DimY, 0.33, 0.33)
Hight = Convolution3D( Hight, 0, 3*(N+1), 3*(N+1)+2, (N+1), (N+1)+2, 3, 0)
Return Hight
}
# Motion_Medium : function of filtering of Mediums scenes #
function Motion_Medium( clip Medium, float DimX, float DimY, float N)
{
Medium = BicubicResize( Medium, DimX, DimY, 0, 0.5)
Medium = Convolution3D( Medium, 0, 2*(N+1), 2*(N+1)+2, 2*(N+1), 2*(N+1)+2, 3, 0)
Return Medium
}
# Motion_Slow : function of filtering of Slow scenes #
function Motion_Slow( clip Slow, float DimX, float DimY, float N)
{
Slow = BicubicResize( Slow, DimX, DimY, 0, 0.7)
Slow = Convolution3D( Slow, 0, (N+1), (N+1)+2, 3*(N+1), 3*(N+1)+2, 3, 0)
Return Slow
}
# DMF : function of filtage of scenes slow, medium and rapid #
function DMF( clip filter, float DimX, float DimY, string MotionType, float ThresholdSM, float ThresholdHM)
{
N = FiltrageType( MotionType)
global filter = filter
output1 = Conditionalfilter( filter , Motion_Slow( filter, DimX, DimY, N), Motion_Medium( filter, DimX, DimY, N), "diff_Previous", "<", "ThresholdSM", false)
output2 = Conditionalfilter( filter , output1, Motion_Medium( filter, DimX, DimY, N), "diff_Next", "<", "ThresholdSM", false)
output3 = Conditionalfilter( filter , Motion_Hight( filter, DimX, DimY, N), output2, "diff_Previous", ">", "ThresholdHM", false)
output4 = Conditionalfilter( filter , output3, output2, "diff_Next", ">", "ThresholdHM", false)
output4 = frameevaluate( output4, "diff_Previous = 0.5*YDifferenceFromPrevious( filter) + 0.25*UDifferenceFromPrevious( filter) + 0.25*VDifferenceFromPrevious( filter)")
output4 = frameevaluate( output4, "diff_Next = 0.5*YDifferenceToNext( filter) + 0.25*UDifferenceToNext( filter) + 0.25*VDifferenceToNext( filter)")
return output4
}
# FiltrageType : function of filtering level #
function FiltrageType( string MotionType)
{
N = MotionType == "light" ? 1 : 0
N = MotionType == "medium" ? 2 : N
N = MotionType == "strong" ? 3 : N
return N
}
################################################################################