Skip to content

Kelimion/odin_file_formats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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. Various compression algoritms and file formats are under construction in my compression repository.

About

Odin Implementations of various file formats.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published