Skip to content

About

Odin Implementations of various file formats.

Resources

Stars

19 stars

Watchers

1 watching

Forks

Latest commit

 

History

32 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

File Formats

Odin implementations of various file formats (WIP).

ISO Base Media File Format (BMFF)

The base container format used for MP4, HEIF, JPEG 2000, and other formats.

Implemented from ISO/IEC Standard 14496, Part 12, fifth edition 2015-12-15 specification.

See also: Library of Congress archivist's information about the format.

Status

  • open opens a file and returns a handle.
  • close closes the file and cleans up anything allocated on behalf of the user.
  • parse parses the opened file.
  • print prints the parse tree.
  • Various convenience functions to convert things to Odin-native types.
  • Initial test harness.

TODO

  • Add parse options, e.g. parse / don't parse the mdat box, etc.
  • Add handlers for more box types.
  • Add more box constraints, e.g. type foo_ may appear only in bar_, zero or more times.
  • Add a writer.

Extensible Binary Meta Language (EBML)

The base container format used for Matroska and WebM.

Implemented from RFC 8794 and the Matroska specification.

Status

  • open opens a file and returns a handle.
  • close closes the file and cleans up anything allocated on behalf of the user.
  • parse parses the opened file.
  • print prints the parse tree.
  • Various convenience functions to convert things to Odin-native types.
  • Initial test harness.

TODO

  • Add parse options, e.g. parse / skip clusters, etc.
  • Add more element constraints, e.g. type foo_ may appear only in bar_, zero or more times.
  • Add a writer.
  • Add tables and enums for tags and codecs.

Other file formats

TBD.

Revisions

2025-05-16

Jeroen van Rijn nom@duclavier.com:

  • BMFF + EBML: Compile with all the -vet vlags
  • BMFF + EBML: Remove placeholder test framework

2021-11

Jeroen van Rijn nom@duclavier.com:

  • BMFF + EBML: Initial implementations

About

Odin Implementations of various file formats.

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages