Log in

View Full Version : Release of DGDecode 1.1.0+ by NaN


Pages : 1 [2]

Manao
19th October 2005, 05:50
Actually, best way to test the speed of an avs script is with avs2avi ( avs2avi foo.avs -c null -o n -q )

Cyberia : the 300 fps, I estimated it ( and it shouldn't be that wrong ). I assumed you had a 25 fps video, which lasted 20 minutes ( "I used the SSE version, and did a two pass encode of a 20 min vob" ). You did 2 passes, so you finally decoded 40 minutes of video, at 25 fps, hence 60000 frames, hence 200 seconds of decoding time at the estimated 300 fps.

NaN
19th October 2005, 09:33
If you need a magnifying glass to see a difference, it's not worth to try it.

That's my opinion about that. Seems that just P4s benefit (due to their longer pipeline I guess).

@ Cyberia: your speedup of 2.4% is quite tiny - what cpu do you use? An athlon? If no amd user gets reasonable gains, I'll add to the first post that only P4 users shall try it.

Cheers, NaN

NaN
19th October 2005, 14:01
I forgot to mention the following: all tests using other encoders than CCE are quite worthless since I don't know any encoder that is that highly optimized as CCE.

What does that mean? It means that the Decoder already uses a tiny part of the whole cpu-time (maybe 10%), so a cut by half of the decoder cpu-time gives a maximum speed-up of 5% overall. For CCE - at least on my machine - the decoder uses about 25% cputime, so cuting that down by one third gives roughly 10% speedup.

Cheers, NaN

Matthew
20th October 2005, 01:29
I'd like to try this but I can't find DGIndex 1.1.0 :o

edit: I have it now.

edit2: tried it on a 6 min clip. 1.4.5 stabilised at about 2.10, SSE2 value was about 2.02, SSE1 value was about 2.18. Dual 2.2 Ghz Xeons.

Rippraff
20th October 2005, 01:44
Since Donald removed http://neuron2.net/dgmpgdec/Archives/ it's hard to find.
If you send me a PM with your email, I'll send you a copy.
Edit: dgmpgdec110.zip sent! :)

Cu Rippraff

rayvt
20th October 2005, 02:18
I compared a 5 minute chunk of The Interpreter, on (as reported by cpuz) "AMD Athlon(tm) XP 2400+ MMX, Extended MMX, 3DNow!, Extended 3DNow!, SSE". Using: "DGDecode 1[1].1.0+ A SSE1 version by NaN.zip"
The chunk was from a recent RB run.

No improvement, the speeds are essentially the same, 111 FPS.

f:\00-dvdrb\d2vavs[1]>d:avs2avi V1.AVS -c null -o n -q
AVS2AVI v1.39 (c) 2002-2004:
Source:
* Filename: "F:\00-dvdrb\D2VAVS\V1.AVS"
* FourCC: YUY2
* Frames: 8257
* Resolution: 720x480
* Frame rate: 23.976 FPS
Compressor:
* No Recompression
Destination:
* Format: Null
* Pass 1/1: Finished in 00:01:14.221 (111.25 FPS)
* Frames: 8257 (8257 keyframes)
* Size: 5442.85 MB

f:\00-dvdrb\d2vavs[1]>d:avs2avi V2.AVS -c null -o n -q
AVS2AVI v1.39 (c) 2002-2004:
Source:
* Filename: "F:\00-dvdrb\D2VAVS\V2.AVS"
* FourCC: YUY2
* Frames: 8257
* Resolution: 720x480
* Frame rate: 23.976 FPS
Compressor:
* No Recompression
Destination:
* Format: Null
* Pass 1/1: Finished in 00:01:14.839 (110.33 FPS)
* Frames: 8257 (8257 keyframes)
* Size: 5442.85 MB

**** V1.AVS v2.avs*************
#------------------
# AVS File Created by DVD Rebuilder
# VOBID:01, CELLID:01
#------------------
LoadPlugin("G:\dvd-rb\DGDecode.dll")
mpeg2source("F:\00-dvdrb\D2VAVS\V01.D2V",idct=7)
trim(0,8256)
ConvertToYUY2()

**** v2.avs***************
#------------------
# AVS File Created by DVD Rebuilder
# VOBID:01, CELLID:01
#------------------
LoadPlugin("G:\dvd-rb\nan_DGDecode.dll")
mpeg2source("F:\00-dvdrb\D2VAVS\V01.D2V",idct=7)
trim(0,8256)
ConvertToYUY2()

int 21h
20th October 2005, 02:49
I'm seeing about the same amount of improvement as other P4 users, 10% improvement in decoding time.

DGDecode-NaN:
Destination:
* Format: Null
* Pass 1/1: Finished in 00:00:27.999 (149.33 FPS)
* Frames: 4181 (4181 keyframes)
* Size: 2756.03 MB

Destination:
* Format: Null
* Pass 1/1: Finished in 00:00:31.735 (145.96 FPS)
* Frames: 4632 (4632 keyframes)
* Size: 3053.32 MB


DGDecode-Donald:
Destination:
* Format: Null
* Pass 1/1: Finished in 00:00:30.249 (138.22 FPS)
* Frames: 4181 (4181 keyframes)
* Size: 2756.03 MB

Destination:
* Format: Null
* Pass 1/1: Finished in 00:00:34.988 (132.39 FPS)
* Frames: 4632 (4632 keyframes)
* Size: 3053.32 MB

Cyberia
20th October 2005, 03:27
OK here are my results using AVSTIMER (Thanks tritical! AVSTIMER is awesome!)

