On Thu, Oct 28, 2004 at 08:57:28AM -0700, Steven M. Schultz wrote: > > 3: Something completely different. > > > > In case 3: What? :) > > There's no case 3. Cases 1 and 2 cover all the possibilities - either > the data is interlaced or it is progressive, I can't imagine an third > state ;)
This, actually, opens a brand new box of worms :-) Of course, when you talk about original material, there's no question that it is either interlaced (broadcast analog video signal) or progressive (celluloid scans). Unfortunately the fact that MPEG2 was designed primarily to make *interlaced* playback as easy as possible and because of the way a lot of DVDs are mastered things get ugly. As you know, MPEG2 allows you to use one *picture* to represent: 1. One field with half the resolution. 2. Complete frame. It's all fine and dandy, but that's exactly where the line (and terminology!) between progressive and interlaced gets rather murky *when* you add a pull-down to the mixture. Let's start from the very beginning -- you have your celluloid film, that runs at 24fps, you scan it and you want to encode result onto the NTSC DVD where the frame rate is 30fps (or 30000/1001). Obviously you start with *progressive* material, after all there's nothing more progressive than a strip of film. However, when you start putting it on DVD you have the following 3 choices: 1. Store each physical frame in a separate picture and mark it as "progressive". Of course, because DVDs are all about *interlaced* playback and because you use 24fps material with a 30fps target you have to sprinkle Top_Field_First and Repeat_First_Field all over the place. So that DVD player can artifially construct 10 fields out of the original 4 physical frames. 2. Take each physical frame apart and make 2 fields out of each physical frame (that's exactly the problem original poster was faced with). Then use *separate* pictures to represent each frame, marking all of them as being "interlaced". That's an easiest case for a DVD player -- every *picture* is representing exactly one field so all it has to do is just output them. No brains required. Of course, since you still have to battle 24fps -> 30fps conversion, you'll have to store some identical fields in neighbouring pictures. The extra step for a DVD player from the #1 is gone. 3. This one is much easier to explain using an example. Suppose you have 4 physical frames: F1 F2 F3 F4. You take them apart and create 8 fields out of them ('t' is for top-field and 'b' is for bottom-field): F1t F1b F2t F2b F3t F3b F4t F4b. Now you create 5 pictures out of these 8 fields: P1 = F1t + F1b ( == F1 ) P2 = F1t + F2b P3 = F2t + F3b P4 = F3t + F3b ( == F3 ) P5 = F4t + F4b ( == F4 ) and only than you store the resulting pictures onto DVD. They smell like progressive frames, they feel like progressive frames -- but they are not really progressive frames. Is #1 progressive -- sure. Is #2 interlaced -- well, yes and no. Ditto for #3. Thanks, Roman. P.S. For much better explanation of how brain-dead DVD encoding could be feel free to visit: http://www.hometheaterhifi.com/volume_7_4/dvd-benchmark-part-5-progressive-10-2000.html ------------------------------------------------------- This Newsletter Sponsored by: Macrovision For reliable Linux application installations, use the industry's leading setup authoring tool, InstallShield X. Learn more and evaluate today. http://clk.atdmt.com/MSI/go/ins0030000001msi/direct/01/ _______________________________________________ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users