Talk:OggYUV: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 32: | Line 32: | ||
=== Chroma Subsampling Methods === | === Chroma Subsampling Methods === | ||
* We need to know two things, what the size/shape of chroma pixels are, and if they are packed, what order they are provided in the bitstream. | |||
# | ** This seperates the order of the data and the processing of the data, both of which are important but get very complicated if mixed | ||
# | ** The order must match the shape it's based on, ie, 4:4:4 should be in "0:0" order, any other value (which is illegal) should not be supported by any software if encountered and should never be generated. | ||
Chroma Pixel "Shapes" | |||
===================== | |||
ID Shape Used-In | |||
0 #--- 4:4:4 | |||
---- | |||
---- | |||
---- | |||
. | |||
1 ##-- 4:2:2 | |||
---- | |||
---- | |||
---- | |||
. | |||
2 #### 4:1:1 | |||
---- | |||
---- | |||
---- | |||
. | |||
3 #--- ? | |||
#--- | |||
---- | |||
---- | |||
. | |||
4 ##-- 4:2:0 | |||
##-- | |||
---- | |||
---- | |||
. | |||
5 #### 4:1:0 | |||
#### | |||
---- | |||
---- | |||
. | |||
6 #### ? | |||
#### | |||
#### | |||
#### | |||
. | |||
7 Extended Shape, unsupported in v1.0 |
Revision as of 21:30, 9 November 2005
Interlace Flag?
- The interlacing information doesn't seem complete to me. How do you know which field(s) you have in any give packet, for example? How do you distinguish between a 25Hz shutter and a 50Hz shutter? Field order switching? Mixing with uninterlaced data?
--Gumboot 03:00, 9 Nov 2005 (PST)
- In my experience, all interlace is every other frame, even scanlines followed by odd scanlines. Is there any video codec which supports more than an interlace flag?
--Arc 10:42, 9 Nov 2005 (PST)
Variable frame-rates
- There doesn't seem to be any handling of variable frame-rate data, or a specification for a timebase for the granulepos.
--Gumboot 03:00, 9 Nov 2005 (PST)
- Granulepos is the last frame decodable in the current packet/page. As far as variable framerates within a single stream, is there any codec which supports this currently?
--Arc 10:42, 9 Nov 2005 (PST)
Codec Identifier
- The identifier seems a little short. You'd get false positives if somebody wanted to use a "YUVx" format, for example.
--Gumboot 03:00, 9 Nov 2005 (PST)
- I believe that's OK with raw formats, if someone wanted to use a YUV-like codec they could use a prefix, vs a suffix, to identify it by. Also, if their header packet ID is something other than 0x00, it will not generate a false positive to have a YUV* codec identifier since the YUV plugins only support streams which begin with packet id 0.
--Arc 10:42, 9 Nov 2005 (PST)
Aspect ratio
- Is the aspect ratio the pixel aspect or the frame aspect?
--Gumboot 03:00, 9 Nov 2005 (PST)
- Frame aspect, this acts exactly like the aspect ratio in the Theora header, right down to having the same bit-size for the fields. Typically, the ratio is 4:3 or 16:9.
--Arc 10:42, 9 Nov 2005 (PST)
Chroma Subsampling Methods
- We need to know two things, what the size/shape of chroma pixels are, and if they are packed, what order they are provided in the bitstream.
- This seperates the order of the data and the processing of the data, both of which are important but get very complicated if mixed
- The order must match the shape it's based on, ie, 4:4:4 should be in "0:0" order, any other value (which is illegal) should not be supported by any software if encountered and should never be generated.
Chroma Pixel "Shapes" ===================== ID Shape Used-In 0 #--- 4:4:4 ---- ---- ---- . 1 ##-- 4:2:2 ---- ---- ---- . 2 #### 4:1:1 ---- ---- ---- . 3 #--- ? #--- ---- ---- . 4 ##-- 4:2:0 ##-- ---- ---- . 5 #### 4:1:0 #### ---- ---- . 6 #### ? #### #### #### . 7 Extended Shape, unsupported in v1.0