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