From: Matto M. <ma...@mi...> - 2004-01-28 00:47:53
|
Hi, Hitoshi, >PROPOSAL for progressive/interlaced/pulldown mixed stream > > >1. YUV4MPEG2 tags in MJPEG This part is all about storing YUV4MPEG2 tags in MJPEG frames, ok.... >2. YUV4MPEG2 tags in edit list And this part is all about storing tags in edit lists, ok.... (Neat idea.) >3. Frame i-tag And this part is about the actual tags themselves. Could you compare this to my earlier proposal (the one with S, T, and P frame tags)? What was lacking? I must admit that your proposal below is a bit confusing to me.... >Variations of frame i-tag: > i? unknown (use stream I-tag) > im progressive, bottom field first > iM progressive, bottom field first, repeat first field > ip progressive, top field first > iP progressive, top field first, repeat first field > if film before pulldown (treat as 'ip' or do telecine) > ib interlaced, bottom field first > iB interlaced, bottom field first, repeat first field (maybe never used) > it interlaced, top field first > iT interlaced, top field first, repeat first field (maybe never used) > ii interlaced (in 'Ib' stream treat as 'ib', else treat as 'it') > ix progressive with last field (treat as 'ii' or exchange second field) > ia after pulldown (treat as 'ii' or do reverse telecine) For reference, here is that earlier proposal: o Extend the stream header 'I' tag to take the value 'm' (for "mixed") in addition to 'p','t' or 'b'. This value means that interlacing is defined on a frame-by-frame basis, not stream-wide. o Define three (new) tags for the frame header: - Sx to describe subsampling (spatial property): 'p' = progressive (subsampled as single whole frame) 'i' = interlaced (subsampled as two independent fields) - Tx to describe temporal relation of fields 'p' = progressive (concurrent fields -- single prog. frame) 'i' = interlaced (fields sampled at different moments) - Px to describe presentation: 't' = top-field-first 'T' = top-field-first, repeat-first-field 'b' = bottom-field-first 'B' = bottom-field-first, repeat-first-field '1' = one progressive frame '2' = two progressive frames '3' = three progressive frames -matt m. |