PDA

View Full Version : DGIndex iDCT Algorithms


orion44
5th August 2007, 13:12
When creating a DGIndex project file (.d2v) for XviD encoding,
which iDCT algorithm should I use?

Which algorithm has the highest quality for XviD encoding?

foxyshadis
5th August 2007, 13:32
The manual that comes with DGIndex explains everything. The default is normally sufficient.

HeadBangeR77
5th August 2007, 13:40
Actually, you've got them all listed and briefly explained in the DGDecode /DGIndex Manuals ;)

"The iDCT algorithm that you should use depends primarily on what CPU you have, and to a lesser degree on the desired iDCT accuracy, (...)

Note that the selected iDCT algorithm is placed in the D2V file. DGDecode can be configured to use this setting (default) or it can be overridden via the "idct" parameter.

This setting is also stored in the DGIndex.ini file and therefore is saved across DGIndex sessions. If you edit the DGIndex.ini file, or the D2V file, to specify an iDCT algorithm that is not supported by your processor, then DGIndex and DGDecode will demote your setting to the next available setting that is supported by your processor."

...and the most important notice:

"All of the available options are IEEE-1180 compliant, except for SSE/MMX (Skal).

Qualitywise: IEEE-1180 Reference > 64-bit Floating Point > Simple MMX (XviD) > Remaining iDCTs.

Speedwise: SSE2/MMX and SSE/MMX (Skal) are usually the fastest. The IEEE-1180 Reference is easily the slowest."

Therefore I've been always using 32bit Simple MMX (XviD), since the speed penalty in comparison to Skal's iDCT is almost none, and it's supposed to be very exact. Apart from that, it does a really good job on my AthlonXP computer. I've tried the ones that are supposed to be the most accurate - I couldn't see any difference and they were indeed slower, at least on my CPU.

cheers/ HDBR77

CruNcher
13th August 2007, 15:44
SimpleIDCT has the best Compression Factor but it also couses another output, but it is not really visible for the HVS in terms of Compression/Speed/Quality i would allways prefer SimpleIDCT for Mpeg-2 Decoding :) but those are my "experiences" and who knows maybe you see the difference (it's in how many pixels are keeped less for SimpleIDCT), especialy without knowing the uncompressed source that has been converted into the final lossy Mpeg-2 i doubt you see it but it has an effect on the Final Compression you gain into another Lossy Codec. Skals IDCT gives the exact same Visual as SSE(2)/MMX and is on most systems faster as those.

Here is an easy test example of how to chose wich IDCT is for you :)
Take a Mpeg-2 Encoded Video with alots of Details that has been encoded with the Reference (FDCT) in this case ;)
load it up via DGMPGDEC and now chose every IDCT after the other and Encode this into a loosless codec like Huffyuv or Lagarith and compare the results then decide wich one resambles (the source you don't have the most accurate) or decide on the size of the output wich should be smaller for SimpleIDCT try to compare very high detailed scenes with noise/grain for example ;) all of the encoded lossless results should be bit exact except Skal and SimpleIDCT.