jdobbs Thanks guys, I can accept those answers. I didn't think that the two SSE2/MMX settings were the same, but I had no way of knowing what their differences were without trying them all. I knew that they involved instructions that could have had the effect of speeding the process up but not which processors under which setting. I figured it was time to try and find out what each setting did but to do that I need a team or several PC's. Perhaps but too little information is almost guaranteed to keep them as beginners. Sorry I didn't mean to start such a Ruckus (or was that Rockas), but I've had that question thrown at me over and over again and I was getting tired of saying "I don't know."
Hopefully this will clear the air a little bit about what the difference between different IDCT settings. This is an excerpt from the official MPEG FAQ. Most people (like me) won't really understand most of the specifics, but you can get the general point with some careful reading: Basically, what this says to me is that in order to get a perfect representation of an MPEG video stream the decoder requires a huge number of calculations, making the process very time consuming (note that this is only part of the process of MPEG decoding). As a result, most decoders will tend to make some assumptions, based on the expected results of certain calculations, allowing this part of the process to be sped up to the point where the time required is relatively insignificant compared to the rest of the decoding process. Since MPEG also uses inter-frame compression, an algorithm that uses these 'shortcuts' will also tend to become worse over time as the error from the first frame is propagated to each frame that depends on it for prediction (ie P and B frames) and increased by the use of the same algorithm for each of those frames. However, this error should never become too great because a DVD will rarely have more than 14 P/B frames (11 for PAL) between I frames - never more than 17 (14 for PAL), and I frames are self-contained, therefore having no errors beyond those inherent to the IDCT algorithm. Hopefully that was at least slightly less confusing than the FAQ, but I'll leave that for others to decide If you read the Doom9 thread Rockas referred to you'll find that all of the possible IDCT values except 7 still fall within the bounds of the MPEG standard, although 7 should still work fine and 4 is broken in the decoder version supported by DVD-RB. I've personally gone back to using IDCT=5 because I'm incredibly anal about such things (the same reason I don't have a single compressed backup made without CCE).
Nice read Vurbal, could you find some of the other threads and get them to the rebuilder forum, threads such as your advanced thread?
I'll work on it in the morning before I get back to work on updating the guide. I plan to spend a lot more time organizing the DVD-RB forum in the near future. I just hope reading that post doesn't make your head hurt as much as mine does after writing it.
Not at all it goes to (CPU) hardware which is in my comfort zone. LOL We have a lot of loose threads that are if nothing else good history in the development of RB. I also think that we can squeeze remake in here as well.
DVDRemake? Only if you need to fill space. It's a handy tool, but it is still for editing and not a "have to have" item for RB. One could just as easily say DVDLabPro or another. I do realize that DVDRemake is probably the simplest to use, but it's still an editing tool. While speaking of Remake, a lot of people seem to be complaining about the guide from Dimad not being complete. Anyone know if they'll ever get the guide done? Interesting discourse on IDCT as to what it is and does. Where I get left in the dark is how the settings relate to the various processors as a few of the settings have what appears to be the same settings included, i.e. the various SSE, SSE2 and MMX settings in the different IDCT selections. I guess the best way to phrase the question might be, "Under what circumstances should each of the IDCT settings be used" or "What is the difference in using the various IDCT settings"?
Aside from the differences (that you probably won't see) in the actual decoder output, the only thing you really need to understand is what instruction sets each CPU supports. MMX is obviously supported by any CPU you'd be using. SSE is supported by P3/P4 and Athlon XP. SSE2 is supported by P4 and Athlon64. Since SSE2 is faster than SSE which is faster than MMX, the preferences among the standards compliant IDCT settings would be as follows: P2/Athlon - 32 Bit MMX P3/Athlon XP - 32 Bit SSE/MMX P4/Athlon 64 - 32 Bit SSE2/MMX Apparently idct=6 (32 Bit SSEMMX iDCT (Skal)) is actually the fastest on A64 CPU's, and I found it to be the fastest on my P4 as well, but it's not quite as accurate as the 3 listed above. Technically it's also not MPEG standards compliant, although if you're happy with the results that's no reason not to use it.
I thought idct=7 was 32 Bit Simple MMX (XVID). It comes out about 2 minutes faster than SSE2 on my Athlon 64.
vurbal I've found that the 32 bit SSE2/MMX setting, the one that is third from the bottom has given me the best results. Below is a link to images of a result that I received using that setting. I've had others come in a little faster and some a little slower but they all come in a lot faster than my P4@3.149 GHZ did. http://forums.afterdawn.com/thread_view.cfm/113/97052
Carefull Sophocles. You wouldn't wan't to spark another AMD vs Intel debate in Rebuilder guide thread. Or should I say Don't poke the bear.
@64026402 Now that you mention it I think that's right. I'll edit that post to indicate the correct value. @Sophocles That's good since SSE2/MMX is apparently more accurate anyway.
There you have it folks. A reasonable explanation as to the right settings for the right machines. I'm satisfied. SSE2/MMX seems the best choice for mine. Thanks Vurbal.
I don't have to I think that you just did. brobear Although there are two settings that appear to be the same "32 Bit SSE2/MMX" they're different in result. I'm not sure why they both read with the same title. According to jdobbs the settings show up automatically and are a function of the application "DGMPGDec" from which "DGDecode.dll" was extracted. This is why no one truly knows what the differences are. To find out we'd have to confront the author of DGMPGDec.
jdobbs In the menu the second choice from the top below the default setting is listed as being "32Bit SSE2/MMX" and the third from the bottom is also listed as "32 Bit SSE2/MMX and there seems to be no way to distinguish one setting from the other.