View Full Version : Mpeg2dec (part2), Mpeg2dec3 beta 5 and Mpegdecoder Benchmark
CruNcher
12th October 2002, 23:03
Ok here is the second Mpeg2dec, and first Mpeg2dec3 and Mpegdecoder Benchmark (comparison) from me
this time the testfile was 1.16 min (55 Mb) Vob from Romeo Must Die ChopperXP 2.1 was used to cut
the Disco Fighting Scene out off the first Vob
DvD = Romeo Must Die
RegionCode = 2
Scene = This Is a Test
Testfile = Testsequenz.vob
Playtime = 1.16 min
Codec = DivX 3.11
Encoder = Nandub 1.0rc 2 build 1852 good old SBC :)
Vcf = default.1st.pass.vcf (q=2) (bitrate 6000 Kbps)
Cpu = P4 (Williamete) 1.8 ghz (not overclocked)
Resolution = 640x256 Pal 16:9
Filter = BicubicResize(640,256,0,0.75) (Sharp Bicubic)
Avisynth = Avisynth 2.06+ (October 7. 2002)
NAME Encode Time Size Problems
--------------------------------------------------------------------------------------------------------------------------
mpeg2dec3_beta5_idct=1.avs = 1.23 min 29.1 MB (30,519,296 bytes)
mpeg2dec3_beta5_idct=1,fast=true.avs = 1.21 min 29.8 MB (31,346,688 bytes)
mpeg2dec3_beta5_idct=2.avs = 1.22 min 29.1 MB (30,519,296 bytes)
mpeg2dec3_beta5_idct=2,fast=true.avs = 1.20 min 29.8 MB (31,346,688 bytes)
mpeg2dec3_beta5_idct=3.avs = 1.31 min 29.1 MB (30,527,488 bytes)
mpeg2dec3_beta5_idct=3,fast=true.avs = 1.29 min 29.9 MB (31,358,976 bytes)
mpeg2dec3_beta5_idct=4.avs = 2.01 min 29.1 MB (30,572,544 bytes)
mpeg2dec3_beta5_idct=4,fast=true.avs = 1.58 min 29.9 MB (31,404,032 bytes)
mpeg2dec3_beta5_idct=5.avs = 1.22 min 29.1 MB (30,519,296 bytes)
mpeg2dec3_beta5_idct=5,fast=true.avs = 1.21 min 29.8 MB (31,346,688 bytes)
Mpeg2Dec Trbarry (idct=5) = 1.20 min 29.1 MB (30,576,640 bytes)
Mpeg2Dec Trbarry (idct=2) = 1.20 min 29.1 MB (30,576,640 bytes)
Mpegdecoder 1.31 = 1.16 min 29.9 MB (31,354,880 bytes) (error occured look at info and screenshots below)
Mpegdecoder 1.32 = 1.19 min 29.7 MB (31,191,040 bytes)
MpegDecoder 1.31 is the fastest way (Realtime) to encode but
it produced allways this error on every Vobs first frame
changes:
corrected mpeg2dec3 beta5 idct=1 time
corrected mpeg2dec3 beta5 idct=1 fast=true time
corrected mpeg2dec3 beta5 idct=2 time
corrected mpeg2dec3 beta5 idct=2 fast=true time
corrected mpeg2dec3 beta5 idct=4 time
corrected mpeg2dec3 beta5 idct=4 fast=true time
corrected mpeg2dec3 beta5 idct=5 time
corrected mpeg2dec3 beta5 idct=5 fast=true time
corrected mpeg2dec trbarry (idct=5) time
added mpeg2dec trbarry (idct=2) time
added Mpegdecoder 1.32
SILICON
13th October 2002, 00:01
Originally posted by CruNcher
mpeg2dec3_beta5_idct=5.avs = 1.24 min 29.1 MB (30,519,296 bytes)
Mpeg2Dec Trbarry (idct=5) = 1.22 min 29.1 MB (30,576,640 bytes)
Nice test.
I see that the speed increase are lower with fast=true and increment the final size.
@Marc FD
I don't compresy. The Trbarry MPEG2DEC and MPEG2DEC3 have the same code optimizations and the same IDCT code.
Because is the MPEG2DEC3 more slow ?
Because the file donīt have the same size ?
@CruNcher
Can you make the same test with:
iDCT=2, CPU= 0 to 6 with MPEG2DEC3. We can will see the size and speed drop.
Thanks
CruNcher
13th October 2002, 01:57
@SILICON
NAME Encode Time Size Bits per Pixel
----------------------------------------------------------------------------------------------------------------
mpeg2dec3_beta5_idct=2,cpu=0.avs = 1.22 min 29.1 MB (30,519,296 bytes) 0.78
mpeg2dec3_beta5_idct=2,cpu=1.avs = 1.33 min 28.5 MB (29,921,280 bytes) 0.77
mpeg2dec3_beta5_idct=2,cpu=2.avs = 1.38 min 28.0 MB (29,429,760 bytes) 0.76
mpeg2dec3_beta5_idct=2,cpu=3.avs = 1.42 min 27.8 MB (29,179,904 bytes) 0.75 the middle
mpeg2dec3_beta5_idct=2,cpu=4.avs = 1.45 min 27.6 MB (29,020,160 bytes) 0.75
mpeg2dec3_beta5_idct=2,cpu=5.avs = 1.50 min 24.8 MB (26,034,176 bytes) 0.67
mpeg2dec3_beta5_idct=2,cpu=6.avs = 1.53 min 24.1 MB (25,350,144 bytes) 0.65
mpeg2dec3_beta5_idct=2,cpu=0,fast=true.avs = 1.20 min 29.8 MB (31,346,688 bytes) 0.80
mpeg2dec3_beta5_idct=2,cpu=1,fast=true.avs = 1.31 min 29.3 MB (30,752,768 bytes) 0.79
mpeg2dec3_beta5_idct=2,cpu=2,fast=true.avs = 1.36 min 28.8 MB (30,261,248 bytes) 0.78
mpeg2dec3_beta5_idct=2,cpu=3,fast=true.avs = 1.40 min 28.5 MB (29,949,952 bytes) 0.77
mpeg2dec3_beta5_idct=2,cpu=4,fast=true.avs = 1.43 min 28.2 MB (29,671,424 bytes) 0.76
mpeg2dec3_beta5_idct=2,cpu=5,fast=true.avs = 1.48 min 25.4 MB (26,689,536 bytes) 0.69
mpeg2dec3_beta5_idct=2,cpu=6,fast=true.avs = 1.50 min 24.5 MB (25,743,360 bytes) 0.66
This is normal the more PP is used the more time is needed the smaller the file gets :)
SILICON thats not so correct with the idct=5 optimized mpeg2dec i still use the old one from trbarry not the Save-Oe optimized one by vlad59
MPEG2DEC.dll 412 KB (421,888 bytes) May 12, 2002
hmm looks like mpeg2dec3 beta5 idct=2 fast=true and mpeg2dec trbarry need the same time to encode but mpeg2dec3 output is larger the same thing as with MpegDecoder output is larger
Marc FD
13th October 2002, 11:05
I see that the speed increase are lower with fast=true and increment the final size.
fast=true does a YV12->YUY2 upsampling like MPEGDecoder. it's faster and sharper. but gives bad results with interlaced sources. (blends chroma fields)
>The Trbarry MPEG2DEC and MPEG2DEC3 have the same code optimizations and the same IDCT code.
only sse2mmx iDCT optimisation in MPEG2Dec3, i don't have a P4, so i've disabled the whole sse2 optimisations, because some of them where buggy.
EDIT : MPEG2Dec3 beta 6 will be the smaller MPEG2Dec in filesize : ~90 Ko
SILICON
13th October 2002, 20:28
Originally posted by CruNcher
@SILICON
NAME Encode Time Size Bits per Pixel
----------------------------------------------------------------------------------------------------------------
mpeg2dec3_beta5_idct=2,cpu=0.avs = 1.22 min 29.1 MB (30,519,296 bytes) 0.78
mpeg2dec3_beta5_idct=2,cpu=1.avs = 1.33 min 28.5 MB (29,921,280 bytes) 0.77
mpeg2dec3_beta5_idct=2,cpu=2.avs = 1.38 min 28.0 MB (29,429,760 bytes) 0.76
mpeg2dec3_beta5_idct=2,cpu=3.avs = 1.42 min 27.8 MB (29,179,904 bytes) 0.75 the middle
mpeg2dec3_beta5_idct=2,cpu=4.avs = 1.45 min 27.6 MB (29,020,160 bytes) 0.75
mpeg2dec3_beta5_idct=2,cpu=5.avs = 1.50 min 24.8 MB (26,034,176 bytes) 0.67
mpeg2dec3_beta5_idct=2,cpu=6.avs = 1.53 min 24.1 MB (25,350,144 bytes) 0.65
Very nice test. Thanks a lot..
I think. The bitrate never is enought. If the file have lees filesize, we have more quality if we use the same size.
Them, CPU=6 give us more quality (a 17% more) using more time (a 37% more). Wonderfull Mpeg decoder, Marc FD.
A surprise: Whichever but we increased the value of CPU, minor is the difference of size when using FAST
@CruNcher
Can you make another test?
mpeg2dec3_beta5_idct=2,cpu=6.avs with diferent resize. Simple resize, lacros, bilinear and bicubic.
I hope that the best speed - size ratio will be for Bilinear, but i don't sure.
Marc FD
13th October 2002, 21:03
fast is in fact the equivalent of blend = false in beta6 (not released yet)
there's a lot coming :D
CruNcher
13th October 2002, 22:01
MPEG2Dec3beta6.dll 116kb is in test now
@MarcFD the size of the Dll is not important the Result is ;)
NAME Encode Time Size Bits per Pixel
---------------------------------------------------------------------------------------------------------------------
mpeg2dec3_beta6_idct=1.avs = 1.23 min 29.1 MB (30,519,296 bytes) 0.78
mpeg2dec3_beta6_idct=2.avs = 1.22 min 29.1 MB (30,519,296 bytes) 0.78
mpeg2dec3_beta6_idct=3.avs = 1.29 min 29.1 MB (30,527,488 bytes) 0.78
mpeg2dec3_beta6_idct=4.avs = 1.46 min 29.1 MB (30,572,544 bytes) 0.79
mpeg2dec3_beta6_idct=5.avs = 1.22 min 29.1 MB (30,519,296 bytes) 0.78
mpeg2dec3_beta6_idct=1,blend=false.avs = 1.21 min 29.8 MB (31,346,688 bytes) 0.80
mpeg2dec3_beta6_idct=2,blend=false.avs = 1.20 min 29.8 MB (31,346,688 bytes) 0.80
mpeg2dec3_beta6_idct=3,blend=false.avs = 1.27 min 29.9 MB (31,358,976 bytes) 0.81
mpeg2dec3_beta6_idct=4,blend=false.avs = 1.43 min 29.9 MB (31,404,032 bytes) 0.81
mpeg2dec3_beta6_idct=5,blend=false.avs = 1.19 min 29.8 MB (31,346,688 bytes) 0.80
idct=3,4 speedup +2sec/+15sec
idct=3,4,5 +blend=false (fast=true) speedup +2sec/+15sec/+2sec
all in all good work :)
i dont understand why trbarry's mpeg2dec is still 2 seconds faster (normal idct=5) and the filesize differs (bits per pixel) when its build up on the same codebase ?
@SILICON
NAME Resize Encode Time Size Bits per Pixel
--------------------------------------------------------------------------------------------------------------------------
mpeg2dec3_beta6_idct=2,cpu=6.avs SimpleResize(640,256) 1.37 min 23.2 MB (24,367,104 bytes) 0.63
mpeg2dec3_beta6_idct=2,cpu=6.avs BilinearResize(640,256) 1.48 min 22.0 MB (23,171,072 bytes) 0.59
mpeg2dec3_beta6_idct=2,cpu=6.avs BicubicResize(640,256,0,0.75) 1.53 min 24.1 MB (25,350,144 bytes) 0.65
mpeg2dec3_beta6_idct=2,cpu=6.avs LanczosResize(640,256,0,0.75) 1.58 min 24.3 MB (25,497,600 bytes) 0.65
Marc FD
13th October 2002, 22:07
i know. it was a joke (my pure asm optimisation parts makes the code smaller, because i wrote shorter code than the compiler)
Nic
14th October 2002, 00:19
Weird error?! Hopefully it will be fixed for you with the next version. Ive just finished the external code for it so people can use it without avisynth in there own programs. But yet to come up with a good solution for tff/rff. Ill have to contact the author of libmpeg2 walken about it....
-Nic
SILICON
14th October 2002, 22:14
Test by CruNcher
NAME Resize Encode Time Size
-------------------------------------------------------------------------------------------------
mpeg2dec3_beta6_idct=2,cpu=6.avs BilinearResize(640,256) 1.48 min 22.0 MB (23,171,072 bytes)
Mpeg2Dec Trbarry (idct=2) BicubicResize 1.20 min 29.1 MB (30,576,640 bytes)
If we want compressibility the winner is:
MPEG2DEC3 beta6
idct=2 or idct=5
CPU=6
Blend=true
resize= bilinear
If be want more speed (a 30% faster) and more sharp, the winner is Mpeg2Dec Trbarry (idct=2 or 5). But the filesize are a 30% bigger !!!
@Marc FD
The timing are the same with seting IDCT=2 or IDCT=5 (in MPEG2Dec3beta6.dll and TrBarryīs MPEG2DEC). CruNcher have a P4 (Williamete) 1.8 ghz.
because?
Work well SSE2?
@CruNcher.
Can you test it:
MPEG2DEC3_idct=2_CPU=6_Blend=true
resize=bilinear
1- CNR2().TemporalSmoter(1,5,0)
2- Convolution3D(0,3,6,3,6,2.6,0)
3- Convolution3D(0,3,6,3,6,2.8,0)
4- Convolution3D(0,3,6,3,6,3,0)
I expect that the little filesize will be for 4 and the faster will be 1. But I donīt sure.
The idea is use filtering increase compressibility in a unnoise source without lost quality. (The unfilter film seems equal that the filter one)
I think that never the bitrate is enought. Therefore whichever more compressibility, more quality. I am mistaken?
CruNcher
16th October 2002, 15:36
@ SILICON
Sorry that it took so long
NAME Smoother Filter Encode Time Size Bits per Pixel
--------------------------------------------------------------------------------------------------------------------------
mpeg2dec3_beta6_idct=2,blend=true Convolution3D(0,3,6,3,6,2.6,0) 2.23 min 24.4 MB (25,604,096 bytes) 0.66
mpeg2dec3_beta6_idct=2,blend=true Convolution3D(0,3,6,3,6,2.8,0) 2.24 min 24.4 MB (25,587,712 bytes) 0.66
mpeg2dec3_beta6_idct=2,blend=true Convolution3D(0,3,6,3,6,3,0) 2.31 min 24.3 MB (25,579,520 bytes) 0.66
im also trying to improve the compressability and now i made it up to
20.2 Mb (needs 3x longer(11fps avg)) but i want more :D
it will be very interesting to see if XviD or DivX 5 can beet it without a (very) noticeable quality lose but as i saw from my earlier tests i think DivX 5 with B-frames can get it smaller in my old tests XviD couldn't beet DivX 5 or DivX 3.11 (size factor) but the time has changed and developing is going on and XviD is getting better an better now :)
SILICON
17th October 2002, 19:27
@ CruNcher
NAME Smoother Filter Encode Time Size Bits per Pixel
--------------------------------------------------------------------------------------------------------------------------
mpeg2dec3_beta6_idct=2,blend=true Convolution3D(0,3,6,3,6,2.6,0) 2.23 min 24.4 MB (25,604,096 bytes) 0.66
mpeg2dec3_beta6_idct=2,blend=true Convolution3D(0,3,6,3,6,2.8,0) 2.24 min 24.4 MB (25,587,712 bytes) 0.66
mpeg2dec3_beta6_idct=2,blend=true Convolution3D(0,3,6,3,6,3,0) 2.31 min 24.3 MB (25,579,520 bytes) 0.66
You can not post the tieme and size without use Convolution3D. I can't compare the efect of this filter.
You forgot test "CNR2().TemporalSmoter(1,5,0)". I don't know if the compressibility are good, but i know that itīs very fast.
I see that the change of parameter (2.6,2.8 or 3) conīt chage very much.
im also trying to improve the compressability and now i made it up to 20.2 Mb (needs 3x longer(11fps avg)) but i want more :D
Read this post: http://forum.doom9.org/showthread.php?s=&threadid=35923
Itīs a nice idea...
iago
17th October 2002, 20:31
... "CNR2().TemporalSmoter(1,5,0)" ... (SILICON)
@SILICON
I guess you mean "CNR2().TemporalSoften(1,5,0)". Right?
iago
SILICON
18th October 2002, 13:00
Originally posted by iago
I guess you mean "CNR2().TemporalSoften(1,5,0)". Right?
Right!!!!
Thanks iago.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.