Release Notes

MP4v2 1.9.0 Release Notes

1 What's New?

Welcome! This is the inaugural release of MP4v2.

This project's goal is to continue development of a C-library named libmp4v2 which was once a part of the (now defunct) MPEG4IP project. That library, and some related command-line utilities were branched from MPEG4IP version 1.6.1 to seed this project, MP4v2.

2 Breaking Changes

2.1 Top-level header file

This release is nearly 100% API compatible with MPEG4IP, however there are some differences. Dependents of this library must now include the top-level public header file as follows. This is the only supported mechanism to include the library. We do not support attempts to include any sub-level header files; such files are private implementation details and their naming must not be relied upon.

#include <mp4v2/mp4v2.h>

2.2 Command-line utilities

The command-line utilities have been totally rewritten and enhanced. Help usage has been made more consistent and enhanced, please invoke the appropriate utility in this fashion for more details:

command --help

Appendix A Changelog

A.1 Version 1.9

  1. Renamed public API top-level header to <mp4v2/mp4v2.h> and added namespaces for implementation (private) symbols. Only public API symbols are exported for dynamic (shared) or DLL libraries. All other symbols are now private, notwithstanding static-library usage.
  2. Added initial AC3 support.
  3. Added native Windows port. The port targets WINVER 0x0500 which is Windows 2000 or higher.
  4. Added QuickTime and Nero chapter support. See mp4chaps command-line utility.
    Contributed by Ullrich Pollähne <u.pollaehne@gmail.com>.
  5. Enhanced mp4art to support multiple cover-art atoms.
  6. Dropped mp4dump and replaced with mp4file which supports general file operations.
  7. Added mp4track with colr-box and pasp-box support.
  8. Fixed corruption of udta.name atom during read-in.
  9. Enhanced mp4file --dump to show hexdump-style canonical hex+ASCII data.
  10. Enhanced mp4file --dump to show human-readble value for tag typeCode values.
  11. Enhanced mp4file --dump to show human-readble value for ISO-639-2/T language codes.
  12. Added new public-API: MP4GetTrackLanguage().
  13. Added new public-API: MP4SetTrackLanguage().
  14. Added support for GCC precompiled-headers on various *nix platforms to speed up builds as we are using quite a few C++ headers.
  15. Enhanced mp4track to facilitate modification of { enabled, inmovie, inpreview, altgroup, volume, width, height, language, hdlrname, udtaname } properties.
  16. Added new public-API: MP4GetTrackDurationPerChunk().
  17. Added new public-API: MP4SetTrackDurationPerChunk() to override default per-track chunk duration.
  18. Added new public-API: MP4WriteSampleDependency().
  19. Replaced (undocumented) public-API: MP4CreateEx() with MP4CreateProvider().
  20. Added new public-API for iTMF Generic functionality.

A.2 Version 1.6

  1. Branched libmp4v2 module from mpeg4ip project version 1.6.1.

Appendix B SCM repository details

url:  https://mp4v2.googlecode.com/svn/releases/1.9.0
root: https://mp4v2.googlecode.com/svn
uuid: 6e6572fa-98a6-11dd-ad9f-f77439c74b79
rev:  333
date: 2009-05-21 14:49:27 -0400 (Thu, 21 May 2009)
type: stable