comparison DOCS/tech/mpcf.txt @ 10817:59ac254c2541

some updates
author alex
date Fri, 05 Sep 2003 18:45:12 +0000
parents e860465ef46e
children d163db068a12
comparison
equal deleted inserted replaced
10816:e9dc9b0b16fa 10817:59ac254c2541
1 nut format draft 0.02 1 NUT Open Container Format DRAFT 20030906
2 ----------------------------------------
2 3
3 4
4 5
5 Intro: 6 Intro:
6 7
112 width v 113 width v
113 height v 114 height v
114 sample_width v 115 sample_width v
115 sample_height v 116 sample_height v
116 colorspace_type v 117 colorspace_type v
117 depth v
118 reserved_bytes 118 reserved_bytes
119 checksum u(32) 119 checksum u(32)
120 120
121 audio_stream_header: 121 audio_stream_header:
122 stream_header 122 stream_header
225 225
226 version 226 version
227 0 for now 227 0 for now
228 228
229 file_size 229 file_size
230 size in bytes, can be 0 if not meaningfull (realtime streams, ...) 230 size in bytes. 0 invalidates the field
231 231
232 length_in_msec 232 length_in_msec
233 length of the file in milli seconds (can be 0 if realtime or such) 233 length of the file in milli seconds (0 invalidates the field)
234 234
235 stream_id 235 stream_id
236 Note: streams with a lower relative class MUST have a lower relative id 236 Note: streams with a lower relative class MUST have a lower relative id
237 so a stream with class 0 MUST allways have a id which is lower then any 237 so a stream with class 0 MUST allways have a id which is lower then any
238 stream with class > 0 238 stream with class > 0
246 a decoder MUST ignore streams with reserved classes 246 a decoder MUST ignore streams with reserved classes
247 247
248 fourcc 248 fourcc
249 identification for the codec 249 identification for the codec
250 example: "H264" 250 example: "H264"
251 MUST contain 4 bytes, note, this might be increased in the future if 251 MUST contain 2 or 4 bytes, note, this might be increased in the future
252 needed 252 if needed
253 253
254 language_code 254 language_code
255 ISO 639 and ISO 3166 for language/country code 255 ISO 639 and ISO 3166 for language/country code
256 something like "usen" (US english), can be 0 256 something like "usen" (US english), can be 0
257 if unknown 257 if unknown
258 see http://www.loc.gov/standards/iso639-2/englangn.html 258 see http://www.loc.gov/standards/iso639-2/englangn.html
287 1 indicates that this file has an index 287 1 indicates that this file has an index
288 Note, all files SHOULD have an index at the end except, (realtime) streams 288 Note, all files SHOULD have an index at the end except, (realtime) streams
289 Note, all streams SHOULD have an index 289 Note, all streams SHOULD have an index
290 290
291 codec_specific_data_type 291 codec_specific_data_type
292 0 end 292 0 none/end
293 1 native 293 1 native
294 2 bitmapinfoheader 294 2 bitmapinfoheader
295 3 waveformatex 295 3 waveformatex
296 4 imagedesc 296 4 imagedesc
297 5 sounddesc 297 5 sounddesc
369 sample_width/sample_height (aspect ratio) 369 sample_width/sample_height (aspect ratio)
370 sample_width is the horizontal distance between samples 370 sample_width is the horizontal distance between samples
371 sample_width and sample_height MUST be relative prime if not zero 371 sample_width and sample_height MUST be relative prime if not zero
372 MUST be 0 if unknown 372 MUST be 0 if unknown
373 373
374 depth
375 for compatibility with some win32 codecs
376
377 colorspace_type 374 colorspace_type
378 0 unknown 375 0 unknown
379 1 ITU Rec 624 / ITU Rec 601 Y range: 16..235 Cb/Cr range: 16..240 376 1 ITU Rec 624 / ITU Rec 601 Y range: 16..235 Cb/Cr range: 16..240
380 2 ITU Rec 709 Y range: 16..235 Cb/Cr range: 16..240 377 2 ITU Rec 709 Y range: 16..235 Cb/Cr range: 16..240
381 17 ITU Rec 624 / ITU Rec 601 Y range: 0..255 Cb/Cr range: 0..255 378 17 ITU Rec 624 / ITU Rec 601 Y range: 0..255 Cb/Cr range: 0..255
492 489
493 headers may be repated, but if they are then they MUST all be repeated together 490 headers may be repated, but if they are then they MUST all be repeated together
494 and repeated headers MUST be identical 491 and repeated headers MUST be identical
495 492
496 headers MUST be repeated every 10sec at least ? FIXME 493 headers MUST be repeated every 10sec at least ? FIXME
494 headers MUST be repeated BEFORE keyframes
497 headers MUST be repeated at least twice (so they exist 3 times in a file) 495 headers MUST be repeated at least twice (so they exist 3 times in a file)
498 496
499 Index 497 Index
500 the index can be repeated but there SHOULD be at least one for each stream at 498 the index can be repeated but there SHOULD be at least one for each stream at
501 the end 499 the end