First, here are my scripts:
#DGDECODE
LoadPlugin("D:\temp\DGMPGDEC\nantest\avstimer.DLL")
LoadPlugin("D:\temp\DGMPGDEC\nantest\DGDecode.DLL")
mpeg2source("D:\temp\DGMPGDEC\nantest\DGd2v.d2v")
avstimer(name="dgdecode-orig", frames=2000, accumulate=true)
GetAll(frames=15969)

and
#NANDECODE
LoadPlugin("D:\temp\DGMPGDEC\nantest\avstimer.DLL")
LoadPlugin("D:\temp\DGMPGDEC\nantest\NANDecode.DLL")
mpeg2source("D:\temp\DGMPGDEC\nantest\NANd2v.d2v")
avstimer(name="dgdecode-nan", frames=2000, accumulate=true)
GetAll(frames=15969)


I loaded each into VirtualDuband recorded the results output from DebugView. Here are the results if I selected the SSE MMX iDCT for both files:
[1112] [13999] dgdecode-orig = 184 fps
[1112] [13999] dgdecode-nan = 186 fps


Here are the results if I selected Skal's iDCT for both files:
[1112] [13999] dgdecode-orig = 195 fps
[1112] [13999] dgdecode-nan = 195 fps


These are average fps over the whole video (15969 frames). NANDecode is only 2 fps faster, with one iDCT, and equal with the second. Here are the specs for my cpu:
http:\\home.insightbb.com\~cyberia-1\mycpu.jpg

Rippraff
20th October 2005, 03:45
http:\\home.insightbb.com\~cyberia-1\mycpu.jpg
Maybe you should use slashs instead of backslashs... ;) :D
Edit: Cyberias image deleted because there is also an approved attachment. ;)

Cu Rippraff

NaN
20th October 2005, 09:29
@Cyberia: I'm sorry that your Athlon doesn't see a bigger improvement (only the 2.5% in the xvid encoding)! Please be so nice and test at least once with dvd-rb and CCE (trial is sufficient), so I get more numbers for the only case I considered improvements to be possible (that's the only real life case where the decoder plays at least a small role).

Thanks, NaN

CrisCr0ss
20th October 2005, 20:42
Will you ever release a version/build which supports

1.4.6 beta 1 and Avisynth 2.6

FredThompson
20th October 2005, 21:25
DGDecode does not depend upon AviSynth. Perhaps you meant to post this regarding DVD-RB, not the modified DGDecode.

SSE version appears to handle the PAL source which killed DG's 1.1.0 release.

CrisCr0ss
21st October 2005, 04:31
yes sorry i mean does it wrk well with dvdrb and the latest avi synth + cce sp?

FredThompson
21st October 2005, 13:48
Yes, it works just fine.

@Nan,

The SSE build you sent me decodes one of the "problem" PAL segments I have but not the other. DG's 1.1.0 will not decode either, 1.4.5 decodes both.

FWIW, the disc is #2 of the 3-disc PAL set WWE The Greatest Wrestling Stars of the '80s. I don't suggest buying it for testing, just mentioning it in case someone else wants to test against it. The segments are 11 and 12. 12 is the one which won't decode.

NaN
23rd October 2005, 13:54
@FredThompson:
Sorry for the late reply BTW.

Would it be possible to mail me the troubling segment? I'll look at it then and maybe - if time permits - I can send you a fixed version.

Cheers, NaN

FredThompson
23rd October 2005, 17:59
@NaN,

Send me a PM with a mailing address for you. I'll send you the difficult parts.

manolito
29th October 2005, 09:29
I just tried the decoder with the current version of DVD2SVCD, and it works like a charm. Thanks NaN!

I would like to advertise it in the D2S thread, but I think it would be useful to provide a download URL for DGIndex 1.1.0. Noone seems to host this version any more, and hosting it myself is not an option, because I do not have the source code which would be a violation of the GPL.

Or is it safe to use DGIndex 1.0.12 together with NaN's decoder? Neuron2 still hosts this version, and AFAIK the index file format for version 1.0.12 was the same as in version 1.1.0.

Cheers
manolito

FredThompson
29th October 2005, 09:57
I would like to advertise it in the D2S threadHuh?!?! DVD2SVCD includes DGIndex 1.4.5 which handles more streams properly than 1.1.0.

manolito
29th October 2005, 12:16
But NaN's version of DGDecode.dll is FASTER, and it will not work in conjunction with DGIndex 1.4.5. And with DVD2SVCD I never came across a stream that even the antique DVD2AVI would not handle correctly.

Cheers
manolito

FredThompson
29th October 2005, 23:58
I think you're blinded by your excitement about a speed increase with Intel CPUs and CCE. Read the last 2 pages of this thread. I've got a PAL silver disc in front of me which NaN's 1.1.0 can't properly handle. Why do you think builds after 1.1.0 were created?

Read the first sentence you just posted. You plan to promote less-capable decoder which won't work with the rest of the distributed DVD2SVCD package?!

QuantumLeap
4th November 2005, 00:56
Does this version incorporate the fix for the iDCT IEEE-1180 reference?

See http://forum.doom9.org/showthread.php?t=94925&page=2&pp=20&highlight=idct

Thanks!

NaN
4th November 2005, 21:19
@QuantumLeap: no! Thanks for the link. Will be fixed in the next version.

Cheers, NaN

tcmjr
19th November 2005, 00:56
I'm pretty sure the SSE did improve my cce 2.67 performance using dvdrb.
I'm on an Athlon XP 3000+ , 1GiB of ram.

Anyone have a small sample I could use to benchmark it more corectly ?

Video Dude
19th November 2005, 16:29
Does this version incorporate the fix for the iDCT IEEE-1180 reference?
no! Thanks for the link. Will be fixed in the next version.

Thanks.