MCF specification, technical part/history
This is a subpage of MCF-specification.
Latest changes (new ones on top)
- MultiSeg started (search for the word here).
- Some parts frozen now.
- Bit 0 is the LSB, but some thought that it was the highest.
- Seek Entries renamed to Seek Header. Special entries added.
- Gap system added.
- Number of Seek Entries removed from Track Entry.
- Seek Entries redesigned; overhead reduced again and seeking might be a bit faster.
- Due to many big changes being WIP, there may be big errors in the spec.
- Broadcast updated a bit (still WIP).
- Stream end marker (Magic Block 0xFF) is mandatory.
- Broadcast file extensions removed (merged), .media.mcf removed (not used yet/soon).
- Broadcast and normal MCF merged. Lot of work still to be done.
- Number of Blocks in Actual Header changed informational
- Some changes in RSACI
- Cluster Size includes Cluster Footer too (this detail was formerly missing from specs)
- Karaoke specs
- New fields added to Actual Header: muxing app, writing app
- Broadcast-format flag added to Actual Header
- Cluster frozen
- New field in Main Header for Cluster Footer size
- Streaming/broadcasting specs written
- Block Header rearranged and no longer has negative offsets
- Cluster Footer added, checksum moved to it, and Cluster Header rearranged
- MCF-CD info minor updates (and code); formats minor updates
- Some information about levels (especially framing) written
- Lacing documented
- MCF-CD draft added
- Codec Header info added.
- Codec Header position in Track Entries removed: it is in Actual Header now.
- All elements now have a 4 octets ASCII identifier in front of 'em.
- Space-efficiency calculation updated. Overhead down to 0.4 %, thanks to Clusters.
- Some outdated info fixed (structure).
- Actual Header redesigned (everything rearranged, some things changed) and will freeze on 2002-04-08.
- Type Header strings now padded with 0x20, not 0x00.
- Actual Header: 1st Block changed to 1st Cluster; last Cluster ending position added
- Some logos etc. added
- Interlaced video dimensions are field dimensions now, not frame
- Audio channel mapping is now done in DirectShow style
- RSACI Rating UI defined
- Extended Info UI defined, Content-specific Info defined (but both are subject to change)
- IMPORTANT: Checksum Entries got replaced by Clusters - causing many big structural changes
- Subtitle flag added for Titles Track
- The number of Control Tracks is not limited: the false paragraph claiming so got removed
- Some updates on the front page (including recalculated space efficiency)
- Number of keyframes added to Track Entry
- Several little changes on formats page
- Track Entry checksum positioning is now relative to end of header
- Samplerate is now uint32, several fields in Audio Track Header got moved
- Editing date added to Extended Info
- Format minimum read-version added to Track Entry
- Track number removed from Track Entries (no need for such protection)
- Cosmetical: many hyphens got removed, typos fixed, old information cleared out, etc.
- Block-entries got replaced by Seek Entries - this greatly reduces our overhead
Current problems (work in progress)
- Video-window size should either be defined somewhere or auto-determined, for the case when there are no video-tracks
- We need someone to implement cryptography in our library, so that no external libraries are required