Mercurial > mplayer.hg
comparison DOCS/tech/mpcf.txt @ 17639:56ec8716e25b
some cleanup. enforce decode_delay to not be too high.
author | ods15 |
---|---|
date | Fri, 17 Feb 2006 19:45:35 +0000 |
parents | 363d23eb55d3 |
children | 6b69c5b4b92a |
comparison
equal
deleted
inserted
replaced
17638:ee8d71a1b7ba | 17639:56ec8716e25b |
---|---|
109 ================= | 109 ================= |
110 | 110 |
111 Common elements: | 111 Common elements: |
112 ---------------- | 112 ---------------- |
113 | 113 |
114 packet header: | |
115 forward ptr v | |
116 | |
117 reserved_bytes: | 114 reserved_bytes: |
118 for(i=0; i<forward_ptr - length_of_non_reserved; i++) | 115 for(i=0; i<forward_ptr - length_of_non_reserved; i++) |
119 reserved u(8) | 116 reserved u(8) |
120 [a demuxer MUST ignore any reserved bytes | 117 [a demuxer MUST ignore any reserved bytes |
121 a muxer MUST NOT write any reserved bytes, as this would make it | 118 a muxer MUST NOT write any reserved bytes, as this would make it |
124 | 121 |
125 Headers: | 122 Headers: |
126 | 123 |
127 main header: | 124 main header: |
128 main_startcode f(64) | 125 main_startcode f(64) |
129 packet header | 126 forward_ptr v |
130 version v | 127 version v |
131 stream_count v | 128 stream_count v |
132 max_distance v | 129 max_distance v |
133 tmp_pts=0 | 130 tmp_pts=0 |
134 tmp_mul=1 | 131 tmp_mul=1 |
168 reserved_bytes | 165 reserved_bytes |
169 checksum u(32) | 166 checksum u(32) |
170 | 167 |
171 stream_header: | 168 stream_header: |
172 stream_startcode f(64) | 169 stream_startcode f(64) |
173 packet_header | 170 forward_ptr v |
174 stream_id v | 171 stream_id v |
175 stream_class v | 172 stream_class v |
176 fourcc vb | 173 fourcc vb |
177 time_base_nom v | 174 time_base_nom v |
178 time_base_denom v | 175 time_base_denom v |
229 } | 226 } |
230 data | 227 data |
231 | 228 |
232 index: | 229 index: |
233 index_startcode f(64) | 230 index_startcode f(64) |
234 packet header | 231 forward_ptr v |
235 max_pts v | 232 max_pts v |
236 syncpoints v | 233 syncpoints v |
237 for(i=0; i<syncpoints; i++){ | 234 for(i=0; i<syncpoints; i++){ |
238 syncpoint_pos_div8 v | 235 syncpoint_pos_div8 v |
239 } | 236 } |
294 reserved_bytes | 291 reserved_bytes |
295 checksum u(32) | 292 checksum u(32) |
296 | 293 |
297 info_packet: (optional) | 294 info_packet: (optional) |
298 info_startcode f(64) | 295 info_startcode f(64) |
299 packet header | 296 forward_ptr v |
300 info_frame | 297 info_frame |
301 | 298 |
302 syncpoint: | 299 syncpoint: |
303 syncpoint_startcode f(64) | 300 syncpoint_startcode f(64) |
304 coded_pts v | 301 coded_pts v |
454 decode_delay | 451 decode_delay |
455 maximum time between input and output for a codec, used to generate | 452 maximum time between input and output for a codec, used to generate |
456 dts from pts | 453 dts from pts |
457 is set to 0 for streams without B-frames, and set to 1 for streams with | 454 is set to 0 for streams without B-frames, and set to 1 for streams with |
458 B-frames, may be larger for future codecs | 455 B-frames, may be larger for future codecs |
456 decode_delay MUST NOT be set higher than necessary for a codec. | |
459 | 457 |
460 fixed_fps | 458 fixed_fps |
461 1 indicates that the fps is fixed | 459 1 indicates that the fps is fixed |
462 | 460 |
463 codec_specific_data | 461 codec_specific_data |
560 checksum | 558 checksum |
561 crc32 checksum | 559 crc32 checksum |
562 checksum is calculated for the area pointed to by forward_ptr not | 560 checksum is calculated for the area pointed to by forward_ptr not |
563 including the checksum itself (from first byte after the | 561 including the checksum itself (from first byte after the |
564 forward_ptr until last byte before the checksum). | 562 forward_ptr until last byte before the checksum). |
563 In the case of info frames, covers area from begginning of frame. | |
565 | 564 |
566 syncpoint_checksum | 565 syncpoint_checksum |
567 crc32 checksum | 566 crc32 checksum |
568 checksum covers from first byte after syncpoint startcode until last | 567 checksum covers from first byte after syncpoint startcode until last |
569 byte before the syncpoint_checksum. | 568 byte before the syncpoint_checksum. |
727 ------------ | 726 ------------ |
728 | 727 |
729 Info frames can be used to describe the file or some part of it (chapters) | 728 Info frames can be used to describe the file or some part of it (chapters) |
730 | 729 |
731 | 730 |
732 Unknown packets: | |
733 ---------------- | |
734 | |
735 MUST be ignored by the demuxer | |
736 | |
737 | |
738 demuxer (non-normative): | 731 demuxer (non-normative): |
739 ------------------------ | 732 ------------------------ |
740 | 733 |
741 in the absence of a valid header at the beginning, players SHOULD search for | 734 in the absence of a valid header at the beginning, players SHOULD search for |
742 backup headers starting at offset 2^x; for each x players SHOULD end their | 735 backup headers starting at offset 2^x; for each x players SHOULD end their |