2014-06-09  Moritz Bunkus  <moritz@bunkus.org>

        * Released v7.0.0.

2014-05-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: In addition to the track statistics tags
        »BPS«, »DURATION«, »NUMBER_OF_BYTES« and »NUMBER_OF_FRAMES«
        mkvmerge will write two more tags identifying which application
        wrote the statistics (»_STATISTICS_WRITING_APP«) and when the file
        in question was written: »_STATISTICS_WRITING_DATE_UTC«.
        »_STATISTICS_WRITING_APP« will always contain the same string
        contained in the segment info header element »WritingApp«.
        »_STATISTICS_WRITING_DATE_UTC« will contain the same timestamp as
        in the segment info header element »Date«, though
        »_STATISTICS_WRITING_DATE_UTC« is actually a string representation
        instead of an integer value.

        Additionally a tag named »_STATISTICS_TAGS« is written containing
        the names of the tags that mkvmerge has set automatically. It
        equals the following currently: »BPS DURATION NUMBER_OF_BYTES
        NUMBER_OF_FRAMES«.

        * build system: Boost's "date/time" library is now required.

2014-05-25  John Peebles  <johnpeeb@gmail.com>

        * mkvmerge: bug fix: If a single subtitle track contains two or
        more entries at the same timecode then the cue duration and cue
        relative position elements written were wrong.

2014-05-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: fixed wrong progress percentage shown during
        saving the information to text files. Fixes #1016.

        * mkvmerge: new feature: Added a global option for disabling
        writing the tags with statistics for each track:
        --disable-track-specific-tags.

2014-05-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: When identifying a Matroska file in
        verbose identification mode track-specific tags will be output as
        well. The format is »tag_<tag name in lower case>:<tag value>»,
        e.g. for a tag named »BPS« with the value »224000« the output
        would be »tag_bps:224000«. Enhancement for #1021.

        * mkvmerge: new feature: mkvmerge will write track-specific tags
        with statistics (»BPS« for the average number of bits per second,
        »DURATION« for the duration, »NUMBER_OF_BYTES« and
        »NUMBER_OF_FRAMES« for the track's size in bytes and its number of
        frames/packets). Implements #1021.

2014-05-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Changed the file type detection order
        again. The text subtitle formats are now probed after those binary
        formats that can be detected quickly and unambiguously. This
        avoids some mis-detection if e.g. Matroska files as ASS text
        subtitles if they do contain such a track.

        * mmg: enhancement: The chapter editor will only use fast-mode
        parsing when loading chapters from Matroska files.

2014-05-14  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: fixed invalid memory access in the cleanup
        procedures which only occurred if the output was redirected with
        the »--redirect-output« command line parameter.

2014-05-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: The last chapter entry read from MPLS
        files is removed if it is at most five seconds long. Patch by
        Andrew Dvorak (see AUTHORS).

        * mkvmerge: enhancement: added the attachment UID to the verbose
        identification output of Matroska files.

2014-04-21  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Selecting a subtitle track correctly sets the
        »character set« drop-down box if no character set was set for this
        track. Fixes #1008.

        * mmg: enhancement: the subtitle character set cannot be set
        anymore for subtitle tracks read from Matroska files as mkvmerge
        ignores that setting for said container anyway (text subs are
        always encoded in UTF-8 in Matroska).

2014-04-20  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: mmg will look for the »mkvmerge« executable in
        the same directory as the »mmg« executable is located it if the
        location hasn't been set by the user on all operating systems
        (before: only on Windows). Improves detection if »mkvmerge« is not
        in the $PATH.

2014-04-18  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.9.1.

        * mkvmerge: bug fix: fixed huge memory usage when probing files
        (it was reading the whole file into memory for that).

        * Released v6.9.0.

        * all: new feature: added a Brazilian Portuguese translation of
        the programs by Thiago Kühn (see AUTHORS).

        * mkvpropedit, mmg's header editor: bug fix: fixed a failed
        assertion in libEBML when writing the same changes twice to
        certain files (those for which a seek head with a single entry
        pointing to the elements modified by mkvpropedit/mmg's header
        editor; e.g. x264 creates such files). Fixes #1007.

2014-03-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: reading fonts embedded in SSA/ASS files was
        sometimes truncating the attachments created from them. Fixes
        #1003.

        * mkvmerge: bug fix: fixed display of very large IDs during
        attachment extraction.

        * mkvmerge: enhancement: improved file type detection speed for
        text subtitle formats.

2014-03-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: during the extraction of chapters, tags or
        segment info XML files with the --redirect-output parameter the
        BOM (byte order mark) was written twice.

2014-03-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: MPEG TS: timestamp outliers are ignored if
        they differ at least five minutes from the last valid
        timestamp. Fixes #998.

        * mkvmerge: enhancements: trailing zero bytes will be removed from
        AVC/h.264 NALUs. Implements #997.

2014-03-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: fixed timestamp assignment for AVC/h.264
        videos in which recovery point SEIs occur in front of the second
        field of two interlaced fields.

2014-03-02  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.8.0.

2014-02-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract: new feature: added support for h.265/HEVC
        by merging the patches from DivX/Rovi Corp. So far HEVC is only
        supported as elementary streams and read from other Matroska
        files.

2014-02-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: The deprecated ISO 639-1 code "iw" is now
        recognized for Hebrew.

2014-02-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The AC3 packetizer will re-derive the
        sampling frequency and the number of channels from the
        bitstream. This way obviously invalid information from the source
        container like a sampling frequency of 0 Hz will be fixed.

2014-02-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancements: AVI reader: audio chunks with obvious
        wrong size information (bigger than 10 MB) will be skipped.

2014-02-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: When reading M2TS files belonging to an MPLS
        playlist mkvmerge will now only copy packets whose timestamps lie
        between the »in time« and »out time« restrictions from the
        playlist's entry corresponding to that M2TS file. Fixes #985.

2014-01-22  Moritz Bunkus  <moritz@bunkus.org>

        * all: Windows 64bit: fixed return value checks for opening
        files. Fixes #972.

2014-01-21  Moritz Bunkus  <moritz@bunkus.org>

        * all: Windows: when redirecting the program's output with cmd.exe
        (e.g. »mkvinfo file.mkv > info.txt«) the programs will no longer
        write two line feed characters (\r) per carriage return character
        (\n). Fixes #970.

        * all: Windows: the default charset for the files created with
        »--redirect-output« has been changed from the system's local
        charset to UTF-8. Just like before it can be changed with
        »--output-charset«. See #970.

        * all: bug fix: Windows: messages written to the console (cmd.exe)
        are not re-encoded to the local charset and back to UTF-16 before
        they're handed over to ConsoleWriteW(). This fixes outputting
        Unicode characters to the console that are not part of the local
        charset. Fixes #971.

2014-01-18  Moritz Bunkus  <moritz@bunkus.org>

        * extract: bug fix: using names of non-existing files in
        »attachments«, »chapters«, »cuesheet« or »tags« mode caused
        mkvextract to crash instead of emitting a proper error
        message. Fixes #964.

2014-01-17  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: fixed the check for WebM-compatible track types
        for Opus.

2014-01-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: fixed muxing Sorenson v3 (SVQ3) video from
        QuickTime files.

2014-01-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract, mkvpropedit: enhancement: attachments in
        Matroska files with a missing FileUID element are not ignored
        anymore even though they violate the specs. mkvmerge generates a
        new FileUID instead.

2014-01-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: re-built with the 64bit build for Windows with a newer
        compiler version in order to fix #957. It was due to a bug in gcc:
        http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56742

        * mmg: bug fix: mkvmerge's file identification is written to a
        temporary file with --redirect-output and from there into mmg
        instead of directly from mkvmerge. This prevents from character
        re-coding done by wxWidgets 3.0.0 on Windows. Fixes #959.

2014-01-09  Moritz Bunkus  <moritz@bunkus.org>

        * installer: enhancement: the architecture (32bit vs 64bit) is
        mentioned in the interface.

        * installer: bug fix: the installation directory for 64bit builds
        will default to the proper directory (»C:\Program Files« instead
        of »C:\Program Files (x86)«). Fixes #956.

2014-01-08  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.7.0.

        * build system: Ruby 1.9.x is now required.

2014-01-05  Moritz Bunkus  <moritz@bunkus.org>

        * all: enhancement: The architecture (32bit/64bit) is mentioned in
        the version information of all programs.

2014-01-02  Moritz Bunkus  <moritz@bunkus.org>

        * build system: bug fix for 64bit builds on Windows
        (x86_64-w64-mingw32): use the correct processor architecture via
        separate Windows manifest files. Fixes mmg and mkvinfo not
        starting due to »error 0x0000007b«.

        * mkvmerge: bug fix: Fixed a potential endless loop due to an
        integer overflow in the code removing AVC/h.264 filler NALUs.

2014-01-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed reading uncompressed PCM audio tracks
        from QuickTime/MP4 files in certain situations. Fixes #950.

        * mmg: enhancement: Made the »scanned files« list box sortable by
        all columns. Fixes #954.

2013-12-31  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: The »additional parts« dialog will now show
        the files that make up an MPLS playlist. This is for informational
        purposes only and doesn't allow changing the playlist itself.

        * mkvmerge: bug fix: Reading from an MPLS playlist file is now
        done as if the second and following files referenced in that
        playlist had been appended to the first file from that
        playlist. Before they were treated as if they were additional
        parts. Fixes #934.

        * mmg: enhancement: a couple of fixes to tooltips: 1. Content
        correction for »splitting by chapters«; 2. no ugly re-formatting
        with wxWidgets 3.0.0 on Windows.

2013-12-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Improved the AAC, AC3 and MP3 header decoding
        error handling so that the corresponding parsing routines won't
        get stuck in endless loops when encountering certain garbage data
        patterns.

2013-12-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: unified codec names output by mkvmerge's
        identification mode for all file format readers.

        * mkvinfo: bug fix: when setting the language with --ui-language
        a few strings were still translated using the system's default
        language.

        * mkvextract: bug fix: if the track headers were located at the
        end of the file (e.g. after modification with mkvpropedit or mmg's
        header editor) then mkvextract was writing files with a length 0
        bytes.

        * mmg: bug fix: the »playlist items« list box in the »select
        playlist file to add« dialog was showing the items in reversed
        order. Fixes #952.

2013-12-28  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: the »select playlist file to add« dialog can now
        be resized, minimized and maximized. It also remembers its
        position and size during runs. Fixes #951.

2013-12-27  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: The user can select the default subtitle
        character set to use for newly added subtitle tracks in the
        preferences dialog as requested in bug #948.

2013-12-24  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: fixed the tooltip for the subtitle character set
        drop-down box to match mkvmerge's actual behavior. Fixes #948.

2013-12-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: implemented reading DTS audio tracks from
        MP4 files (with ESDS object type ID == 0xA9 (decimal 169) or
        FourCC == 'DTS ' or 'dtsc').

2013-12-18  Ralph Giles  <giles@mozilla.com>

        * mkvmerge: enhancement: allowed muxing Opus to WebM files.

        * mkvmerge: bug fix: Fixed the mapping of the Opus element »seek
        pre-roll« and »pre-skip« to the Matroska elements »track seek
        pre-roll« and »codec delay«. Remuxing Matroska files with Opus
        created with earlier versions of MKVToolNix is enough to fix such
        a file.

2013-12-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: fixing the bitstream timing information of
        h.264/AVC writes clean values for 25000/1001 frames per second
        video (e.g. de-telecined PAL @ 29.97).

2013-12-07  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: fixed a crash in during drag & drop operations in
        mmg's chapter editor.

2013-12-01  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.6.0.

        * mmg: new feature: implemented drag & drop in the chapter
        editor. Implements #929.

2013-11-24  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: fixed an assertion in wxLogMessage() due to wrong
        format string/argument data types caused by changes in wxWidgets
        3.0.0. See Debian bug #730273.

        * mkvmerge: bug fix: improved resilience against MP4 files with
        obviously wrong entries in the 'sample size table' (STSZ) atom.

        * mkvmerge: bug fix: improved VC1 frame type detection so that it
        works even for streams without entry points.

2013-11-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: at most the lower 32bits of the track numbers
        and track UIDs elements were output, even if the element in the
        file used more bits. Fixes #935.

2013-11-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: fixed accessing invalid memory in the memory
        handling core routines. May be triggered by the code to remove
        filler NALUs introduced in v6.5.0. Fixes #931.

2013-10-26  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: fixed the tracks list box on the input tab being
        invisible/0 pixels high with wxWidgets 2.9.x/3.x.

        * all: integrated the Portuguese translation. Although the
        translation files themselves had been added back in 6.3.0 that
        translation wasn't available for selection due to forgetfulness on
        my part.

        * mkvmerge: bug fix: The file detection code in the MPEG
        elementary stream reader had a logic error. Fixes #928. In
        practice this logic error didn't have any consequence.

2013-10-19  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.5.0.

        * mkvmerge: enhancement: filler NALUs will now be removed from
        framed h.264/AVC tracks (such as the ones read from Matroska/MP4
        files) just like they have already been when handling unframed
        tracks.

        * mkvextract: new feature: implemented support for extracting VP9
        tracks into IVF files.

        * mkvmerge: new feature: implemented support for VP9 read from IVF
        and Matroska/WebM files. Implements #899.

        * mkvextract: enhancement: using the same track/attachment ID
        multiple times in "tracks", "attachments" or "timecodes_v2" mode
        will result in an error message instead of one empty
        file. Implements #914.

        * mmg: bug fix: With wxWidgets 2.9.x/3.0.x debug message will no
        longer appear as modal dialogs but only go to the log window.

2013-10-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: fixed a crash when reading empty global tag
        files. Fixes #921.

2013-10-17  Moritz Bunkus  <moritz@bunkus.org>

        * build system: bug fix: fix autodetection of Boost's library path
        if it is installed in the multiarch directories
        (e.g. /usr/lib/i386-linux-gnu or /usr/lib/x86_64-linux-gnu).

2013-10-04  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: saved window widths were growing by 1 pixel each
        time mmg was exited.

2013-10-03  Moritz Bunkus  <moritz@bunkus.org>

        * documentation: Added a German translation of the man pages by
        Chris Leick (see AUTHORS).

2013-10-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Reading OGM files with chapter entries not
        encoded in the system's local character set has been fixed. During
        identification the number of chapter entries is still output by
        removing any non-ASCII characters from the chapter entries. When
        muxing an additional warning is output if parsing those chapter
        entries fails, e.g. due to the format being wrong or due to the
        charset guessed wrongly. Fixes #919.

2013-09-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The "duration" element was calculated wrong
        if the first element in the file wasn't the one with the smallest
        timestamp. To be precise, it was too short by the difference
        between the first timestamp and the smallest one (e.g with video
        sequences timestamped 80ms, 0ms, 40ms, 120ms... the duration was
        80ms too short).

2013-09-16  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.4.1.

        * mkvmerge: bug fix: fixed packet ordering regression introduced
        in 6.4.0 if --default-duration is used for a track.

2013-09-15  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.4.0.

        * mkvextract: new feature: Implemented extraction of Opus tracks
        into OggOpus files.

2013-09-14  Monty Montgomery  <xiphmont@gmail.com>

        * mkvinfo: bug fix: The track information summary enabled with
        -t/--track-info counted bytes in SimpleBlocks twice.

2013-07-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: CueRelativePosition was wrong for
        BlockGroups: it pointed to the Block inside the group instead of
        the BlockGroup itself. CueRelativePosition elements for
        SimpleBlock elements are not affected. Fixes #903.

2013-07-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Implemented final Opus muxing.

2013-07-04  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The "jobs" folder will be created in the same
        mmg.exe is located in for the portable version. The installed
        version will still keep the folder where has already been
        (%APP_DATA%\mkvtoolnix\jobs).

        * mmg: bug fix: Closing mmg's window while it was minimized caused
        mmg to appear hidden and unmovable when started the next time.

2013-07-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed overly long startup time with wxWidgets
        2.9.x (especially on Windows) by using alternative methods for
        initializing certain controls. Makes startup time on par with
        wxWidgets 2.8. See #893.

2013-07-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: new feature: Added support for the new Matroska
        elements DiscardPadding, CodecDelay and SeekPreRoll.

        * build system: libMatroska 1.4.1 is now required for building.

2013-06-27  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.3.0.

        * mkvmerge: bug fix: When appending unframed AVC/h.264 tracks and
        setting the default duration the second and all following source
        parts will use the same default duration as set for the first
        part. Fixes #889.

        * all: enhancement (Windows only): mmg will store its settings in
        a file "mkvtoolnix.ini" in the same folder mmg.exe is located in
        if MKVToolNix hasn't been installed via its installer. If it has
        been installed then the settings are stored in the Windows
        registry. This way MKVToolNix is truly portable.

        * mmg: new feature: mmg's windows and dialogs will remember and
        restore their positions and sizes. Implements #878.

2013-06-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: AVC/h.264 output module: fixed writing the
        wrong values if --fix-bitstream-timing-information is used. Fixes
        #888.

2013-06-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: FLV reader: Implemented deriving the video
        dimensions for FLV1 type tracks from the frame content if they're
        not given within a script tag. Fixes #880.

        * mkvmerge: bug fix: Fixed handling MPEG transport streams with
        broken PES packet streams. Fixes #879 and #887.

        * mkvextract: bug fix: mkvextract writes the correct value for the
        "block alignment" value in the header of WAV files (mostly affects
        mono PCM audio tracks). Fixes #883.

2013-05-26  Moritz Bunkus  <moritz@bunkus.org>

        * all: new feature: added a Portuguese translation of the programs
        by Ricardo Perdigão (see AUTHORS).

2013-04-28  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.2.0.

2013-04-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The option "--engage
        remove_bitstream_ar_info" will now work on AVC/h.264 tracks read
        from Matroska/MP4 files as well. Fixes #868.

2013-04-16  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: mmg will now handle all file names given on the
        command line instead of only the first one. This allows things
        like opening several selected files with mmg in Windows, and mmg
        will add all of them. Fixes #867.

        * mkvmerge: bug fix: The amount of memory required to store the
        cues during muxing has been reduced drastically. This is more
        noticeable the more video and subtitle tracks are muxed. Fixes
        #871.

2013-04-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: If splitting had been active then the
        elements "cue duration" and "cue relative position" were only
        written to the first output file.

2013-04-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The "CTS offset" field of FLV files with
        AVC/h.264 video tracks is now read as a signed-integer field in
        accordance with the FLV specifications.

2013-04-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: DTS parsing: no more warnings about
        incompatible encoder revision numbers will be printed. Fixes
        #866.

        * mkvextract: enhancement: track extraction mode: If mkvextract
        encounters a broken file structure it will output the last
        timecode successfully read before resyncing. After the resync the
        first cluster timecode will be reported as well.

        * installer: The installation directory will no longer be added to
        the PATH environment variable.

        * mkvmerge: bug fix: The parsing of the AAC AudioSpecificConfig
        structure (the bytes contained in Matroska's CodecPrivate and in
        MP4's "ESDS" atom) was fixed to support parsing the
        GASpecificConfig and the ProgramConfigElement if the channel
        configuration is 0. Fixes #872.

2013-04-09  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Loading chapters from Matroska files will open the
        file in read-only mode allowing to read from write-protected
        files.

2013-04-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: All entries in chapters imported from MPLS
        playlists were named "Chapter 0". The numbering has been
        fixed. Fixes #870.

2013-04-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Selecting the lowest process priority
        with "--priority lowest" will cause mkvmerge to also select an
        idle/background I/O priority. Implements #863.

2013-03-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed reading AVI files with audio chunks of
        size 0. Fixes #843.

2013-03-29  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Add control for new option
        "--fix-bitstream-timing-information".

2013-03-20  Giuseppe De Robertis <giuseppe.derobertis@ba.infn.it>

        * mkvmerge: new feature: Add option for fixing the timing
        information in video track bitstreams
        (--fix-bitstream-timing-information).

2013-03-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Matroska reader: If mkvmerge encounters a
        broken file structure it will output the last timecode
        successfully read before resyncing. After the resync the first
        cluster timecode will be reported as well.

2013-03-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: MPEG program stream reader: tracks with
        invalid video properties (e.g. width or height = 0) are ignored
        properly.

        * mkvmerge: bug fix: The progress percentage was sometimes using
        the wrong input file as the reference if multiple files are read
        with the "additional parts" mechanism (on the command line: the
        syntax "( VTS_01_1.VOB VTS_1_2.VOB VTS_1_3.VOB )".

        * mkvmerge: bug fix: Fixed one situation that could lead to
        mkvmerge aborting with the error message "Re-rendering track
        headers: data_size != 0 not implemented yet".

2013-03-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: removal: Support for BZ2 (bzlib) and LZO (lzo1x)
        compression has been removed.

        * mmg: bug fix: Using drag & drop to add playlists will no longer
        lock the dragging application (e.g. Windows Explorer) in D&D mode
        for the duration of the scan for other playlists.

        * mmg: bug fix: The validation for the argument to "split by
        chapters" was wrongfully rejecting certain valid inputs (chapter
        number lists in which the second or any later chapter number was
        higher than 9).

        * all: enhancement on Windows: all programs now determine the
        interface language to use from the user's selected interface
        language (C function "GetUserDefaultUILanguage()"), not from the
        locale setting. Implements #852.

2013-03-02  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.1.0.

2013-02-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed mkvmerge sometimes mistakenly detecting
        MPEG-1 video in MPEG program streams as AVC/h.264. Fixes #845.

        * mmg: new feature: When a playlist file (e.g. MPLS Blu-ray
        playlist) is added mmg can optionally scan all the other files in
        the directory that have the same extension and present the user
        with the results (including them playback time, total size, number
        of chapters, number and types of tracks). The user can then select
        the actual playlist file to add. The user can configure the
        minimum playlist duration in order to filter out too short ones.

2013-02-22  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added an option for disabling making the
        suggested output file name unique by adding a running number
        (e.g. ' (1)'). Implements #848.

        * mmg: new feature: The output file name can be auto-set to be
        located in the first input file's parent directory. Implements
        #849.

2013-02-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo, mkvpropedit, mmg's header editor: bug fix: Fixed the
        description for the DisplayUnit element to include value 3
        ("aspect ratio").

2013-02-16  Moritz Bunkus  <moritz@bunkus.org>

        * documentation: Added a Dutch translation of mmg's guide by
        René Maassen (see AUTHORS).

        * mkvmerge: bug fix: Fixed handling chapters when splitting by
        parts (both parts/timecodes and parts/frames). Fixes #831.

        * mkvmerge: bug fix: Fixed reading certain MP4 atoms with invalid
        length fields.

2013-02-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix in common AAC code: Fixed wrong calculation of
        AAC packet size for malformed packets resulting in "safemalloc()"
        failing to allocate memory. Part of a fix for #832.

2013-02-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Implemented support for reading MPLS
        BluRay playlist files. All M2TS files referenced from an MPLS file
        are processed. Chapter entries from that MPLS file are used as
        well. Implements #765.

2013-01-26  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Selecting one of the pre-defined values from the
        "split by X" argument drop down box (e.g. "700M") was not leaving
        the selected entry in the drop down box but set it to empty
        instead.

2013-01-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed reading VP6 video from FlashVideo
        files. Fixes #836.

2013-01-20  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed validating the argument for splitting parts
        by frame/field numbers. Fixes #835.

        * Released v6.0.0.

2013-01-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Implemented splitting by parts based on
        frame/field numbers ("--split parts-frames:" in
        mkvmerge). Implements #819.

2013-01-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Re-writing the track headers after they'd
        grown a lot (to more than the EBML void size located after them
        allowed for) led to an integer underflow. Then mkvmerge tried to
        write a void element the size of that integer (e.g. nearly 4 GB on
        32bit platforms). Fixes #822 and #828.

2013-01-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix in the MP4 reader: Fixed language code
        conversion from what is used in MP4 to the ISO 639-2 codes used in
        Matroska (e.g. convert from "deu" to "ger").

        * Source distribution: source code archives (tarballs) will be
        compressed with xz instead of bzip2 from now on. The file name's
        extension will therefore change from ".tar.bz2" to ".tar.xz". The
        download URL changes accordingly.

2013-01-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Implemented reading VobSubs from MP4
        files if they're stored in the Nero Digital way (track sub-type
        'mp4s', ESDS object type identifier 0xe0). Implements #821 and the
        second half of #815.

2013-01-08  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Command line options can be saved as default
        for new jobs by clicking a check box in the "add command line
        options" dialog.

2013-01-02  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed a crash in the chapter editor if the root
        was selected and the user used the "Set values" button.

2013-01-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: removal: The 'header removal compression' method
        is not turned on by default anymore. This affects the following
        track types: AC3, AVC/h.264, Dirac, DTS, MP3. The setting in mmg
        that turned it off by default has been removed.

2012-12-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added experimental support for the Opus
        audio codec. Parts of an implementation of #779.

2012-12-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: "text"-type tracks in MP4 files are only
        treated as chapters if their track ID is listed on a "chap" atom
        inside a "tref" track reference atom. Fixes #815.

2012-12-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: Implemented splitting by chapter
        numbers. Implements #504 and #814.

2012-12-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Removed several warnings from the MPEG-2
        video parser code about open GOPs, missing references. Those were
        too confusing for most users, even after being given additional
        information via email and FAQs.

        * mkvextract: new feature: Implemented extraction of ALAC into
        Core Audio Format files (CAF). Implements #786.

2012-12-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: Implemented splitting by frame/field
        numbers. Implements #771.

        * mmg: bug fix: Fixed consistency checks when appending files and
        at least one track is disabled.

        * mkvmerge: new feature: Implemented a reader for the
        Flash Video format (.flv). Implements #735.

2012-12-22  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: Boost's "variant" library is now required.

2012-12-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: ISO 639-2 language handling: The deprecated
        language codes "scr", "scc" and "mol" are replaced by their
        respective successors "hrv", "srp" and "rum". Fixes #803.

        * mkvmerge: bug fix: Matroska reader: Fixed finding the "segment
        info" element if it is located behind the clusters.

2012-12-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: MP3 parser code: Fixed skipping ID3 tags so
        that the header directly behind the ID3 tag is recognized
        properly. Fixes #747.

        * mkvmerge: bug fix: MP4 reader: Fixed handling of edit lists if
        the edit list is used to adjust the track's timecodes by a fixed
        amount (either positive or negative). Fixes #780.

2012-12-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvpropedit: bug fix: Giving a non-existent file name in tags
        mode will result in a proper error message. Fixes #806.

2012-12-09  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.9.0.

        * mkvmerge: bug fix: Fixed reading seek position values bigger
        than 2 GB. Fixes #805.

2012-12-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed appending non-empty tracks to empty
        tracks. Fixes #793.

        * mkvmerge: bug fix: mkvmerge will now keep timecodes of PCM
        tracks from source files if they're available. Fixes #804.

2012-12-05  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: EBML void elements will be skipped when reading
        structures from XML (e.g. chapters). Fixes #802.

2012-12-02  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: EBML void elements will be skipped when saving
        structures to XML (e.g. chapters). Fixes #801.

        * mkvmerge: bug fix: Fixed reading linked seek heads in Matroska
        files.

2012-11-13  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed reading file names containing a '%' from a
        .mmg settings file (both normally saved files and the job queue
        files). Fixes #795.

2012-10-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Dirac video code: Added four more
        pre-defined video types from Dirac spec v2.2.2 and two from Dirac
        Pro.

2012-09-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: enhancement: Added options for turning off
        writing "CueDuration" elements ("--engage no_cue_duration") and
        "CueRelativePosition" elements ("--engage
        no_cue_relative_positions").

        * mkvmerge: new feature: The element "CueRelativePosition" is
        written for all cue entries.

        * mkvmerge: new feature: The element "CueDuration" will be written
        for all cue entries referring to subtitle tracks.

        * mkvmerge: new feature: mkvmerge will write cues for subtitle
        tracks by default now.

        * mkvinfo: new feature: added support for the new elements
        CueDuration and CueRelativePosition.

        * mkvpropedit, mmg, mkvmerge: removal: removed support for the
        deprecated element TrackTimecodeScale.

2012-09-02  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.8.0.

        * Build system: dropped support for gcc 4.6.0.

        * mkvpropedit: new feature: Added support for adding, deleting and
        replacing attachments.

2012-09-01  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: chapter editor: Added support for the edition
        flags "hidden", "default" and "ordered" as well as the chapter
        values "segment UID" and "segment edition UID". Implements ticket
        #736.

2012-08-30  Moritz Bunkus  <moritz@bunkus.org>

        * documentation: Added a Basque translation of mmg's guide by
        Xabier Aramendi (see AUTHORS).

        * all: bug fix: Fixed a buffer overflow in the Base64 decoder
        routine.

2012-08-19  Moritz Bunkus  <moritz@bunkus.org>

        * source: Various fixes for building with g++ 4.7.x and clang 3.1.

2012-08-08  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: Boost's "bind" library is not required
        anymore. The C++11 features from "functional" are used instead.

2012-08-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: MPEG transport streams whose timecodes wrap
        around/overflow are handled correctly. Fixes #777.

2012-08-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: MP2/MP3 audio tracks in MPEG program streams
        that contained garbage at the start of the very first packet
        caused mkvmerge to use uninitialized/random values for certain
        parameters (sample rate, number of channels, and therefore also
        during timecode calculation).

2012-08-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for reading ALAC (Apple
        Lossless Audio Codec) from CAF (CoreAudio), MP4 and Matroska
        files. Implements #753.

2012-08-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: mkvmerge will remove stuffing bytes from
        MPEG-1/-2 video streams that are used to keep the bit rate above
        certain levels (the 0 bytes between slices and the following start
        code). Implements #734.

2012-08-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed audio/video synchronisation when
        reading MPEG program streams with MPEG-1/2 video with respect to B
        frames. Fixes #579.

        * mkvmerge: enhancement: SRT files can have spaces in their
        timecode line's arrow (e.g. "-- >").

2012-07-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: VC1: mkvmerge will now only mark frames as I
        frames if a sequence header precedes them directly. Fixes #755.

2012-07-30  Moritz Bunkus  <moritz@bunkus.org>

        * all: new feature: Added a Basque translation by Xabier Aramendi
        (see AUTHORS).

2012-07-20  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: The programs do not try to create directories with
        empty names anymore. This happened if the output file name for
        e.g. mkvmerge or mkvextract was only a file name without a
        directory component. With Boost v1.50.0 the call to
        "boost::filesystem::create_directory()" would result in an error
        if the name was empty (it didn't in earlier versions of Boost).

2012-07-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed mmg not reading the very last line of
        mkvmerge's output. The result was that messages like "the cues are
        being written" did not show up in mmg and that the progress bar
        was not filled completely. Fixes #774.

2012-07-08  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.7.0.

        * mmg: bug fix: mmg will no longer print false warnings about a
        chapter UID not being unique. Fixes #760.

        * mkvmerge, mkvpropedit, mmg: bug fix: All tools can now deal with
        64bit UID values (chapter UIDs, edition UIDs etc).

        * mkvmerge: new feature: If "splitting by parts" is active and the
        last split part has a finite end point then mkvmerge will finish
        muxing after the last part has been completed. Implements #768.

2012-06-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The DTS and TrueHD packetizers were not
        flushed correctly. In some rare circumstances this could lead to
        mkvmerge aborting with an error message about the packet queue not
        being empty at the end of the muxing process. Fixes #772.

2012-06-17  Moritz Bunkus  <moritz@bunkus.org>

        * mmg, mkvinfo's GUI, all .exes: enhancement: Added new icons by
        Ben Humpert based on the ones by Eduard Geier (see AUTHORS).

2012-06-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed handling of tracks in QuickTime/MP4
        files with a constant sample size. This fixes the other reason for
        the "constant sample size and variable duration not supported"
        error. Fixes issue 764.

        * mkvmerge: bug fix: Tracks in QuickTime/MP4 files with empty
        chunk offset tables (STCO and CO64 atoms) are ignored. This fixes
        one of the reasons for the "constant sample size and variable
        duration not supported" error.

2012-06-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed mmg's excessive CPU usage during muxing.

2012-06-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Reading DTS from AVI files often resulted in
        the error message that DTS headers could not be found in the first
        frames. This has been fixed. Fixes issue 759.

2012-05-31  Moritz Bunkus  <moritz@bunkus.org>

        * Documentation: Updated the cross-compilation guide and fixed the
        "setup_cross_compilation_env.sh" script.

2012-05-27  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.6.0.

        * documentation: Added Spanish translation of mmg's guide by
        Israel Lucas Torrijos (see AUTHORS).

2012-05-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: SRT subtitle entries with colons as the
        decimal separator are accepted. Fix for issue 754.

2012-05-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: XML tag files with <Simple> tags that only
        contained a name and nested <Simple> were wrongfully rejected as
        invalid. Fixes issue 752.

        * mkvmerge: enhancement: mkvmerge was optimized to keep cluster
        time codes strictly increasing in most situations.

2012-04-24  Moritz Bunkus  <moritz@bunkus.org>

        * all: Added a translation to Polish by Daniel (see AUTHORS).

2012-04-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Extraction of AVC/h.264 was completely
        broken after 2012-04-09 resulting in files with a length of 0
        bytes.

2012-04-09  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: When adding a Matroska file that has either
        the "previous segment UID" or the "next segment UID" set then mmg
        will copy those two and the source file's segment UID into the
        corresponding controls on the "global" tab if they haven't been
        set before. Implements ticket 733.

        * mkvmerge: new feature: The verbose identification mode for
        Matroska files will now includes the "segment UID", the "next
        segment UID" and "previous segment UID" elements.

        * mkvmerge: enhancement: In "--split parts:" mode mkvmerge will
        use the output file name as it is instead of adding a running
        number to it if all the ranges to be kept are to be written into a
        single output file. Implements ticket 743.

        * mkvextract: bug fix: mkvextract will no longer abort extracting
        h.264 tracks if it encounters a NAL smaller than its size
        field. Instead it will warn about it and drop the NAL.

2012-04-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Writing more than two parts into the same
        file with "--split parts:" resulted in the time codes of the third
        and all following parts to be wrong. Fixes ticket 740.

        * mkvmerge: bug fix: The "--split parts:" functionality was
        not taking dropped ranges into account when calculating the
        segment duration for files that more than one range was written
        to. Fixes ticket 738.

        * mkvmerge: bug fix: The "--split parts:" functionality was
        producing a small gap between the first part's last packet's
        time code and the second part's first packet's time code if two
        parts are written to the same file. Fixes ticket 742.

2012-04-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The "--split parts:" functionality was
        writing a superfluous and empty first part if the first range
        starts at 00:00:00. Fixes ticket 737.

2012-04-07  Moritz Bunkus  <moritz@bunkus.org>

        * mmg, build system: Fixed building with wxWidgets 2.9.3.

2012-04-06  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.5.0.

        * Build system: Boost's "lexical_cast" and "type traits" libraries
        are now required.

        * mmg: new feature: Added GUI controls for mkvmerge's "file
        concatenation" feature as "additional file parts". The user can
        chose which individual files are treated as if they were a single
        huge source file.

        * mkvmerge: bug fix: The handling of the "do not read other files"
        options (e.g. "=file.vob" and "( file.vob )") was broken for MPEG
        program stream files.

2012-04-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a wrong assertion about minimum MPEG
        1/2 video start code lengths. Fixes ticket 728.

2012-03-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: Added support for keeping only
        certain time code ranges from the source files with a new format to
        "--split": "--split parts:...". Implements ticket #518.

2012-03-30  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added an option in the preferences dialog
        called "clear jobs from the job queue after they've been run". Can
        be set to "only if run was successful", "even if there were
        warnings" and "even if there were errors". Defaults to off.

2012-03-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract, mmg: Re-write of the whole XML handling
        code. It now uses the "pugixml" C++ library instead of the "expat"
        library. Therefore "expat" is not required for building MKVToolNix
        anymore. And neither is Boost's "property tree" library. "pugixml"
        itself is included and not an external requirement either.

        * Build system: removed all files and documentation related to
        building MKVToolNix with Microsoft's Visual Studio because even
        the most recent version of Visual C++ does not support the C++11
        features required for MKVToolNix.

        * mkvmerge, mkvextract: removal: Removed support for the
        CorePicture file format. It was mostly unused and relied on old
        code that will be removed soon.

        * documentation: enhancement: mkvmerge's man page has been updated
        with a list of valid XML tags for the chapters, tags and segment
        info XML file formats.

        * all: Updated the DTD files with the newly supported elements.

        * mkvmerge: enhancement: Chapter XML files: mkvmerge can handle
        the "ChapterSegmentEditionUID" element.

        * mkvmerge: enhancement: Segment info XML files: mkvmerge can
        handle the "SegmentFilename", "PreviousSegmentFilename" and
        "NextSegmentFilename" elements.

2012-03-19  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added "mts" as yet another file extension for
        MPEG transport streams.

2012-03-18  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed a crash due to a missing argument for a
        format string when clicking on the "Browse" button for the
        track-specific tags.

2012-03-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg, mkvinfo's GUI, all .exes: enhancement: Added new icons
        by Eduard Geier. (see AUTHORS).

2012-03-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: mkvextract sometimes wrote undefined values
        to a single reserved header field when extracting into AVI
        files. Patch by buguser128k. Fix for ticket 727.

        * mkvmerge: bug fix: AVC/h.264 mkvmerge was wrongfully writing a
        default duration of 60 frames/fields even if the source was
        signalling 60000/1001 frames/fields. The frame time codes have been
        correct already.

2012-03-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed time code calculation for (E)AC3 tracks
        if the source container (e.g. MPEG transport streams) only
        provided time codes for some of the (E)AC3 packets itself.

2012-03-10  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.4.0.

2012-03-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed wrong calculation of the maximum number
        of ns per cluster in certain fringe cases if time code scale was
        set to "auto" mode ("--time code-scale -1"). Fix for bug 707.

2012-03-07  Moritz Bunkus  <moritz@bunkus.org>

        * build system: The C++ compiler must now support the C++11
        keyword 'nullptr'. configure checks for it. For GCC this means at
        least v4.6.0.

        * mkvinfo: new feature: mkvinfo will output the track ID that
        mkvmerge and mkvextract would use for a track. This information is
        shown alongside the "track number" element in verbose mode and in
        the track summary in summary mode.

        * mkvmerge, mmg: enhancement: The "--default-duration" in mkvmerge
        and the "FPS" drop down box in mmg now accept "p" or "i" as a unit
        -- as in e.g. "25p" or "50i". Several commonly used values have
        been added to mmg's "FPS" drop down box and others removed.

        * mkvmerge: bug fix: When using an external time code file with
        AVC/h.264 video the default duration will be set to the most-often
        used duration in the time code file.

        * mmg: enhancement: Added the values "50", "60" and "48000/1001"
        to the list of commonly used values for the "FPS" input field.

        * mkvmerge: bug fix: AVC/h.264 packetizer: The value given with
        "--default-duration" (after internal conversion from the unit
        given by the user to duration in nanoseconds) is now again
        interpreted as the duration of a frame and not of a field.

        * mkvmerge: bug fix: SRT subtitles: time codes can contain the
        minus sign before any digit, not just before the first one.

2012-03-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Sometimes non-AC3 files were mistakenly for
        AC3 after the re-write of the AC3 handling code on
        2012-02-26. This has been rectified. Fix for bug 723.

2012-03-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: mkvmerge will keep the "enabled" track
        header flag when muxing. mkvmerge will also output its value in
        verbose identification mode as "enabled_track".

        * mkvmerge: enhancement: MicroDVD text subtitles are recognized as
        an unsupported format instead of an unknown format.

        * mmg: The warning that no default duration/FPS has been given for
        AVC/h.264 tracks has been removed.

        * mkvmerge: bug fix: Complete re-write of the time code handling
        code for AVC/h.264 tracks. Now handles several cases correctly:
        interlaced video, video with multiple or changing SPS with
        different timing information. The timing information is extracted
        from the bitstream. Therefore the user doesn't have to specify the
        default duration/FPS himself anymore. Fix for bugs 434 and 688.

2012-02-26  Moritz Bunkus  <moritz@bunkus.org>

        * build system: Boost's "rational" library is now required.

        * mkvmerge: bug fix: Complete re-write of the (E)AC3 parsing and
        handling code. Dependent EAC3 frames are now handled
        correctly. Fix for bug 704.

2012-02-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The width and height of h.264 video tracks
        with a pixel format other than 4:2:0 are now calculated
        correctly. Fix for bug 649. Patch by Nicholai Main (see AUTHORS).

        * mkvmerge: bug fix: Fixed file type recognition and frame drops
        for VC1 elementary streams that do not start with a sequence
        header but with frame or field packets instead.

        * mkvmerge: bug fix: Fixed mis-detection as unsupported DV files
        (happened for e.g. PGS subtitle files).

2012-02-12  Moritz Bunkus  <moritz@bunkus.org>

        * doc: enhancement: Updates for option file usage and supported
        subtitle formats.

2012-02-09  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.3.0.

2012-02-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: mkvmerge will parse and apply the audio
        encoder delay in MP4 files that contain said information in the
        format that iTunes writes it. Fix for bug 715.

2012-02-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Implemented support for treating several
        input files as if they they had been concatenated binarily into a
        single big input file. Snytax is "mkvmerge -o out.mkv ( in1.ts
        in2.ts in3.ts )". This feature has already been present since
        version 5.1.0 but never been mentioned in the ChangeLog. Support
        for this feature in mmg is still missing.

2012-01-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Blocks with "BlockAdditions" will no longer
        be muxed as "SimpleBlock" elements discarding the additions but
        instead as "BlockGroup" elements. This applies to e.g. WAVPACK4
        tracks with correction files as the correction data is stored in
        "BlockAdditions". Fix for bug 713.

        * mkvmerge: bug fix: Fixed some more issues with (E)AC3 being
        misdtected as AVC elementary streams.

2012-01-27  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The header editor was sometimes creating two
        instances of an element if an element was added to the second or
        one of the later tracks. Fix for bug 711.

        * mkvpropedit, mmg: bug fix: Trying to modify a file located in a
        path mounted with GVFS SFTP will no longer crash the
        programs. Instead an error message is output if an error
        occurs. Fix for bug 710.

2012-01-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed integer underflows in the read caching
        code resulting in invalid memory access. Happened in broken or
        incomplete files only. Fix for bug 709.

2012-01-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Appending AVI, Matroska or MPEG program
        stream files with DTS audio tracks will not result in a warning
        that the appended DTS tracks might not be compatible. Fix for bug
        705.

2012-01-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix for the "time codes_v2" mode: mkvextract will
        write one more time code than there are frames in the file. The
        last time code written will be the the sum of the last frame's
        time code and duration with the "last frame" being the one with the
        highest time code. Fix for bug 691.

2012-01-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed writing into paths on which a drive is
        mounted on Windows. Fix for bug 701.

        * mkvmerge: enhancement: Identification output for Matroska files:
        Added the track number header field as "number" to the verbose
        identification mode.

2012-01-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Identification output for Matroska files:
        Added a field "content_encoding_algorithms" that contains a
        comma-separated list of encoding algorithm IDs used for that
        track. For example, "content_encoding_algorithms:3" would indicate
        that header removal compression is used.

2012-01-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Identification output for Matroska files:
        Added several fields to mkvmerge's verbose identification mode for
        tracks: UID, CodecID, length and content (as a hex dump) of the
        codec private data.

        * mkvmerge: bug fix: Fixed a segmentation fault in the DTS
        detection code. Fix for bug 698.

2012-01-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The track IDs used in the "time codes_v2"
        extraction mode are consistent again with the IDs that mkvmerge's
        identification reports and that mkvextract's "tracks" extraction
        mode uses. Fix for bugs 689 and 694.

2012-01-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Added video pixel dimensions to the
        output of "--identify-verbose" for Matroska files.

2012-01-02  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.2.1.

2011-12-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed certain DTS files being mis-detected as
        AC3. Fix for bug 693.

2011-12-28  Moritz Bunkus  <moritz@bunkus.org>

        * build system: Added an option "--without-gettext" that allows
        for building without support for translations even if gettext
        itself is installed.

        * build system: Added an option "--without-curl" that allows for
        building without CURL support even if CURL itself is installed.

        * all: bug fix: Fixed compilation if gettext/libintl is not
        available.

        * mkvmerge: bug fix: The MPEG program stream reader was reporting
        wrong progress percentage if multiple files were used since
        v5.1.0.

2011-12-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Removed the posix_fadvise() code. The
        application is using its own caching code which caused bad
        performance if the OS caching provided via posix_fadvise() is used
        as well.

2011-12-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: If an MP4 file contains chapters encoded in a
        different charset than UTF-8 and --chapter-charset is not used
        then the error message shown is a lot clearer why mkvmerge aborts
        muxing. Before the error message was a generic
        "mm_text_io_c::read_next_char(): invalid UTF-8 character. The
        first byte:..."

        * mkvmerge: bug fix: MPEG program streams in which a track
        suddenly ends and others continue or in which a track has huge
        gaps will no longer cause mkvmerge to try to read the whole file
        at once. This could lead to excessive swapping and finally
        mkvmerge crashing if no more memory was available.

2011-12-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The track IDs used for extraction are
        consistent again with the IDs that mkvmerge's identification
        reports. Fix for bug 689.

2011-12-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fix compilation if FLAC is not available. Fix
        for issue #13.

2011-12-18  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.2.0.

        * mkvmerge, mmg: bug fix: Automatic MIME type recognition for
        TrueType fonts will result in "application/x-truetype-font" again
        instead of "application/x-font-ttf". Fix for bug 682.

2011-12-14  Andriy Bilous'ko  <arestarh@ukr.net>

        * documentation: enhancement: Added a Ukrainian translation for
        mkvextract's man page.

2011-12-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: Various elements used to have a space between
        their names and their value's hex dump. In v5.1.0 that space was
        accentally removed. It has been added again. Fix for bug 583.

2011-12-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Turn off input file buffering for badly
        interleaved MP4 files.

2011-12-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Changed how mkvmerge assigns IDs to tracks in
        source files for Matroska and MP4 files. That way files whose
        headers contain the same ID for multiple tracks will work
        correctly. Fix for bug 681.

2011-12-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: The VP8 output module will always
        re-derive frame types (key frame vs. non-key frame).

        * mkvmerge: bug fix: VP8 read from AVI could not be put into WebM
        compatible files.

        * mkvmerge: bug fix: Fixed a rare audio type mis-detection of
        MP2/MP3 audio tracks in MPEG program streams causing mkvmerge to
        abort with an error message.

2011-12-04  Nils Maier  <maierman@web.de>

        * mkvmerge, mkvextract: enhancement: Implemented input file
        buffering in mkvmerge and improved/implemented output file
        buffering in other tools.

2011-12-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg, mkvinfo's GUI: enhancement: Added new icons based on the
        work of Alexandr Grigorcea (see AUTHORS).

        * mmg: bug fix: Fixed a memory leak in mmg's header editor that
        caused the "open file" function to stop working after opening a
        few files. Fix for bug 679.

2011-11-28  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.1.0.

        * mkvmerge: bug fix: Fixed more time code handling issues for video
        tracks in MPEG transport streams whose PES packets sometimes don't
        have a time code.

        * mkvmerge: bug fix: mkvmerge will no longer create folders on
        drives it shouldn't create them on on Windows.

2011-11-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed bogus huge time codes sometimes
        occurring for AVC/h.264 video tracks read from MPEG transport
        streams.

2011-11-24  Moritz Bunkus  <moritz@bunkus.org>

        * all: enhancement: Made all EXEs declare their required access
        level privileges for Windows' User Access Control.

        * mmg: enhancement: Made mmg DPI-aware on Windows (tested up to
        144 DPI).

2011-11-09  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: mmg will append ".xml" to the file name entered
        when saving from the chapter editor if no extension was given.

2011-11-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: Improved skipping broken data on all operating
        systems.

        * mkvmerge, mkvextract: bug fix: Skipping broken data in Matroska
        file often caused the program to abort on Windows. This has been
        fixed so that processing continues after the broken part. Fix for
        bug 668.

2011-11-04  Moritz Bunkus  <moritz@bunkus.org>

        * examples: Added XSLT 2.0 stylesheets in the
        "examples/stylesheets" directory for turning Matroska chapters
        into cue sheet and split points for "shntool" (useful for
        situations in which you have e.g. a live recording from a concert
        including chapters and want to create one audio file per song).

        * mkvmerge: bug fix: Fixed reading VC1 video tracks from Matroska
        files that don't use VC1 start markers (0x00 0x00 0x01 ...).

2011-10-30  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added "ogv" to the list of known file
        extensions for "Ogg/OGM audio/video files". Implements bug 667.

        * mmg: bug fix: A utility function for breaking a line into
        multiple ones was accessing invalid memory in rare situations
        causing mmg to crash. Could happen e.g. when adding a job to the
        job queue.

2011-10-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge will use DTS instead of PTS for VC1
        video tracks read from MPEG transport streams.

2011-10-23  Moritz Bunkus  <moritz@bunkus.org>

        * build system: Boost's "Range" library is now required.

        * build system: Boost v1.46.0 or newer is now required. As a
        consequence included copies of some of Boost's libraries have been
        removed (foreach, property tree).

        * build system: The C++ compiler must now support several features
        of the C++11 standard: initializer lists, range-based 'for' loops,
        right angle brackets, the 'auto' keyword and lambda
        functions. configure checks for each of these. For GCC this means
        at least v4.6.0.

2011-10-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed reading MPEG transport streams on big
        endian systems.

        * mkvmerge: enhancement: Added support for reading AAC tracks from
        MPEG transport streams.

2011-10-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Relaxed the compatibility checks when
        concatenating VP8 video tracks.

2011-10-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed PCM audio in WAV sometimes being
        detected as DTS.

        * mkvmerge: enhancement: The verbose identification mode will add
        the properties "default_duration", "audio_sampling_frequency" and
        "audio_channels" if appropriate and if the corresponding header
        elements are present.

2011-10-13  Moritz Bunkus  <moritz@bunkus.org>

        * Packaging: In v5.0.1 mmg's guide was accidentally moved into the
        "mkvtoolnix" Debian/Ubuntu package. It has been moved back into
        "mkvtoolnix-gui" again.

2011-10-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: "Castilan" has been merged with "Spanish"
        into "Spanish; Castillan" in the ISO 639 language list as both
        share the same ISO 639-2 code "spa".

2011-10-09  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.0.1.

2011-10-08  Moritz Bunkus  <moritz@bunkus.org>

        * build system: Updated the Debian/Ubuntu files to debhelper
        v7/quilt 3.0 format.

        * mkvmerge: enhancement: Implemented support for yet another way
        of storing EAC3 and DTS in MPEG transport streams.

2011-10-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: Track information was not reset when opening
        more than one file in the GUI.

2011-10-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The PGS subtitle output module was not
        outputting any packet in certain cases due to uninitialized
        variables.

2011-09-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed mkvmerge not finding any track in TS
        streams whose first PMT packet could not be parsed (e.g. invalid
        CRC).

        * mkvmerge: bug fix: Fixed detection of TS streams that only
        contain one PAT or PMT packet within the first few KB but no
        others within the first 10 MB.

2011-09-24  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.0.0.

        * build system: libEBML 1.2.2 and libMatroska 1.3.0 are required
        for building. If external versions are not found or if they're too
        old then the included versions will be used as a fallback.

2011-09-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The "writing application" element will not be
        localized but always be written in English.

2011-09-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: MPEG TS: mkvmerge will extract the track
        languages from a corresponding clpi (clip info) file. That file is
        searched for in the same directory and in ../CLIPINF and must
        have the same base name but with the ".clpi" extension.

        * mkvmerge: enhancement: Added new stereo mode options to match
        the current specs. The new options are "anaglyph_green_magenta"
        (12), "both_eyes_laced_left_first" (13) and
        "both_eyes_laced_right_first" (14).

        * mkvmerge: The --stereo-mode named option "anaglyph" was renamed
        to "anaglyph_cyan_red" to match the specs. The numerical value
        (10) remains unchanged.

2011-09-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Fixed attachment number displayed during
        extraction. Fix for bug 663.

        * mkvmerge: enhancement: MPEG TS: Added support for HDMV PGS
        subtitles.

        * mkvmerge: enhancement: MPEG TS: Added support for DTS HD Master
        Audio tracks.

2011-09-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: MPEG TS: Streams that are mentioned in
        the PMT but do not actually contain data are neither reported
        during identification nor muxed.

2011-09-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: MPEG TS: Added support for reading the
        language code.

2011-09-13  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added MPEG transport streams to the "add file"
        dialog file selector.

        * mkvmerge: new feature: MPEG TS: Added support for normal DTS
        tracks.

        * mkvmerge: Tons of fixes and additions to the MPEG transport
        stream demuxer.

2011-09-10  Moritz Bunkus  <moritz@bunkus.org>

        * build system: configure will accept external versions of libEBML
        and libMatroska again. Minimum required versions are libEBML 1.2.1
        and libMatroska 1.1.0.

2011-09-07  DenB  <denb10@free.fr>

        * All: Updated the French translation with a complete set by DenB
        (see AUTHORS).

2011-09-05  Cosme Domínguez  <cosme.ddiaz@gmail.com>

        * mmg: mmg respects the XDG Base Directory Specification regarding
        its configuration files (environment variable
        $XDG_CONFIG_HOME/mkvtoolnix if set, otherwise
        ~/.config/mkvtoolnix).

2011-08-24  Moritz Bunkus  <moritz@bunkus.org>

        * all: Added an Lithuanian translation by Mindaugas Baranauskas
        (see AUTHORS).

2011-08-14  Massimo Callegari  <massimocallegari@yahoo.it>

        * mkvmerge: new feature: Implemented a MPEG transport stream
        demuxer.

2011-08-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: When looking for MPEG files with the same
        base name as a source file mkvmerge will be stricter what it
        accepts. The file name must consist of at least one char followed
        by "-" or "_" followed by a number. That will match VTS_01_1.VOB
        but not e.g. "some_series_s03e10.mpg".

2011-07-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Opening MPEG files with numbers in their name
        from folders with e.g. Cyrillic names failed on Windows.

        * mkvmerge: bug fix: Several elements are not written when
        creating WebM compliant files. In the segment headers: SegmentUID,
        SegmentFamily, ChapterTranslate, PreviousSegmentUID,
        NextSegmentUID. In the track headers: MinCache, MaxCache and
        MaxBlockAdditionID.

2011-07-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Sped up file identification by caching
        read operations.

        * mkvmerge: bug fix: Fixed identifying QuickTime/MP4 files that
        start with a 'skip' atom.

2011-07-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a crash when reading AVI files with DTS
        audio tracks that do not contain valid headers in the first couple
        of packets. Fix for bug 646.

2011-07-11  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.9.1.

        * mkvmerge: bug fix: Fixed endless loop when reading AVI files on
        Windows if MKVToolNix was compiled with a gcc mingw cross compiler
        v4.4.x. Fix for bug 642.

        * mkvmerge: bug fix: Fixed long file identification time caused by
        DV detection. Fix for bug 641.

2011-07-10  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.9.0.

2011-07-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: DV files are recognized as an unsupported
        container type. Fix for bug 630.

        * mkvmerge: bug fix: Fixed handling block groups in Matroska
        files with a duration of 0.

2011-07-08  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Various compatibility fixes for use with wxWidgets 2.9.x.

2011-06-23  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed building with Sun Studio's C compiler.

2011-06-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: ISO 639-2 terminology language codes are
        converted to the corresponding bibliography code upon file
        identification (e.g. 'deu' is converted to 'ger').

2011-06-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: The time code scale is retrieved first before
        applying it to the segment duration.

        * all: Added an Italian translation by Roberto Boriotti and
        Matteo Angelino (see AUTHORS).

2011-05-28  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed populating the 'compression' drop down box
        according to what mkvmerge was compiled with.

2011-05-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: When a DTS track is read from a source file
        that provides time codes (e.g. Matroska files) then those time codes
        will be preserved.

2011-05-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Fixed remuxing certain VC1 video tracks from Matroska
        files. Fix for bug 636.

2011-05-23  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.8.0.

        * mmg: bug fix (Windows): mmg will no longer convert the "mkvmerge
        executable" from just "mkvmerge" into a full path name when
        writing its preferences to the registry upon existing.

        * mkvmerge: enhancement: Added support for VobSub IDX files with
        negative "delay" fields.

2011-05-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The 'doc type read version' EBML header field
        is only set to 2 even if a stereo mode other than 'none' is used
        for at least one video track. Fix for bug 625.

2011-05-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvpropedit: new feature: Added support for adding, replacing
        and removing chapters.

2011-05-03  Moritz Bunkus  <moritz@bunkus.org>

        * All: Avoided a segmentation fault in gcc by not including a
        pre-compiled header if FLAC or CURL support is disabled.

        * mkvmerge: bug fix: Reading DTS files stored in 14-to-16 mode
        were read partially.

2011-04-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: mkvmerge will rederive frame types for
        VC1 video tracks stored in Matroska files instead of relying on
        the container information. This fixes files created by
        e.g. MakeMKV that mark all frames as key frames even if they
        aren't.

2011-04-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed detection of AAC files with ADIF
        headers. Fix for bug 626.

2011-04-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The 'doc type version' and 'doc type read
        version' EBML header fields are only set to 3 if a stereo mode
        other than 'none' is used for at least one video track. Fix for
        bug 625.

        * mkvmerge: enhancement: File identification for tracks read from
        Matroska files with a codec ID of "A_MS/ACM" will show the track's
        format tag field if it is unknown to mkvmerge. Implements bug
        624.

2011-04-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Track, tag and attachment selection via
        --audio-tracks, --video-tracks etc. can have their meaning
        reversed by prefixing the list of IDs with "!". If it is then
        mkvmerge will copy all tracks/tags/attachments but the ones with
        the IDs given to the option (e.g. "--attachments !3,6").

        * mkvmerge: bug fix: Fixed handling AVIs with AAC audio format tag
        0x706d and bogus private data size. Fix for bug 623.

2011-04-20  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.7.0.

        * build system: For the time being the build system will always
        build and link statically against the internal versions of libEBML
        and libMatroska.

        * mkvmerge: bug fix: Fixed appending time code calculation for
        appended subtitle tracks if the subtitle tracks are read from
        complex containers (e.g. Matroska, MP4, AVI etc). Fix for bug 620.

2011-04-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Fixed extraction of MPEG-1/2 video tracks
        whose sequence headers change mid-stream but whose key frames are
        not all prefixed with a sequence header. Fix for bug 556.

        * mkvmerge: bug fix: Fixed reading AAC tracks from AVI files with
        7 bytes long codec data. Fix for bug 613.

        * mkvmerge: enhancement: Added support for WAV and AVI files that
        use a WAVEFORMATEXTENSIBLE structure (wFormatTag == 0xfffe). Fix
        for bug 614.

2011-04-14  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The output file name extension will be updated on
        each track selection changed as well. The extension is based on
        the actually selected tracks, not on the presence of tracks of
        certain types. Fix for bug 615.

2011-04-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge was dropping the last full DTS
        packet from a DTS files if that file was not encoded in "14-in-16"
        mode and if the file size was not divisible by 16.

2011-03-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed huge slowdown when splitting by size is
        active with certain kinds of input files. Fix for bug 611.

        * mkvinfo: bug fix: Fixed redirecting the output into a file with
        "--redirect-output"/"-r" and verbosity levels of 2 and higher.

        * mkvpropedit, mmg header/chapter editor: bug fix: Fixed parsing
        Matroska files if mkvtoolnix is compiled with newer versions of
        libebml/libmatroska (SVN revisions after the releases of libebml
        1.2.0/libmatroska 1.1.0).

2011-03-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: WAV files with unsupported format tags are
        rejected instead of being treated like containing PCM. Fix for bug
        610.

2011-03-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: The EBML header values "doc type version"
        and "doc type read version" are both set to 3 if at least one of
        the video tracks uses the stereo mode parameter.

2011-03-09  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.6.0.

2011-03-08  Moritz Bunkus  <moritz@bunkus.org>

        * build system: Fixed building the Qt version of mkvinfo's
        GUI (again). Fix for bug 576.

2011-02-17  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: If the header editor finds 'language' elements
        with ISO-639-1 codes (e.g. "fra" instead of "fre" for "French")
        then it will map the code to the corresponding ISO-639-2 code. Fix
        for bug 598.

        * mmg: bug fix: Fixed one of the issues causing mmg to report that
        it is configured to use an unsupported version of mkvmerge when
        the reported version was actually empty.

        * mkvmerge: enhancement: HD-DVD subtitles are recognized as being
        an unsupported file format. This makes the error message presented
        to the user a bit clearer. Fix for bug 600.

2011-02-15  Moritz Bunkus  <moritz@bunkus.org>

        * build: Boost 1.36.0 or newer is required (up from 1.34.0). Also
        fixed building with v3 of Boost's filesystem library, e.g. with
        Boost 1.46.0 Beta 1 or newer.

        * mkvpropedit: new feature: Added support for adding, replacing
        and removing tags.

2011-02-07  Moritz Bunkus  <moritz@bunkus.org>

        * all: Added a translation for the programs into Turkish by
        ßouЯock (see AUTHORS).

2011-02-06  Moritz Bunkus  <moritz@bunkus.org>

        * build system: Fixed compilation if configure choses the internal
        versions of libebml and libmatroska while older versions are still
        installed in a location named with "-I..." or "-L..." in
        CFLAGS/CXXFLAGS/LDFLAGS or with configure's
        "--with-extra-includes" and "--with-extra-libs" options.

2011-01-31  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.5.0.

        * build: Building mkvtoolnix now requires libebml v1.2.0 and
        libmatroska v1.1.0 or later.

        * build: enhancement: mkvtoolnix now includes libebml and
        libmatroska. The configure script will use them if either no
        installed versions of them is found or if the installed version is
        too old.

2011-01-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed an infinite loop when reading program
        stream maps in MPEG program streams. Part of a fix for bug 589.

2011-01-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: new feature: Added an option "--track-info" (short:
        "-t") that displays one-line statistics about each track at the
        end of the output. The statistics include the track's total size,
        duration, approximate bitrate and number of packets/frames.

        * mkvinfo: bug fix: The hexdump mode was accessing invalid memory
        if the data to dump was shorter than 16 bytes. It was also
        outputting the values as characters instead of hexadecimal
        numbers. Patch by ykar@list.ru. Fix for bug 591.

2011-01-20  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: The output file name extension is
        automatically set to ".mk3d" if the stereo mode parameter for any
        video track is changed to anything else than "mono" or the default
        value.

        * mmg: enhancement: Added ".mk3d" to the list of known file name
        extensions for Matroska files.

        * mkvmerge, mmg: enhancement: Updated the "stereo mode" parameter
        to match the current Matroska specifications.

2010-12-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: If mkvmerge encounters invalid UTF-8
        strings in certain files or command line arguments then those
        strings will simply be cut short. Before mkvmerge was exiting with
        an error ("Invalid UTF-8 sequence encountered").

        * all: new feature: Added online update checks. The command line
        tools know a new parameter "--check-for-updates". mmg has a new
        menu entry ("Help" -> "Check for updates") and checks
        automatically when it starts, but at most once in 24 hours. Can be
        turned off in the preferences. This function requires libcurl and
        is not built if libcurl is not available.

2010-12-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Avoid a crash due to invalid memory access if
        a source file name contains numbers (happens only if mkvtoolnix is
        built with MS Visual Studio). Fix for bug 585.

2010-12-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for reading VP8 video from
        Ogg files. Implements bug 584.

        * mkvextract: enhancement: mkvextract will exit with an error if
        the user specifies track IDs that do not exist in the source
        file. This works in the "tracks" and "time codes_v2" extraction
        modes. Fix for bug 583.

        * docs: mkvextract's man page has been updated to match the
        program's expected command line syntax for the "time codes_v2"
        mode. Fix for bug 583.

2010-12-20  Moritz Bunkus  <moritz@bunkus.org>

        * build system: Fixed building the Qt version of mkvinfo's
        GUI. Fix for bug 576.

        * mkvmerge, mmg: bug fix: Option files could not contain options
        that started with '#' as they were interpreted as comment lines.

2010-11-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: The "default duration" header field is
        set for DTS audio tracks.

2010-11-09  Moritz Bunkus  <moritz@bunkus.org>

        * build system: mmg's guide and its images are installed into the
        location given by configure's "docdir" variable. Patch by Cristian
        Morales Vega (see AUTHORS).

2010-11-07  Moritz Bunkus  <moritz@bunkus.org>

        * all: Made the French translation selectable in all programs.

2010-11-01  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: On Mac OS X the application type is set to a
        foreground application preventing issues like the GUI never
        getting focus.

2010-10-31  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.4.0.

        * build system: bug fix: Installation no longer fails if xsltproc
        is available but the DocBook stylesheets aren't. Fix for bug 575.

        * mkvmerge: new feature: If the name of an input file starts with
        '=' then mkvmerge will not try to open other files with the same
        name (e.g. 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB') from
        the same directory. A single '=' as an argument disables this as
        well for the next input file. Implements bug 570.

        * mmg: new feature: Added an option to disable extra compression
        when adding tracks by default.

        * mkvmerge: bug fix: Made file type detection stricter for MP3,
        AC3 and AAC files. This prevents mis-detection of other file types
        as one of these for certain files. Fix for bug 574.

2010-10-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the usage of iterators with the STL
        "deque" template class. This caused mkvmerge to abort on systems
        which did not use the GNU implementation of the standard template
        library, e.g. OpenSolaris with the SunStudio compiler. Fix for bug
        567.

2010-09-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: The warning about subtitle entries that
        are skipped because their start time is greater than their end
        time now includes the subtitle number.

2010-09-23  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: bug fix: 'drake install' did not work if the login
        shell was not POSIX compatible (e.g. fish). Fix for bug 559.

2010-09-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: When appending two Matroska files which
        both contain chapters the chapter entries of all editions will be
        merged even if the edition's UIDs were different to begin
        with. This is done based on the order of the edition. If both
        files contain three editions each then the chapters from the first
        edition in the second file will be put into the first edition from
        the first file; the chapters from the second edition into the
        second edition and so on.

        * all: Added a translation of the programs into French by
        Trinine (see AUTHORS).

        * mkvmerge: bug fix: The MPEG ES reader was accessing
        uninitialized data. This could lead to crashes or source files not
        being read correctly.

        * mkvmerge: bug fix: Using "--no-video" on AVI files caused the
        video track to be mistaken for an audio track and included
        anyway. Fix for bug 558.

2010-09-04  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.3.0.

        * mkvmerge: bug fix: Appending tracks which would normally be
        compressed (e.g. with header removal compression) and turning off
        compression for those tracks with "--compression TID:none" (or the
        corresponsing option in mmg) was resulting in the second and all
        following appended tracks to be compressed all the same.

2010-09-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Errors such as 'file does not exist' did
        not cause mkvextract to quit. Instead it continued and exited with
        the result code 0.

2010-08-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Certain frames in certain h.264/AVC raw
        tracks were handled wrong, e.g. files created by x264 versions
        starting with revision 1665. The situation occured if an IDR slice
        comes immedtiately after a non-IDR slice and the IDR slice has its
        frame_num and pic_order_count_lsb fields set to 0.

2010-08-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Attachments will be rendered at the
        beginning of the file again. Fix for bug 516.

2010-08-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvpropedit, mmg's header editor: Fixed a crash corrupting files
        in certain situations. If the updated header fields required
        filling exactly one byte with an EbmlVoid element and if the next
        Matroska element's "size" was already written with its maximum
        length (8 bytes) then the crash would occur. Such files are
        written by e.g. lavf. Fix for bug 536.

2010-08-17  Moritz Bunkus  <moritz@bunkus.org>

        * All: bug fix: Fixed a couple of format strings in translations
        which could cause the programs to crash.

2010-08-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: new feature: mkvinfo will show the h.264 profile and
        level for AVC/h.264 tracks along with the CodecPrivate element.

2010-08-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Video tracks with a width or height of 0 are
        not read from AVI files anymore. Fix for bug 538.

2010-08-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed an error with losing packets (error
        message "packet queue not empty") when reading IVF (VP8) files
        using --default-duration on it.

        * mkvmerge: bug fix: Fixed access to uninitialized memory in the
        MPEG-2 ES parser.

2010-08-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The 'total remaining time' shown by the job
        manager was totally wrong. Fix for bug 529.

2010-08-01  Moritz Bunkus  <moritz@bunkus.org>

        * build system: The build system has been changed from "make" to
        "rake", the Ruby based build tool. MKVToolNix includes its own
        copy of it so all you need is to have Ruby itself installed. The
        build proecss has been tested with Ruby 1.8.6, 1.8.7 and
        1.9.1. Building is pretty much the same as before: "./configure",
        "./drake", "sudo ./drake install". Most of the build targets have
        similar if not identical names, e.g. "./drake install". You can
        override variables just like with make, e.g. "./drake
        prefix=/somewhere install".

2010-07-30  Moritz Bunkus  <moritz@bunkus.org>

        * mmg header editor: bug fix: If a file was loaded that did not
        contain 'track language' elements and those elements were
        unchanged then they would be set to 'und' upon saving. Now they're
        left as-is, and when adding them to the file the drop-down box
        defaults to 'eng' being selected as per Matroska default value
        specifications. Fix for bug 525.

2010-07-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract, mkvinfo, mkvpropedit: new feature: Added the option
        "-q" and its long version "--quiet". With "--quiet" active only
        warnings and errors are output. Fix for bug 527.

        * mkvmerge: bug fix: The option "--quiet" was not working
        properly.

        * mkgmerge: bug fix: mkvmerge was treating SSA/ASS subtitle files
        as audio files for the purpose of track selection (--no-subtitles
        / --no-audio). Fix for bug 526.

2010-07-28  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.2.0.

        * mkvmerge: bug fix: mkvmerge was accessing invalid memory In
        certain cases, e.g. when appending Matroska files that use
        compression while turning compression off.

2010-07-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Splitting output files by size was basing its
        decision when to create a new file on an uninitialized
        variable. This caused effects like a lot of small files being
        created with sizes much smaller than the intended split size.

2010-07-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The speed with which mkvmerge skips garbage
        in DTS tracks has been greatly improved.

2010-07-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Reading Matroska files: DisplayWidth &
        DisplayHeight values that are obviously not meant to represent
        pixels but only to be used for aspect ratio calculation (e.g.
        16x9) are converted into proper ranges based on the track's
        PixelWidth & PixelHeight values and the quotient of DisplayWidth /
        DisplayHeight.

2010-07-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Attachments will be rendered at the end
        of the file instead of at the beginning. The attachments will be
        placed after the cues but before the chapters. Fix for bug 516.

        * mkvmerge: enhancement: Header removal compression has been
        enabled by default for MPEG-4 part 10 (AVC/h.264) video tracks
        with a NALU size field length of four bytes.

        * mkvmerge: bug fix: Header removal compression has been
        deactivated for MPEG-4 part 2 (aka DivX/Xvid) video tracks due to
        incompatibility with packed bitstreams.

2010-07-10  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: The taskbar progress is reset as soon as
        mkvmerge finishes/as soon as all jobs are done (Windows 7).

2010-07-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed reading AVC/h.264 tracks from AVI files
        if they're stored without NALUs inside the AVI. Was broken by a
        fix for handling AVC/h.264 in NALUs inside AVI.

        * mkvmerge: bug fix: All readers that only handled file formats
        which do not contain more than one track did not respect the
        "--no-audio / --no-video / --no-subtitles" options. This applied
        to the following readers: AAC, AC3, AVC/h.264, CorePicture, Dirac,
        DTS, FLAC, IVF, MP3, MPEG ES, PGS/SUP, SRT, SSA, TrueHD, TTA, VC1,
        WAV and WavPack.

2010-07-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Improved reading text files that use
        mixed end-of-line styles (DOS & Unix mixed).

2010-07-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed invalid memory access in the PCM
        packetizer. Fix for bug 510.

        * mmg: bug fix: When mmg starts it will check the entries in the
        file and chapter menu's list of recently used files and remove
        those entries that no longer exist. Fix for bug 509.

        * mkvmerge: bug fix: Fixed a crash when reading Matroska files
        that were damaged in a certain way.

2010-07-03  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.1.1.

        * mkvmerge: bug fix: Fixed invalid memory access in the header
        removal compressor. Fix for bug 508.

        * mmg: bug fix: mmg will no longer add .mmg files opened by the
        job runner to the file menu's list of recently opened files. Fix
        for bug 509.

2010-07-01  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.1.0.

2010-06-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed reading AVC/h.264 tracks from AVI files
        if they're stored in NALUs inside the AVI.

2010-06-26  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: enhancement: Improved the error reporting if
        certain Boost libraries are not found.

2010-06-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: mkvmerge will report if it finds data
        errors in a Matroska file (e.g. due to storage failure or bad
        downloads). The position is reported as well as a periodic update
        as long as mkvmerge re-syncs to the next Matroska element.

        * mmg: enhancement: The "compression" drop down box is enabled for
        all track types. That way "no compression" can be forced for those
        tracks mkvmerge uses "header removal" compression for.

2010-06-23  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Matroska files read from/written to by the header
        and chapter editors will no longer be kept opened and locked. Fix
        for bug 498.

        * mmg: bug fix: If mmg was called with "--edit-headers
        filename.mkv" then it crashed when the header editor was closed.

2010-06-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: mkvmerge will start a new cluster before
        a key frame of the first video track. Fix for bug 500.

        * mkvmerge: enhancement: The default cluster length has been
        increased to five seconds (up from two seconds).

2010-06-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge will no longer report nonsensical
        progress reports (e.g. -17239182%) when reading Matroska files
        with all the flags "--no-audio --no-video --no-subtitles"
        enabled. Fix for bug 505.

        * mmg: bug fix: Fixed a crash in the job runner when the total
        time was very big due to a division by zero.

        * mkvmerge: enhancement: Implemented write caching resulting in
        faster muxes especially on Windows writing to network shares.

2010-06-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for reading PGS subtitles
        from PGS/SUP files.

        * mkvmerge: bug fix: Specifying an FPS with "--default-duration"
        for AVC/h264 tracks in AVI files did not work. Fix for bug 492.

2010-06-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed an invalid memory access possibly
        causing a crash in the AC3 detection code.

2010-06-14  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Changing mmg's interface language did not change
        the entries in the "command line options" dialog if that dialog
        had been opened prior to the language change.

2010-06-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: mkvmerge uses header removal compression
        by default for AC3, DTS, MP3, Dirac and MPEG-4 part 2 tracks.

        * all: Added desktop files for mmg/mkvinfo, a MIME type file for
        .mmg files and icons to the installation procedure on Linux. Most
        files were contributed by Cristian Morales Vega (see AUTHORS).

        * all: Added a translation of the programs into Spanish by Isra
        Lucas (see AUTHORS).

2010-06-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed access to uninitialized memory when
        reading DTS tracks from AVI and Matroska files.

2010-06-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The Matroska reader will use the MPEG audio
        packetizer for MP2 tracks instead of the passthrough packetizer.

        * mkvmerge: bug fix: The Matroska reader did not handle compressed
        tracks correctly if the passthrough packetizer was used.

2010-06-08  Moritz Bunkus  <moritz@bunkus.org>

        * docs: Added a Dutch translation for the man pages by René
        Maassen (see AUTHORS).

2010-06-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The handling of Matroska files in which the
        'default track flag' is not present has been fixed.

2010-06-05  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.0.0.

        * build: Building mkvtoolnix now requires libebml v1.0.0 and
        libmatroska v1.0.0 or later.

2010-06-04  Moritz Bunkus  <moritz@bunkus.org>

        * all command line tools: bug fix: Fixed the output of eastern
        languages like Japanese or Chinese under cmd.exe on Windows.

2010-06-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added the estimated remaining time to the mux
        and job dialogs.

2010-05-31  Moritz Bunkus  <moritz@bunkus.org>

        * all: Added a translation of the programs into Dutch by René
        Maassen (see AUTHORS).

2010-05-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: feature removal: Removed support for extracting FLAC
        tracks into Ogg FLAC files. Instead they're always written into
        raw FLAC files. The option "--no-ogg" has been removed as well.

        * mkvmerge: feature removal: Removed support for the FLAC library
        older than v1.1.1.

        * mkvmerge: bug fix: Fixed support for reading FLAC tracks from
        Ogg files following the FLAC-in-Ogg-mapping established with FLAC
        v1.1.1. Fix for bug 488.

2010-05-27  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: The "mkvmerge executable" input in the
        preferences dialog is not read-only anymore. Final part of a fix
        for bug 490.

        * mmg: bug fix: mmg will output a warning if it is used with a
        mkvmerge executable whose version differs from mmg's version. Part
        of a fix for bug 490.

        * mmg: bug fix: If adding a file fails mkvmerge's error message
        will be shown in a scrollable dialog instead of a normal message
        box. Part of a fix for bug 490.

        * mmg: Added 'IVF' files to the list of known input file types.

        * mkvmerge: Added support for reading IVF files with VP8 video
        tracks.

        * mkvextract: Added support for extracting VP8 video tracks into
        IVF files.

2010-05-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvinfo, mkvextract: bug fix: Fixed handling of
        clusters missing a cluster time code element.

        * mkvinfo GUI: bug fix: Frames for simple blocks were shown at the
        wrong place in the element tree.

2010-05-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract: Fixed handling of clusters with an unknown
        size.

2010-05-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: Fixed handling clusters with an unknown size.

        * mkvinfo: new feature: Added an option ("-z" / "--size") for
        displaying each element's size property. Elements with an
        unknown/infinite size are shown as "size is unknown".

2010-05-21  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added a checkbox for enabling "WebM"
        mode. This will also enable the same limitations that mkvmerge
        enables: Only VP8 and Vorbis tracks, no chapters, no tags. The
        output file name extension will be changed to ".webm" upon
        enabling the mode.

2010-05-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: change: mkvmerge will not write track header elements
        whose actual value equals their default value anymore.

2010-05-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Neither chapters nor tags will be written
        to WebM compliant files. Warnings are issued if chapters or
        tags are found and not disabled.

        * mkvmerge: bug fix: Matroska files without clusters are accepted
        as valid input files again.

        * mmg: enhancement: Added "WebM" with the extension "webm" to
        the list of known file types.

        * mkvmerge: new feature: Added support for muxing VP8 video
        tracks.

        * mkvmerge: enhancement: mkvmerge will no longer put all clusters
        into a meta seek element resulting in smaller file size. The
        parameter "--no-clusters-in-meta-seek" has been renamed to
        "--clusters-in-meta-seek" and its meaning reverted.

        * mkvmerge: enhancement: WebM compatibility mode will be
        turned on automatically if the output file name's extension is
        '.webm', '.webma' or '.webmv'.

        * mkvinfo GUI: enhancement: Added "webm" to the list of known file
        name extensions for WebM files both for the "Open file" dialog
        and the drag & drop support.

2010-05-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added options "--webm"/"--web-media" that
        enable the WebM compatibility mode. In this mode only Vorbis
        audio tracks and VP8 video tracks are allowed. Neither chapters
        nor tags are allowed. The DocType element is set to "webm".

        * mkvinfo GUI: bug fix: Opening more than one file without
        restarting mkvinfo GUI could result in wrong time codes due to
        variables not being reinitialized.

2010-05-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: Binary elements shorter than 10 bytes were not
        output correctly.

2010-05-15  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: bug fix: The man page installation process only
        installed the English originals instead of the Japanese and
        Chinese translations.

2010-05-14  Moritz Bunkus  <moritz@bunkus.org>

        * Released v3.4.0.

        * build: Building mkvtoolnix now requires libebml v0.8.0 and
        libmatroska v0.9.0 or later.

        * all: Added a translation into Ukrainian by Serj (see AUTHORS).

2010-05-06  Moritz Bunkus  <moritz@bunkus.org>

        * Windows installer: Added the choice to run the installer in the
        same languages that the GUIs support. Patch by Serj (see AUTHORS)
        with modifications by myself.

2010-04-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the handling of non-spec compliant
        AVC/h.264 elementary streams in Matroska files with the CodecID
        V_ISO/MPEG4/AVC. Fix for bug 486.

2010-04-23  Moritz Bunkus  <moritz@bunkus.org>

        * all: Added a translation into Russian by Serj (see AUTHORS).

2010-04-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge will not output a message that it
        has extracted the display dimensions from AVC/h.264 bitstream if
        the source container (e.g. Matroska) overrides that setting. Fix
        for bug 485.

2010-04-12  Moritz Bunkus  <moritz@bunkus.org>

        * mmg's header editor, mkvpropedit: Fixed crashes with files
        created by Haali's GS Muxer containing "content encoding" header
        elements.

2010-04-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Extracting SSA/ASS files which miss the
        "Text" column specifier in the "Format:" line are handled
        correctly. Fix for bug 483.

2010-04-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a segfault when reading Matroska files
        containing level 1 elements other than clusters with a size of 0.

2010-04-03  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: The LINGUAS environment variable determines which
        man page and guide translations will be installed.

2010-03-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a tiny memory leak. Fix for bug 481.

        * Released v3.3.0.

        * Build system: Sped up builds by using pre-compiled
        headers. Patches by Steve Lhomme (see AUTHORS) and myself.

2010-03-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the default duration for interlaced
        MPEG-1/2 video tracks. Also added the 'interlaced' flag for such
        tracks. Patches by Xavier Duret (see AUTHORS). Fix for bug 479.

2010-03-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Specifying a FourCC with spaces at the end
        will not result in an error anymore. Fix for bug 480.

2010-03-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Time Codes for MPEG-1/2 tracks are calculated
        properly, especially for B frames. Patch by Xavier Duret (see
        AUTHORS). Fix for bug 475.

2010-03-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Added a message in verbosity level 2 to
        the splitting code. It reports before which time code and after
        what file size a new file is started.

        * All: A lot of changes preparing mkvtoolnix for use with the
        upcoming libebml2/libmatroska2 versions were applied. Patches by
        Steve Lhomme (see AUTHORS).

2010-03-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a crash when reading Matroska files
        that contain Vorbis audio with in MS compatibility mode (CodecID
        A_MS/ACM). Fix for bug 477.

        * All: enhancement: Added support for old Mac-style line endings
        (only '\r' without '\n') in text files.

2010-03-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added the values "4483M" and "8142M" to the
        "split after this size" drop down box.

2010-03-06  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed compilation if gettext is not available.

2010-03-03  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: Added project files and fixes for compilation with
        Microsoft Visual Studio 8. Patches by David Player (see AUTHORS).

        * Installer: bug fix: A couple of start menu links to pieces of
        the documentation were broken. Added missing start menu links to
        translations of the documentation.

        * mkvmerge: bug fix: The SRT reader skips empty lines at the
        beginning of the file.

2010-03-02  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: bug fix: Fixed the configure script and compilation
        on OpenSolaris.

2010-02-26  Moritz Bunkus  <moritz@bunkus.org>

        * Installer: bug fix: The "jobs" directory in the application data
        folder is removed during uninstallation if the user requests
        it. Fix for bug 474.

        * mkvextract: bug fix: Fixed granulepos calculation when
        extracting Vorbis tracks into Ogg files. Fix for bug 473.

2010-02-24  Moritz Bunkus  <moritz@bunkus.org>

        * All: bug fix: The programs will no longer abort with an error
        message if a selected interface translation is not available. The
        "C" locale is used instead. Fix for bug 472.

2010-02-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract: enhancement: Improved the error resilience
        when dealing with damaged Matroska files. When a damaged part is
        encountered reading will continue at the next cluster.

2010-02-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the handling of UTF-16 encoded chapter
        names in MP4/MOV files.

2010-02-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Some Matroska files contain h.264/AVC
        tracks lacking their CodecPrivate element (e.g. files created by
        gstreamer's muxer). For such tracks the CodecPrivate element (the
        AVCC) is re-created from the bitstream. Fix for bug 470.

        * mkvmerge: bug fix: MP4 files that do contain edit lists but
        whose edit lists do not span the entire file are processed
        properly. Such files are created by current x264 builds. Fix for
        bug 469.

2010-02-13  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: Fixed configure for systems on which 'echo' does
        not support the '-n' parameter (e.g. Mac OS).

2010-02-12  Moritz Bunkus  <moritz@bunkus.org>

        * Released v3.2.0.

        * Build requirements changed: The GUIs for mkvtoolnix now require
        wxWidgets 2.8.0 or newer.

2010-02-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg, mkvpropedit: Fixed another bug causing a crash writing
        chapters/other elements to existing Matroska files.

2010-02-10  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: bug fix: Improved detection of Boost::Filesystem
        for newer Boost versions.

2010-02-09  Moritz Bunkus  <moritz@bunkus.org>

        * docs: Added a Chinese Simplified translation for the man pages
        by Dean Lee (see AUTHORS).

2010-02-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Outputting error messages about invalid XML
        files will not cause mkvmerge to crash on Windows anymore.

        * mmg: enhancement: Added an input field for the segment info XML
        file (mkvmerge's "--segmentinfo" option) on the "global" tab.

2010-02-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The jobs will be saved in the 'mkvtoolnix/jobs'
        sub-directory of the 'application data' folder instead of the
        'jobs' folder in the current directory. On Windows this is the
        special 'application data' folder inside the user's profile
        directory, e.g. 'C:\Users\mbunkus\AppData\mkvtoolnix'. On
        non-Windows systems this is the folder '.mkvtoolnix' in the user's
        home directory.
        mmg's configuration file has also been moved from ~/.mkvmergeGUI
        to ~/.mkvtoolnix/config on non-Windows systems.
        Fix for bug 466.

2010-01-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Files are only opened for reading, not for
        writing, so that mkvextract will work on files the user only has
        read-only permissions for.

        * mkvextract: bug fix: Modes 'attachments', 'chapters', 'tags' and
        'cuesheet': mkvextract will output an error message if the file
        cannot be opened (e.g. because it does not exist or due to lack of
        access).

2010-01-24  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Changing the interface language does not
        require a restart anymore.

        * mkvmerge: bug fix: Reading VOB files bigger than 4 GB was broken
        in v3.1.0 on 32bit platforms.

2010-01-22  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Tooltips were not word-wrapped on Windows.

        * mkvinfo: enhancement: Added the "EBML maximum size length"
        element to the list of known elements. Fix for bug 464.

2010-01-20  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added a control for mkvmerge's "--cropping"
        parameter.

        * mmg: enhancement: Added the file extensions ".dtshd", ".dts-hd",
        ".truehd" and ".true-hd" to mmg's"'add/append file" dialogs.

        * mkvextract: bug fix: "mkvextract --version" was only writing an
        empty string. Fix for bug 463.

2010-01-18  Moritz Bunkus  <moritz@bunkus.org>

        * Released v3.1.0.

2010-01-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: If the first input file was a Quicktime/MP4
        file and all tracks from that file were deselected for muxing then
        mkvmerge would crash. Fix for bug 458.

2010-01-09  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The option 'AAC is SBR/HE-AAC' was not honored
        for appended AAC tracks. This could lead to mkvmerge aborting with
        an error that the track parameters did not match if it itself
        could not detect HE-AAC in the second file.

2010-01-06  Moritz Bunkus  <moritz@bunkus.org>

        * documentation: Added a Chinese Simplified translation for mmg's
        guide by Dean Lee (see AUTHORS).

2010-01-05  Moritz Bunkus  <moritz@bunkus.org>

        * documentation: Added a Japanese translation for the man pages by
        Katsuhiko Nishimra (see AUTHORS).

2010-01-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The output file name is checked for invalid
        characters before the muxing process is started. Fix for bug 455.

        * mkvpropedit, mmg: bug fix: Files with an infinite segment size
        are handled correctly now. Fix for bug 438.

        * mkvmerge: bug fix: Matroska files which have its 'tracks'
        element located behind the clusters are read correctly now.

        * mmg: enhancement: After muxing the "abort" button is changed to
        "open folder" which opens the explorer on the output file's
        folder. This only happens on Windows.

2010-01-02  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: When constructing the output file name mmg
        will only suggest names that don't exist already by appending a
        number to the file name (e.g. resulting in "/path/file (1).mkv").

2009-12-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for reading chapters from
        MP4 files that are stored in tracks with subtype 'text'. Such
        files are used e.g. on iPods/iPhones and can be created by
        HandBrake. Fix for bug 454.

2009-12-29  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The "tags" input box on the "general track
        options" tab was not updated when a track was selected. Fix for
        bug 453.

2009-12-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: If a MPEG-2 program stream file is
        added to mkvmerge whose base name ends in a number then mkvmerge
        will automatically read and process all other files in the same
        directory with the same base name, same extension and different
        numbers. Those files are treated as if they were a single big
        file. This applies e.g.  to VOB files from DVD images that are
        named VTS_01_1.VOB, VTS_01_2.VOB, VTS_01_3.VOB etc. mmg will
        output an error message if the user tries to add or append one of
        the other files that mkvmerge will process automatically (e.g. if
        the user has added VTS_01_1.VOB already and tries to append
        VTS_01_2.VOB).

        This also fixes bug 437.

        * Build requirements changed: mkvtoolnix requires Boost v1.34.0 or
        later. It requires the Boost::Filesystem library (with all Boost
        versions) and the Boost::System libraries (starting with Boost
        v1.35.0).

2009-12-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: SRT files with negative time codes will
        are not rejected anymore. Negative time codes will be adjusted to
        start at 00:00:00.000.

2009-12-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added support for extracting Blu-Ray
        subtitles (CodecID "S_HDMV/PGS").

2009-12-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge/mmg: enhancement: Added an option '--segment-uid' for
        specifying the segment UIDs to use instead of having to use a XML
        file and '--segmentinfo'.

        * Installer: The installer will no longer offer to run mmg after
        it has been installed. On Windows setups where a normal user
        account doesn't have administrator privileges this caused mmg to
        be run as the user "Administrator" instead of the normal user
        account causing confusion and some things not to work, e.g. drag &
        drop.

2009-12-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Zero-length frames in Theora bitstreams as
        created by libtheora v1.1 and later were dropped. Fix for bug
        450.

2009-12-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: On Windows 2000/XP the 'add/append file' dialog
        was not showing files with certain extensions (e.g. ".srt" or
        ".mp4") if the option "all supported media files" was
        selected. Fix for bug 448.

2009-12-12  Moritz Bunkus  <moritz@bunkus.org>

        * Released v3.0.0.

        * mmg: enhancement: Added support for showing the muxing progress
        for both normal muxes and the job manager in Windows 7's taskbar.

2009-12-06  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: The charset for output in cmd.exe for non-English
        interface languages has been fixed on Windows Vista and Windows 7.

        * all: enhancement for Windows platforms: If one of the mkvtoolnix
        components is run without having been installed before then
        translations will be read from the directory the .exe is run
        from.

2009-12-05  Moritz Bunkus  <moritz@bunkus.org>

        * configure: Added an option ('--without-build-timestamp') that
        omits the build timestamp from all version information so that two
        builds of mkvtoolnix can be byte-identical.

2009-12-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvpropedit, mmg: bug fix: Editing headers of files created by
        HandBrake would cause crashes and/or corrupted files after
        saving. Fix for bug 445.

2009-11-25  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.9.9.

2009-11-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The warning that no FPS has been entered for
        AVC/h.264 elementary streams is not shown anymore for appended
        tracks (only once for the first track that they're appended to).

2009-10-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The pixel cropping parameters were not kept
        when muxing from Matroska files.

        * mkvmerge: bug fix: The display width/height parameters were not
        kept when muxing from Matroska files if the bitstream of the track
        contained different aspect ratio information. Now the order is
        "command line" first, "source container" second and "bitstream"
        last.

2009-09-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the subtitle track selection for AVI
        files.

2009-08-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: A single '+' causes the next file to be
        appended just like putting the '+' in front of the file name.

2009-08-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The integrated help ('--help') contained
        wrong information about the '--sync' option. Fix for bug 435.

2009-08-18  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: The file dialogs for 'add file'/'append file'
        will show files with extensions in all uppercase as well. This
        only applies to file systems that distinguish between case
        (e.g. most of the non-Windows, non-FAT world). Fix for bug 433.

2009-08-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Missing ChapterLanguage elements were assumed
        to be set to "und". They're now assumed to be "eng" in accordance
        with the Matroska specifications.

        * Added a new program 'mkvpropedit' that can modify certain
        properties of existing Matroska files. It is mmg's header editor,
        just for the command line.

2009-08-13  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.9.8.

        * mmg: bug fix: The inputs for time code files and the language are
        deactivated if the user has selected a track that will be appended
        to another track. Fix for bug 432.

2009-08-06  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: mmg will handle multiple consecutive spaces in the
        options given with "add command line options" properly and not
        cause mkvmerge to exit with misleading error messages anymore. The
        "add command line options" dialog has been reordered, and the drop
        down box in it is now read-only. Fixes for bug 429.

        * doc, mmg: bug fix: The tooltip and documentation for the 'delay'
        option was misleading. Fix for bug 420.

2009-07-31  Moritz Bunkus  <moritz@bunkus.org>

        * mmg/header editor: enhancement: Implemented a considerable
        speedup in the processing of large files.

2009-07-30  Moritz Bunkus  <moritz@bunkus.org>

        * mmg/header editor: bug fix: The header editor copes better with
        files that do not contain all mandatory header fields. The missing
        ones are added or assumed to be default values.

2009-07-23  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: Selecting the translations with the
        "--ui-language" option did not work on Mac OS X.

2009-07-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed an invalid memory access in the VobSub
        reader module. Fix for bug 426.

        * mmg: bug fix: Tracks added from Matroska files did not get their
        'default track' drop down box set correctly if the flag was 'off'
        in the source file and no other track of its kind hat its 'default
        track' flag set.

        * mkvmerge: bug fix: mkvmerge was wrongly turning the 'default
        track' flag back on for the first subtitle track muxed from a
        Matroska file if none of the subtitle tracks muxed had their
        'default track' flag set in their source files and if the user
        didn't use the '--default-track' option for setting that flag
        explicitely.

2009-07-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Running mkvmerge on Windows from an installation
        directory with two spaces in the path (e.g. "C:\Program
        Files\Video tools\mkvtolnix") crashed mmg when the user started
        muxing. Fix for bug 419.

2009-07-13  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Files for which all tracks were disabled were left
        out from mkvmerge's command line so that tags, chapters and
        attachments were not copied from such files either.

        * mkvmerge: bug fix: Appending MPEG4 part 2 video tracks from
        Matroska files which contain aspect ratio information will not
        result in an error message "connected_to > 0" anymore. Fix for bug
        427.

2009-07-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the audio sync for tracks read from AVI
        files containing garbage at the beginning. Fix for bug 421.

        * mmg: bug fix: Trying to save chapters that contain editions
        without a single chapter entry does no longer result in a crash
        but a descriptive error message instead. Saving empty chapters to
        a Matroska file will remove all chapters contained in the file
        instead of not doing anything. Fixes for bug 422.

2009-07-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: enhancement: Implemented speed-ups of up to 50% for
        middle to larger files.

2009-07-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed reading AVC/h.264 video tracks from OGM
        files. Fix for bug 418.

        * mmg: bug fix: The chapter language for chapters copied from
        source files (e.g. Matroska, MP4 or OGM files) is only changed if
        the user has selected any language other than "und". Fix for bug
        420.

        * mmg: bug fix: mmg will no longer show an error message if the
        user has not selected a country in the "chapters" tab of the
        preferences dialog.

2009-07-01  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.9.7.

2009-06-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The handling of NVOPs in native MPEG4 part 2
        video storage has been improved. NVOPs are dropped again both from
        packed and non-packed bitstreams, and time codes are adjusted to
        match the number of dropped frames.

2009-06-25  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: The "preferences" dialog has been split up into several
        tabs. Some other preferences available in other dialogs have been
        merged into the "preferences" dialog.

        * mkvmerge: bug fix: The I frame detection for AVC/h.264 video has
        been fixed. Sometimes a single I frame was recognized as two or
        more consecutive I frames resulting in garbled display and wrong
        timestamps. Fix for bug 415.

2009-06-23  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: The list of common languages can be configured
        by the user via the 'preferences' dialog.

2009-06-22  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: The programs do not try to close iconv handles -1
        anymore which resulted in segfault during uninitialization on some
        platforms (e.g. FreeBSD, Mac OS X). Fix for bug 412.

2009-06-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Complete rewrite of the code for the native
        storage mode for MPEG4 part 2 video tracks. Fix for bug 298.

2009-06-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Made the detection rules for raw MP3, AC3 and
        AAC audio files more strict. This avoids a mis-detection of
        certain files, e.g. AVC/h.264 ES files being misdetected as MP3
        files. Fix for bug 414.

2009-06-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Appending MP4 or OGM files with chapters will
        merge the chapters from all appended files and not just take the
        chapters from the first file and discard the chapters from the
        following files. Fix for bug 397.

        * mkvmerge, mmg: new feature: The language for chapters read from
        files such as OGM and MP4 files can be chosen with the
        --chapter-language command line option. Fix for bug 399.

        * mkvmerge, mmg: new feature: Chapter and tag information
        contained in source files are now shown in the "track" selection
        box and can be toggled individually. The user can set the charset
        for chapters if the source file's chapters are not encoded in
        UTF-8 (e.g. in some OGM/MP4 files). The old file specific
        checkboxes "no tags" and "no chapters" have been removed. Fix for
        bug 400.

2009-06-13  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The chapter editor was corrupting Matroska files
        if the chapters were saved to a file twice in a row without
        reloading them from the Matroska file.

2009-06-09  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: If the user selects the option "Verify" from
        the "Chapters" menu then a message will be shown even if the
        validation succeeded. Fix for bug 410.

        * mmg/mkvmerge: bug fix: Adding MP4 files with chapter entries
        that are not encoded in UTF-8 will not result in mkvmerge aborting
        with a message about invalid UTF-8 sequences anymore. Fix for bug
        408.

2009-06-07  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.9.5.

2009-06-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The handling of TrueHD/MLP audio in MPEG
        program streams was broken resulting in many dropped packets.

        * all: bug fix: There was the possibility that invalid memory
        access occured and e.g. mkvmerge crashed on systems with the
        posix_fadvise() function (mainly Linux) if mkvmerge was opening
        several files from certain file systems (e.g. VFAT). Apart from
        obvious crashes the only other side effect was that the
        posix_fadvise() function would not be used resulting in slightly
        worse I/O performance.

2009-05-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Improved the control over which tags get
        copied from a source file to the output file. The old option
        "--no-tags" was replaced with the new options "--no-global-tags"
        which causes global tags not to be copied and "--no-track-tags"
        which causes track specific tags to not be copied. The new option
        "--track-tags" can be used to select tracks for which tags will be
        copied. The default is still to copy all existing tags.

        * mkvmerge: new feature: Included chapters, global and track
        specific tracks in the output of mkvmerge's identification mode.

        * mkvmerge: Renamed a couple of command line options to make the
        command line interface more consistent: "--no-audio",
        "--no-video", "--no-subtitles", "--no-buttons", "--audio-tracks",
        "--video-tracks", "--subtitle-tracks", "--button-tracks". The old
        versions of these options "--noaudio", "--novideo", "--nosubs",
        "--nobuttons", "--atracks", "--vtracks", "--stracks" and
        "--btracks" still work.

        * mkvmerge: bug fix: The sequence header of MPEG-1/2 video tracks
        is put into the CodecPrivate again while still leaving sequence
        headers in the bitstream as well. This is more compatible with
        some existing parsers.

2009-05-30  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Removed the check if the user has added
        tracks and files before starting mkvmerge because mkvmerge itself
        is able to create track-less files (e.g. chapters only). Fix for
        bug 402.

        * mkvmerge: bug fix: Improved the handling of consecutive AC3
        packets with the same time code (e.g. if AC3 is read from MP4
        files). Fix for bug 403.

2009-05-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed an endless loop in the TrueHD code
        occuring when the TrueHD stream is damaged somewhere.

2009-05-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the detection of MPEG transport streams
        with other packet sizes than 188 bytes (e.g. 192 and 204 bytes).

2009-05-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The detection of invalid padding packet
        lengths in the MPEG program stream reader was improved to not
        produce as many false positives. Patch by Todd Schmuland (see
        AUTHORS). Fix for bug 393.

2009-05-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for the FourCCs ".mp3" and
        "XVID" in QuickTime files.

        * mmg: bug fix: Pressing 'return' in the job dialog will close the
        dialog on Windows, too. Fix for bug 392.

2009-05-22  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed the behaviour of how mmg sets the output
        file name automatically if the option is enabled. If the user adds
        more than one file then the extension of the output file name is
        set each time a file is added and not only when the first one
        is. The full file name and path will only be set when the first
        file is added. Fix for bug 391.

        * Released v2.9.0.

2009-05-17  Moritz Bunkus  <moritz@bunkus.org>

        * all: Added a translation to Traditional Chinese by Dean
        Lee (see AUTHORS).

        * mkvmerge: bug fix: mkvmerge was not handling dropped frames well
        when converting from VfW-mode MPEG-4 part 2 to native mode MPEG-4
        part 2 (with '--engage native_mpeg4'). This resulted in time codes
        being to low which in turn resulted in the loss of audio/video
        synchronization. Fix for bug 236.

2009-05-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The modes 'chapters', 'cuesheet' and 'tags'
        did not honor the '--redirect-output' option and where always
        writing to the standard output.

        * mkvmerge: new feature: Added a hack ('vobsub_subpic_stop_cmds')
        that causes mkvmerge to add 'stop display' commands to VobSub
        subtitle packets that do not have a duration field. Patch by Todd
        Schmuland (see AUTHORS).

2009-05-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Changed how mmg sets the output file name
        automatically if the option is enabled. If the user adds more than
        one file then the output file name is set each time a file is
        added and not only when the first one is unless the user has
        changed the output file name manually. Fix for bug 229.

2009-05-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Improved support for QuickTime audio
        tracks with version 2 of the STSD sound descriptor.

        * mmg: bug fix: The "remove all" button was sometimes disabled
        even though there were still files left to be removed.

        * mkvmerge: enhancement: The MPEG program stream reader will now
        detect invalid padding packets and skip only to the next 2048 byte
        packet boundary instead of skipping several good packets. Patch by
        Todd Schmuland (see AUTHORS).

        * mmg: enhancement: The "no chapters" checkbox can now be used for
        QuickTime/MP4 files and OGM files as well.

        * mkvmerge: enhancement: The OGM reader will only print the
        warning that no chapter charset has been set by the user if the
        title or the chapter information contained in the OGM file is
        actually used and not overwritten with '--title ...' or
        '--no-chapters'.

2009-05-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The VobSub extraction was made more
        compatible with most applications. Fix for bug 245. Patch by Todd
        Schmuland (see AUTHORS).

        * mkvmerge: bug fix: Fixed support for Windows systems that use
        code pages that are not supported by the iconv library (e.g. code
        page 720). mkvmerge was exiting with warnings causing mmg to
        report that file identification had failed. Fix for bug 376.

2009-05-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for handling MPEG-1/-2
        video in AVI files. Fix for bug 388.

2009-05-11  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: Global variables are deconstructed in a
        pre-defined way no longer causing segfaults when the programs are
        about to exit.

        * mkvmerge: enhancement: Implemented small speedups for some
        common memory operation (affects e.g. the MPEG program stream
        parser).

        * mkvmerge: bug fix: Fixed potential and actual segmentation
        faults occuring when appending VC-1 video tracks, Dirac video
        tracks and DTS audio tracks.

2009-05-10  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The header and chapter editors will no longer
        crash the application if the user wants to open a file that's
        locked by another process and show an error message instead.

        * mkvmerge: enhancement: Invalid VobSub packets whose internal SPU
        length field differs from its actual length are patched so that
        the SPU length field matches the actual length. This fixes
        playback issues with several players and filters. Fix for bug
        383.

        * mkvmerge: new feature: Added support for reading chapters from
        MP4 files. Fix for bug 385.

2009-05-09  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.8.0.

2009-05-07  Moritz Bunkus  <moritz@bunkus.org>

        * all: Added a translation to Chinese (simplified) by Dean
        Lee (see AUTHORS).

        * mkvmerge: enhancement: Added support for handling AC3 audio in
        MP4 files with the FourCC "sac3" (as created by e.g. Nero Recode
        v3/4). Fix for bug 384.

        * mkvmerge, mmg: enhancement: Made mmg's "FPS" input field
        available for all video tracks. mkvmerge's corresponding option
        "--default-duration" now not only modifies the track header field
        but affects the frame time codes as well.

2009-05-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The VobSub reader was dropping the very last
        MPEG packet possibly resulting in the very last subtitle entry
        being garbled or discarded completely. Patch by Todd Schmuland.

2009-05-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added "60000/1001" as a pre-defined option to
        the "FPS" drop-down box.

2009-04-29  Moritz Bunkus  <moritz@bunkus.org>

        * mmg (header editor): bug fix: The header editor controls on the
        right stopped responding after the second file had been loaded or
        the "reload file" feature had been used. Fix for bug 372.

2009-04-27  Moritz Bunkus  <moritz@bunkus.org>
        * mmg: new feature: Added an option for clearing all inputs after
        a successful muxing run.

2009-04-25  Moritz Bunkus  <moritz@bunkus.org>
        * mkvmerge: bug fix: Made the AAC detection code stricter in what
        it accepts. This results in fewer mis-detections. Fix for bugs 373
        and 374.

2009-04-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Splitting without the option "--engage
        no_simpleblocks" resulted in broken files: all frames were marked
        as B frames. Fix for bug 371.

        * mkvinfo: bug fix: Time Codes of SimpleBlock elements that were
        output formatted in summary mode were too small by a factor of
        1000000.

2009-04-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The duration of subtitle frames was
        overwritten with the difference between the next frame's time code
        and the current frame's time code if a time code file was used for
        that track. Fix for bug 286.

        * mmg: bug fix: Removed the option "always use simple blocks" from
        the preferences dialog as this option was already removed from
        mkvmerge. Fix for bug 370.

2009-04-14  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.7.0.

        * Build requirements changed: mkvtoolnix requires Boost v1.32.0 or
        later.

2009-04-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: mkvmerge will now use SimpleBlock elements instead of
        normal BlockGroup elements by default.

2009-04-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: Added support for the "forced track"
        flag. Fix for bug 128.

        * mmg: bug fix: The header editor and chapter editor will not
        write zero bytes anymore if there's not enough space to write an
        EbmlVoid element when saving to Matroska files.

2009-04-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: By default mkvmerge keeps the aspect ratio information
        in AVC/h.264 video bitstreams now (equivalent to specifying
        "--engage keep_bitstream_ar_info" in earlier versions). A new
        option "--engage remove_bitstream_ar_info" is available that
        restores the previous behaviour.

        * mkvmerge: bug fix: Fixed the aspect ratio extraction for
        AVC/h.264 video by adding three more pre-defined sample aspect
        ratios. Mkvmerge also only assumes "free aspect ratio" if the
        aspect ratio type information indicates it and not if the
        type information is unknown.

2009-04-05  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added drag & drop support for the header
        editor (files can be opened by dropping them on the header
        editor).

        * mkvmerge: new feature: Added support for reading the track
        language from QuickTime/MP4 files. Thanks to Eduard Bloch for the
        code for unpacking the language string.

        * mmg: bug fix: All arguments are shell escaped and quoted instead
        of only those with spaces in them. Only applies to the menu
        options "show command line", "save command line to file" and "copy
        command line to clipboard". Fix for bug 364.

2009-03-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract: new feature: Added support for MLP audio.

        * mmg: bug fix: When adding a file with colons in the segment
        title all colons were replaced with the letter 'c'.

2009-03-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvetract: new feature: Added support for TrueHD audio
        (read from raw streams with or without embedded AC3 frames, MPEG
        program streams).

2009-03-25  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The job manager's status output was garbled if mmg
        was run with another language as English.

        * mmg: bug fix: The progress bar for each individual job in the
        job dialog wasn't updated if mmg was run with another language as
        English.

        * mmg: bug fix: The time codes in the job queue editor were off by
        one month. The "added job on" was additionally off by an amount
        depending on the user's time zone. Fix for bug 362.

2009-03-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The MPEG program stream (VOB/EVO) reader was
        sometimes reading the time codes wrong resulting in bad audio/video
        synchronization. Fix for bug 337.

        * Released v2.6.0.

2009-03-22  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added a header editor for Matroska files.

2009-03-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The "simple" chapter extraction mode (OGM
        style chapter output) outputs strings converted to the system's
        current charset by default now instead of always converting to
        UTF-8. This can be overridden with the "--output-charset" command
        line option. Fix for bug 359.

2009-03-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: QuickTime audio tracks will be stored with
        the CodecID "A_QUICKTIME". The CodecPrivate element contains the
        full "STSD" element from the QuickTime file (just like
        V_QUICKTIME). This method is used for all audio tracks which don't
        have a well-defined storage spec for Matroska (e.g. AAC, AC3,
        MP2/3 are still stored as A_AC3, A_AAC etc). Hopefully a fix for
        bugs 354 and 357.

        * mkvmerge: bug fix: The CodecPrivate element for QuickTime video
        tracks like Sorenson Video Codecs contained wrong data. Fix for
        bug 355.

        * all: Added a Japanese translation by Hiroki Taniura (see
        AUTHORS).

2009-03-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed detection of little endian PCM tracks
        in MOV files. Fix for bug 356.

2009-03-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The charset for text output was not
        initialized correctly resulting in garbled display of non-ASCII
        characters in non-UTF-8 locales.

        * all: bug fix: A couple of translated strings were converted from
        the wrong locale when they were displayed.

        * mmg, mkvinfo: The GUIs now require an Unicode-enabled version of
        wxWidgets.

2009-03-14  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: The tools use the API call "GetOEMCP()" on Windows
        instead of "GetACP()". This should make messages output in cmd.exe
        come out correctly for Windows versions for which cmd.exe uses a
        different code page than the rest (e.g. on German Windows).

2009-03-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: enhancement: If mkvinfo is started in GUI mode on
        Windows then the console that was started with it will be closed.

        * mkvinfo: bug fix: Chapter names and tag elements were recoded to
        the wrong charset resulting in garbled output. Fix for bug 353.

2009-03-07  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.5.3.

2009-03-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract, mmg: bug fix: If the environment variables
        LANG, LC_ALL, LC_MESSAGES contained a locale that was supported by
        the system but for which mkvtoolnix did not contain a translation
        (e.g. fr_FR, it_IT, en_AU) then the programs would abort with an
        error message. Fix for bug 338.

        * mkvmerge: bug fix: Appending raw AVC/ES files resulted in
        segmentation faults. Fix for bug 344.

2009-02-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: When mkvmerge was run with the --attachments
        option to copy only some of the attachments in a Matroska file
        then any attachment with an ID larger than the first skipped
        attachment ID was not copied into the new file. Fix for bug 346.

        * Released v2.5.2.

        * installer: bug fix: If the installer is run in silent mode
        (switch "/S") then it will not ask the user whether or not to
        place a shortcut on the desktop, and that shortcut will not be
        created. Fix for bug 345.

        * mmg: new feature: Added two buttons "enable all" and "disable
        all" to the list of attached files that enable / disable all
        attached files.

        * mmg: bug fix: The action "File" -> "New" did not clear the
        internal list of attached files resulting in unexpected behaviour
        if files with attachments where added afterwards.

        * mmg: bug fix: The button "remove all files" did not clear the
        list of attached files.

2009-02-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: new feature: Made mkvinfo's GUI translatable. Added a
        German translation for the GUI.

2009-02-25  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: On Linux wxWidgets 2.8.0 and newer uses the GTK combo boxes
        which suck. A lot. Therefore mmg uses wxBitmapComboBoxes for
        wxWidgets >= 2.8.0 on Linux and normal wxComboBoxes in all other
        cases. wxBitmapComboBoxes are still drawn by wxWidgets itself
        (just like wxComboBoxes before 2.8.0) and offer much better
        functionality. Fix for bug 339.

        * mkvmerge, mmg: bug fix: The MIME type autodetection for
        attachments was broken for paths with non-ASCII characters on
        non-UTF-8 encoded systems (mostly on Windows). Fix for bug 340.

        * source: various fixes for compilation with wxWidgets 2.9.

2009-02-24  Moritz Bunkus  <moritz@bunkus.org>

        * all programs: bug fix: The locale was not detected properly
        often resulting in the program aborting with the message that
        "the locale could not be set properly". Fix for bug 338.

2009-02-22  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.5.1.

        * mmg: bug fix: Fixed the selection of the translation to use if
        the LC_MESSAGES environment variable has been set on Windows.

2009-02-21  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.5.0.

        * mmg: bug fix: Fixed a crash during the check if files could be
        overwritten by the next mux. Possible fix for bugs 335 and 336.

2009-02-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvinfo, mkvextract, mmg: Made all those programs
        nearly completly translatable. Added a German translation for all
        four programs (only for the programs, not for the static
        documentation: man pages, the guide to mmg etc).

        * mkvmerge, mmg: new feature: Added options ('-m' /
        '--attachments' and its counterparts '-M' / '--no-attachments')
        to mkvmerge for selecting which attachments to copy and which to
        skip and the corresponding controls to mmg.

2009-02-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the detection of AAC files whose first
        AAC header does not start on the first byte of the file.

2009-01-19  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: It was possible to crash mmg by clicking onto the
        root element in the chapter editor.

2009-01-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: During time code extraction mkvextract wrote
        large time codes in scientific notation.

2009-01-17  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.4.2.

2009-01-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: If subtitle files are appended to separate
        video files (e.g. two AVI and two SRT files) then the subtitle
        time codes of the second and all following subtitle files were
        based on the last time code in the first subtitle file instead of
        the last time code in the first video file. Fix for bug 325.

        * mkvmerge: bug fix: Due to uninitialized variables mkvmerge would
        report OGM files as having arbitrary display dimensions. Fix for
        bug 326.

2009-01-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: enhancement: Implemented MIME type detection for
        attachments with libmagic on Windows.

2009-01-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: If a Matroska file containing attachments was
        used as an input file and splitting was enabled then the
        attachments were only written to the first output file. Now
        they're written to each output file. Partial fix for bug 324.

2008-12-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Decreased the time mkvmerge needs for
        parsing Quicktime/MP4 header fields.

2008-12-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The parser for the simple chapter
        format (CHAPTERxx=...) can now handle more than 100 chapters. Fix
        for bug 320.

        * mmg: bug fix: The commands "Save command line" and "Create
        option file" did not save mmg's current state but the state it was
        in when the command "Show command line" was last used or when mmg
        was started.

2008-12-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a crash (segfault) with MPEG-4 part 2
        video if "--engage native_mpeg4" is used. Fix for bug 318.

2008-12-08  Moritz Bunkus  <moritz@bunkus.org>

        * Windows installer: The installer cleans up leftovers from old
        installations during an upgrade. It doesn't write registry entries
        for an exe called "AppMainExe.exe" anymore. It asks whether or not
        the user wants a shortcut on the desktop. It does not install the
        document for base64tool anymore because base64tool itself isn't
        installed anymore either. Fixes for bugs 314, 315, 316 and 317.

        * mmg: bug fix: Fixed a compilation problem with non-Unicode
        enabled wxWidgets. Fix for bug 313.

2008-12-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for reading the pixel
        aspect ratio from Theora video tracks.

2008-12-04  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.4.1.

        * Build system: bug fix: Configure does not use "uname -m" for the
        detection of the Boost libraries anymore but configure's "$target"
        environment variable. This fixes the Boost detection for cross
        compilation builds. Fix for bug 311. Patch by Dominik Mierzejewski
        (see AUTHORS).

2008-12-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: PCM audio tracks bigger than approximately 8
        GB were cut off after approximately 8 GB.

2008-12-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge recognizes SRT subtitle files with
        time codes that contain spaces between the colons and the digits
        and time codes whose numbers are not exactly two or three digits
        long.

2008-11-28  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: mmg processes window events much more often during
        muxing.

        * all: Updated the language code list from the offical ISO 639-2
        standard.

2008-11-04  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Split time codes with more than three decimals were
        not allowed even though the docs say that they are. They are now,
        as mkvmerge supports such time codes.

2008-11-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Changed the way mkvmerge calculates the
        time codes when appending files. Should result in better
        audio/video synchronization.

        * mkvmerge: new feature: Added support for reading SRT and SSA/ASS
        subtitles from AVI files (fix for bug 64).

2008-11-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge's LZO compressor would segfault if
        mkvmerge was compiled against v2 of the LZO library and the v1 LZO
        headers were not present.

2008-10-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: SRT subtitle files are also handled correctly
        if the time code lines do not have spaces around the arrow between
        the start and end time codes.

2008-10-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Matroska elements with binary data were
        output as garbage in XML files.

2008-10-11  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.4.0.

        * mmg: bug fix: The chapter editor's function "save to Matroska
        file" was corrupting the target file in some cases. Fix for bug
        307.

2008-10-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge was only writing one reference block
        for real B frames. Patch by Daniel Glöckner. Fix for bug 306.

        * all: bug fix: The Windows uninstaller was not removing all start
        menu entries during uninstallation on Windows Vista. The installer
        now creates the start menu entries for all users instead of the
        current user only. Fix for bug 305.

2008-10-05  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The "language" drop down box contained some
        entries twice or more. Fix for bug 304.

2008-10-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Incorrect usage of the iconv library caused
        some conversions to omit the last character of each converted
        entry (e.g. for the conversion from Hebrew to UTF-8). Fix for bug
        302.

2008-09-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: mkvmerge will use the time codes provided
        by the MPEG program stream source file for VC1 video tracks.

2008-09-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Reading EVOBs with multiple VC1 video tracks
        was broken (all packets where put into a single video track).

2008-09-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added support for handling SimpleBlocks
        for time code extraction.

2008-09-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Reading raw (E)AC3 files bigger than 2 GB was
        broken.

        * mkvmerge: new feature: Added support for Dirac video tracks.

2008-09-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Improved the detection of MPEG-1/-2 and
        AVC/h.264 video tracks in MPEG program streams (VOBs/EVOBs).

        * mkvmerge: bug fix: Fixed reading DTS audio tracks from MPEG
        program streams (VOBs/EVOBs).

2008-09-19  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added the extensions "evo", "evob" and "vob"
        to mmg's "add file" dialog.

2008-09-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for muxing VC1 video tracks
        read from MPEG program streams (EVOBs) or raw VC1 elementary
        streams (e.g. as produced by EVODemux).

2008-09-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for 7.1 channel EAC3
        files. Fix for bug 301.

2008-09-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Revision 3831 (the change to the "--delay"
        and "--sync" options) caused mkvmerge to no longer respect the
        delay caused by garbage at the beginning of MP3 and AC3 audio
        tracks in AVI files. The time codes of such tracks are now delayed
        appropriately again. Fix for bug 300.

2008-09-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Unknown stream types in Ogg files
        (e.g. skeleton tracks) don't cause mkvmerge to abort
        anymore. They're simply ignored. Fix for bug 299.

        * mkvextract: new feature: Added support for extracting Theora
        video tracks into Ogg files. Fix for bug 298.

        * mkvmerge: bug fix: Fixed the frame type (key or non-key frame)
        detection for Theora tracks.

2008-09-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: all: On Unix/Linux rpath linker flags have been
        removed again (they were actually removed before the release of
        v2.3.0).

2008-09-07  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.3.0.

2008-09-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: improved the time code calculation for MP3
        tracks read from MP4 files. Another part of the fix for bug 165.

2008-09-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge honors the time code offsets of all
        streams in a MPEG program stream (e.g. VOB file) fixing
        audio/video desynchronization. Fix for bug 295.

2008-08-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Switched from the PCRE regular expression library to
        Boost's RegEx library.

2008-08-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: DTS-in-WAV handling (14 to 16 bit expansion)
        was flawed. Fix for bug 288.

        * mkvmerge: new feature: Added support for Vorbis in AVI (format
        tag 0x566f). Fix for bug 271.

        * mkvmerge: new feature: Added support for PCM tracks with
        floating point numbers (CodecID A_PCM/FLOAT/IEEE). Patch by
        Aurelien Jacobs (see AUTHORS).

2008-08-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The fix to the time code handling for AVC
        tracks in MP4 files from 2008-04-16 caused certain other MP4 files
        to not be read correctly. The video tracks were found, but no
        frames were read. Fix for bug 294.

        * mkvmerge: new feature: Added support for Ogg Kate
        subtitles. Patch by ogg.k.ogg.k@googlemail.com.

2008-08-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: The option "--delay" was removed. The option
        "--sync" now only modifies the time codes of a given
        track. mkvmerge does not pad audio tracks with silence. "--sync"
        works with all track types now, but using a stretch factor other
        than 1 with audio tracks might not work too well during
        playback. mmg's inputs for "Delay" and "Stretch by" can be used
        with all track types. Fix for bug 287.

2008-08-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: mmg outputs a more informative error
        message for known but unsupported input file types (e.g. ASF, FLV,
        MPEG TS) instead of the cryptic "file identification failed".

        * mkvmerge: bug fix: The VobSub reader would sometimes read too
        many bytes for a single SPU packet. Part of a fix for bug 245.

2008-05-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Using BZIP2 compression resulted in broken
        streams. Patch by Aurelien Jacobs (see AUTHORS).

2008-05-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Improved support for WAV files bigger
        than 4 GB which only contain a single DATA chunk and a wrong
        length field for this DATA chunk (e.g. eac3to creates such files).

2008-05-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Certain Matroska files with dis-continuous
        streams (e.g. subtitles) caused huge memory consumption. Fix for
        bug 281.

2008-04-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge will output a proper error message
        if it is called with ASF/WMV files instead of detecting other
        kinds of streams (e.g. AVC ES streams). Fix for bug 280.

2008-04-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed an assertion in the OGM reader occuring
        for OGM files with embedded chapters. Fix for bug 279.

        * mkvmerge: all: On Unix/Linux rpath linker flags are added for
        library paths given in LDFLAGS and configure's "--with-extra-libs"
        options.

2008-04-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed wrong time codes for MP4 files that
        contain video tracks with B frames and edit lists. Fix for bug
        277. Patch by Damiano Galassi (see AUTHORS).

2008-04-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge will not strip leading spaces in
        SRT subtitles anymore.

        * mkvmerge: bug fix: Tuned the file type detection for MPEG ES
        streams. Fix for bug 265.

2008-04-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed writing to UNC paths on Windows. Fix
        for bug 275.

2008-03-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for skipping ID3 tags in
        AAC and AC3 files. Fix for bug 204.

        * mkvmerge: new feature: Added support for DTS-HD (both "master
        audio" and "high resolution").

2008-03-04  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.2.0.

2008-02-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for handling AC3 in WAV in
        ACM mode.

2008-02-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for reading AC3 from
        QuickTime/MP4 files. Fix for bug 254.

2008-02-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for handling AC3 in WAV in
        IEC 61937 compatible streams (aka SPDIF mode).

        * mkvmerge: new feature: Added support for WAV files with multiple
        data chunks.

        * mkvmerge: bug fix: Fixed a cause for the error message "no data
        chunk found" by fixing the skipping of 'fmt ' chunks.

2008-02-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for AAC-in-AVI with CodecID
        0x706d as created by mencoder. Fix for bug 266.

2008-02-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Rewrote the OGM reader code. Another part of
        a fix for bug 267.

2007-12-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Rewrote the time code application
        code. Additionally force the "previous cluster time codes" that
        libmatroska uses to the current time code. This seems to get rid of
        libmatroska's assertions about the local time code being to
        small/big to fit into an int16. It also seems to get rid of some
        of mkvmerge's errors about the packet queue not being empty, and
        it fixes a couple of crashes with file splitting.

2007-12-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: OGM files with non-Theora video tracks caused
        mkvmerge to fail since 2.1.0, or the resulting file was
        unplayable. Fix for bug 267.

2007-10-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Accept other Theora header versions than
        3.2.0 as long as the major version is 3 and the minor 2. Fix for
        bug 262.

2007-09-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: MPEG PS reader: Fixed the resyncing mechanism
        during normal reads. Another fix for bug 259.

        * mkvmerge: bug fix: MPEG PS reader: mkvmerge tries to resync to
        the next MPEG start code in case of error during stream
        detection. Fix for bug 259.

2007-08-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: SVQ1 video tracks read from QuickTime files are output
        as V_MS/VFW/FOURCC tracks and not as V_QUICKTIME tracks. Fix for
        bug 257.

2007-08-30  Moritz Bunkus  <moritz@bunkus.org>

        * avilib: bug fix: Fixed a segmentation fault if reading the first
        part of an index failed but a second/other index part is
        present. Fix for bug 256.

2007-08-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: SRT files that contain coordinates in the
        time code line are supported. The coordinates are discarded
        automatically (as S_TEXT/SRT doesn't support them), and a warning
        is shown.

        * Released v2.1.0.

2007-08-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Added support for reading MP2 audio
        tracks from OGM files. Patch by Mihail Zenkov (see AUTHORS).

2007-08-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: enhancement: Added support for extracting Dolby
        Digital Plus (EAC3) tracks.

        * mkvmerge: bug fix: SPS and PPS NALUs are no longer removed from
        AVC/h.264 streams. Hopefully a fix for bug 231.

2007-07-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Fixed SSA/ASS detection for files
        produced by Aegis Sub which doesn't include a line with '[script
        info]' in the file.

2007-07-07  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added another option how mmg choses the
        directory if automatic output filename creation is on. Implements
        all suggestions as listed in bug 248.

2007-07-05  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Moved the complete 'settings' tab to its own
        dialog accessible via the 'Settings' option in the 'File' menu.

2007-06-30  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added a buton 'remove all' which removes all
        input files and tracks leaving all other options as they are. Fix
        for bug 248.

        * mmg: new feature: Added an option for setting the default output
        directory if the automatic setting of the output file name is
        turned on. Fix for bug 248.

        * mkvmerge: enhancement: DTS code: Some tools (e.g. Surcode) can
        create DTS files which are padded with zero bytes after each DTS
        frame. These zero bytes are now skipped without printing a
        warning.

        * mmg: enhancement: mmg can now be called with any file name as an
        argument. If it ends with 'mmg' then the file will be loaded as a
        'mmg settings file'. Otherwise mmg will 'add' it. Fix for bug 243.

2007-06-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The OGM reader uses the OGM's timestamps for
        video tracks. Before it would just use the current frame number
        multiplied by the FPS.

        * mkvmerge: enhancement: The OGM reader now uses the AVC/h.264
        video packetizer for AVC/h.264 tracks so that the aspect ratio can
        be extracted from it.

2007-06-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fixes: Fixed a couple of memory leaks.

2007-06-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added better checks if two tracks can be
        appended to the passthrough packetizer so that tracks that are
        otherwise not known to mkvmerge can still be appended
        (e.g. V_VC1). Fix for bug 244.

2007-06-23  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: The NALU size length can now be chosen for all AVC tracks,
        not only for those that are handled by the 'AVC ES packetizer'.

        * mkvmerge: bug fix: The 'default track' flag was set to 'yes' for
        tracks read from Matroska files even if 'no' was specified on the
        command line.

        * mkvextract: new feature: Added support for the 'header removal'
        encoding scheme.

2007-06-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: The NALU size length of an AVC/h.264
        track can now be changed even if the source is not an elementary
        stream (e.g. for MP4 and Matroska files).

2007-06-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Added support for RealAudio v3 in
        RealMedia files. Patch by Aurelian Jacobs. Fix for bug 246.

2007-06-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Moved the command line to a separate dialog and reduced the
        main window's height.

2007-04-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Another bug fix for handling various AC3 and
        E-AC3 files in MPEG program streams.

2007-04-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Added support for handling SEI NALUs in
        AVC/h.264 elementary streams so that "key frames" can be detected
        even if no IDR slices are present.

2007-04-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the VobSub reader so that "delay:"
        lines with negative time codes are accepted. Fix for bug 241.

2007-04-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Improved the file type detection code for
        MPEG transport streams.

2007-03-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a problem reading normal AC3 tracks
        from MPEG program streams.

2007-03-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed an issue with negative/huge time codes
        after splitting AVC/h.264 video.

2007-03-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: The SRT reader allows "." as the decimal
        separator as well as ",".

2007-03-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a problem with concatenating more than
        two subtitle files.

2007-03-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: The MPEG program stream reader will now sort the
        tracks it finds first by their type (video > audio > subs) and
        then by their stream ID.

        * mkvmerge: Disabled the support for DTS tracks in MPEG program
        streams because DTS HD is not supported yet.

        * mkvmerge: enhancement: Implemented a major speed-up for reading
        MPEG-1/2 and AVC/h.264 tracks from MPEG program streams.

2007-03-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Fixed the MPEG PS reader so that it will
        just skip blocks whose headers it cannot parse instead of
        aborting.

        * mkvmerge: new feature: Added support for handling AVC/h.264
        tracks in MPEG program streams.

2007-03-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for EAC3 tracks in MPEG
        program streams.

        * mkvmerge: new feature: Added support for EAC3/DD+ (Dolby Digital
        Plus) files and tracks (raw EAC3 files or inside Matroska with
        CodecID A_EAC3).

2007-02-21  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.0.2.

2007-02-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Reintroduced the "--engage allow_avc_in_vfw_mode"
        hack.

2007-02-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed suppoert for DTS-in-WAV files which
        are encoded with 14 bits per word.

2007-02-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Added support for DTS files which use
        only 14 out of every 16 bits and which are not stored inside a WAV
        file.

2007-01-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: Changed the default for the "NALU size length" to
        "4" and added a warning if "3" is used.

        * mkvmerge: bug fix: File type detection for Qt/MP4 files which
        start with a "wide" atom has been fixed.

        * mmg: bug fix: The "NALU size length" drop down box is now also
        enabled for h.264 tracks read from AVIs and for h.264 tracks
        stored in "VfW compatibility mode" in Matroska files.

2007-01-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: Extended the option
        "--default-track" so that it can be forced to "off" allowing the
        user to create a file for which no track has its "default" flag
        set. Fix for bug #224.

2007-01-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the wrong "default duration" if the
        user used "--default-duration ...23.976fps".

2007-01-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The AVC/h.264 ES reader was losing frames if
        the file size was an exact multiple of 1048576 bytes.

        * mkvmerge: bug fix: The AVC/h.264 ES packetizer produced invalid
        CodecPrivate data if the AVCC did not contain the aspect ratio
        information. Fix for Bugzilla bug #225.

        * mkvmerge: bug fix: The Matroska reader passes the correct track
        number down to the AVC/h.264 ES packetizer in the case of "AVC
        in Matroska stored in VfW mode".

        * mkvmerge: bug fix: Fixed a crash (segmentation fault) in the
        AVC/h.264 ES handling code.

2007-01-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract, mkvinfo: new feature: Added support for
        using CodecState for signaling changes to CodecPrivate. It is used
        for MPEG-1/-2 video if it is turned on with "--engage
        use_codec_state".

2007-01-13  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.0.0.

2007-01-12  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added another tab for each track in which the
        user can add arbitrary track options.

        * mkvextract: enhancement: mkvextract will now also print which
        container format it uses for each track.

        * mkvextract: new feature: Added support for extracting MPEG-1/2
        video to MPEG-1/2 program streams.

        * mkvmerge: bug fix: Fixed the file type detection for MPEG-1/2 ES
        files with a single frame inside.

2007-01-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: MPEG-1/2 video: The sequence and GOP headers
        are not removed from the bitstream anymore. This should fix the
        blockiness if the sequence headers change mid-stream. Fix for
        Bugzilla bug #167.

2007-01-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: mkvmerge now handles the first frames in
        AVC/h.264 ES streams properly, especially for files for which it
        did not find a key frame at the beginning in earlier versions.

2007-01-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Improved the detection of AVC/h.264 ES
        streams with garbage at the beginning.

        * mmg: enhancements to the job management dialog: There's a
        minimum width for the columns. The "up" and "down" buttons are
        disabled if all entries are selected. Pressing "Ctrl-A" selects
        all entries.

        * mmg: enhancements: "File -> New" will also focus the "input"
        tab.

2007-01-07  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancements: The job manager can be opened with
        "Ctrl-J". The last directory from which a file is added is saved
        even if the file identification failed. The automatically
        generated output file name uses the extension ".mka" if no video
        track is found and ".mks" if neither a video nor an audio track is
        found in the first file.

        * mkvmerge: bug fix: Fixed the aspect ratio extraction for raw
        AVC/h.264 ES tracks.

        * mkvmerge: bug fix: If a raw AVC/h.264 ES file does not start
        with a key frame then all the frames before the first key frame
        are skipped, and mkvmerge does not abort anymore.

2007-01-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: AVC/h.264 ES parser: Fixed wrong NALU size
        length information in the AVCC.

        * mkvmerge: bug fix: AVC/h.264 ES parser: Fixed the decision if a
        NALU belongs to a previous frame or starts a new one.

2007-01-04  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added an input for the new "NALU size length"
        parameter.

        * mkvmerge: bug fix: The NALU size length can be overridden for
        AVC/h.264 elementary streams. It defaults to 2 which might not be
        enough for larger frames/slices.

2007-01-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Support for AVC/h.264 elementary streams with
        short markers (0x00 0x00 0x01 instead of 0x00 0x00 0x00 0x01).

        * mkvmerge: Removed the "--engage allow_avc_in_vfw_mode" hack.

        * mkvmerge: enhancement: Added "x264" to the list of recognized
        FourCCs for AVC/h.264 video in AVI and Matroska files.

        * mkvmerge: new feature: Added support for proper muxing of
        AVC/h.264 tracks in Matroska files that were stored in the MS
        compatibility mode (CodecID V_MS/VFW/FOURCC instead of
        V_MPEG4/ISO/AVC).

        * mkvmerge: bug fix: Fixed invalid memory access in the AVC ES
        parser.

2007-01-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for proper muxing of
        AVC/h.264 tracks in AVI files.

2007-01-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for reading AVC/h.264
        elementary streams.

2006-12-30  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: All inputs and controls are cleared and
        deactivated if the user select "File -> New".

        * mmg: enhancement: The user can switch between the "generic" and
        "format specific options" pages even if no track is selected.

2006-12-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge would not write frame durations if
        "--engage use_simpleblock" was used resulting in unplayable and
        unextractable subtitle tracks.

2006-12-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Added a workaround for RealAudio tracks for
        which the key frame flag is never set.

2006-12-27  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed a segfault that occured if the user had a
        track selected and its the file the track was read from is
        removed.

        * mmg: bug fix: Fixed the behaviour of a couple of ComboBoxes on
        Windows after selecting "File -> New". E.g. if the user selected
        "700M" in the "split after this size" ComboBox, selected "File ->
        New" and selected "700M" again, then it would not show up in the
        command line window until he selected another option and returned
        to the "700M" afterwards.

2006-11-25  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.8.1.

2006-11-24  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Some input controls (like "subtitle charset")
        where disabled for appended tracks even though the user can and
        sometimes has to change those settings. Fixes Anthill bug 216.

2006-11-19  Moritz Bunkus  <moritz@bunkus.org>

        * configure: new feature: Allow the user to tell configure which
        "wx-config" executable to use ("--with-wx-config=...").

2006-11-14  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The "aspect ratio" box was losing its input when
        the user switched tracks.

        * mkvmerge/mmg: new feature: If ATDS AAC tracks are added to mmg
        and the AAC track's sample rate is <= 24000 Hz then mkvmerge and
        mmg assume that the AAC is a SBR track and mmg will check the "AAC
        is SBR" checkbox automatically.

2006-11-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Quicktime/MP4 files with AVC video tracks and
        missing CTTS atoms caused mkvmerge to crash after the recent
        changes to the Quicktime/MP4 time code handling.

        * mkvmerge: bug fix: Fixed a segfault if the file specified with
        "--attach-file" does not exist. Bugfix for Anthill bug 213 and
        Debian bug 393984.

        * mmg: bug fix: Fixed a crash on loading XML chapters after having
        saved XML chapters.

2006-11-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Made the "set the delay input field from the
        file name" feature disengageable.

2006-11-10  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.8.0.

        * mkvmerge: Changed the CodecID for AAC audio tracks to "A_AAC" by
        default. The CodecPrivate contains the same initialization data
        that are stored in the ESDS in MP4 files for AAC tracks. The old
        CodecIDs (e.g. "A_AAC/MPEG4/SBR") can be turned on again with
        "--engage old_aac_codecid".

2006-11-08  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Reworked the "input tab" and split track options into two
        sub-pages. Also added an input for the "stereo mode" parameter for
        video tracks.

2006-11-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for the "stereo mode"
        flag for video tracks.

2006-11-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: For MP4 files with certain CTTS contents
        mkvmerge would use negative time codes for a couple of
        frames. Those frames were dropped and mkvmerge often ended up
        eating huge amounts of memory and crashing afterwards.

        * mkvmerge: bug fix: AAC-in-MP4 with the LC profile was sometimes
        misdetected as having a SBR extension and an output sampling
        frequency of 96000 Hz. Fixes Anthill bug 210.

2006-10-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Added support for API changes in the upcoming FLAC
        library v1.1.3. Patch by Josh Coalson (see AUTHORS).

2006-09-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the random number generation on
        Windows. On Windows 9x/ME mkvmerge would simply hang. On newer
        versions the function was accessing invalid memory and was
        generally buggy.

2006-09-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: SSA/ASS subtitles with comments before the
        "[script info]" line were not identified.

2006-09-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Made the checks for SRT time codes a bit less
        strict (e.g. allow fewer than three digits after the comma).

2006-07-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Comments in OGM files were not handled if
        mkvmerge was called in identification mode. One obvious result was
        that neither the track language nor the file title was imported
        into mmg.

2006-06-16  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The "stretch" input box was not accepting the same
        syntax that mkvmerge's "--sync" parameter accepts.

        * mkvmerge: bug fix: PCM audio data with 4 bits per Sample caused
        mkvmerge to allocate all available memory. Patch by Robert Millan
        (see AUTHORS).

2006-06-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Mixed up two tool tips on the "settings" tab.

2006-06-02  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: bug fix: Moved some @...@ style variables from
        configure.in to Makefile.in where they belong (very recent
        autoconf versions were choking on those).

2006-06-01  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added an option for always using simple
        blocks.

        * mmg: new feature: Pre-set the "delay" input field for audio
        tracks if the file name contains something like "DELAY XX" where
        XX is a number.

2006-05-24  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enchancement: After adding files with drag&drop the next
        "open file" dialog will start in the directory the last file came
        from.

2006-05-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge will no longer create empty files
        (meaning neither input files nor things like chapters etc have
        been added).

2006-04-28  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.7.0.

        * mkvmerge: enhancement: Added support for MIME type detection via
        libmagic (patch by Robert Millan with heavy modifications by
        myself).

2006-04-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Theora headers were not handled correctly.

2006-04-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The WavPack reader was broken on 64bit
        systems (e.g. AMD64).

2006-03-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The Theora time code handling was broken, and
        Ogg/Theora files were not identified correctly (they showed up as
        "unknown" in mmg).

2006-02-27  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: The 'adjust time codes' function accepts
        time codes like 'XXXXXunit' with 'unit' being 'ms', 'us', 'ns' or
        's'.

        * mkvmerge: enhancement: mkvmerge will no longer refuse to
        concatenate files with differing Codec Private contents and only
        issue a warning in such cases.

        * mkvmerge: bug fix: Quicktime/MP4 reader: Added support for
        version 1 media headers ('mdhd' atom) with 64bit fields. Fixed the
        duration of the last packet passed downstream. Fixed overflow
        issues during re-scaling from the Quicktime/MP4's time scale to
        nano seconds used by mkvmerge.

2006-01-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Muxing wasn't working Windows 9x/ME because
        mkvmerge was trying to use Unicode file access functions when
        determining which directories to create. Fixes Anthill bug #177.

2006-01-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for the "Delay:" feature
        and for negative time codes in VobSub IDX files.

2005-12-14  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: If mmg is set to automatically fill in the
        output file name then it will clear the output file name once all
        input files have been removed.

2005-12-12  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed a crash that occured if the user removed an
        attachment and clicked somewhere in the empty space in the
        attachment list. Occured only on Windows.

2005-12-10  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Re-added Chinese to the list of popular languages
        (those are listed first in the language drop down boxes).

2005-12-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The last change to the ISO 639 language
        handling broke the VobSub reader so that it reported the wrong
        language codes. This also caused mmg to not display the correct
        language after adding a VobSub file.

2005-12-07  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.6.5.

2005-12-06  Moritz Bunkus  <moritz@bunkus.org>

        * source: bug fix: Changed the list of ISO 639 languages so that
        the terminology versions are converted into the bibliography
        versions of the 639-2 codes (e.g. use "ger" instead of "deu" for
        the German language). Converted almost all pieces of mkvmerge and
        mmg to accept ISO 639-1, 639-2 codes (both bibliography and
        terminology versions) and the languages' English names. Those will
        always be converted to the 639-2 code. Fixes Anthill bug #171.

2005-12-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The country code used in XML chapter files
        was checked against the list of ISO 639-1 codes and not against
        the list of ccTLDs. Partial bugfix for Anthill bug #171.

        * mkvmerge: bug fix: When appending tracks and using time codes the
        time codes were only used for the first track in a chain of
        tracks. This has been changed so that you must specify only one
        time code file in such cases (e.g. "mkvmerge ... --time codes
        0:my_time codes.txt part1.avi +part2.avi"). mmg has already been
        working like this. Fixes Anthill bug #162.

2005-12-02  Moritz Bunkus  <moritz@bunkus.org>

        * source: new feature: Added support for linking against liblzo2
        (same compression algorithm, just a new library version). Patch by
        Diego Pettenò (see AUTHORS).

        * mkvmerge: new feature: Added a workaround for files created by
        Gabest's DirectShow Matroska muxer with slightly broken frame
        references. Fixes Anthill bug #172.

        * mkvextract: new feature: attachment extraction mode: Made the
        output file name optional. If it is missing (e.g. "mkvextract
        attachments source.mkv 92385: 124981:") then the name of the
        attachment inside the Matroska file is chosen instead. Patch by
        Sergey Hakobyan (see AUTHORS).

        * mkvmerge: new feature: If an output file name contains
        directories that don't exist then they're created. Patch by Sergey
        Hakobyan (see AUTHORS) with modifications by myself.

2005-11-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Don't abort reading a Matroska if the next
        element is not a cluster. This is the case for e.g. files produced
        by Haali's muxer which writes the segment tracks element in
        intervals. Fixes Anthill bug #169.

2005-11-19  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed a problem with the selection of language
        codes for chapters in the chapter editor.

2005-11-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: If at least or more attachments were present
        and the user used --attachment-name for each of them (as mmg does)
        then mkvmerge was wrongly outputting a warning about multiple uses
        of --attachment-name for a single attachment.

        * mkvmerge: new feature: Added limited support for edit lists in
        MP4/QuickTime files. Fixes Anthill bug #151.

        * mkvmerge: bug fix: MP4/QuickTime files which contain another
        atom before the 'avcC' atom in the video track headers weren't
        correctly remuxed.

2005-11-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge will now refuse to append AVC/h.264
        video tracks whose codec initialization data blocks do not
        match. Invalidates Anthill bug #163.

2005-11-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a crash If the granulepos (the
        time codes) reset in the middle of an Ogg/OGM file. Fixes Anthill
        bug #166.

        * mkvmerge: bug fix: Fixed a division-by-zero error in the
        RealMedia demuxer. Fixes Anthill bug #161.

        * mkvmerge: bug fix: Fixed a couple of potential (and actual)
        segmentation faults by accessing invalid memory addresses. Initial
        patch for the VobSub reader by Issa on Doom9's forum.

2005-11-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: The names of attached files can be
        set with a new option --attachment-name or on mmg's "Attachments"
        page.

2005-11-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed another bug when appending AVC/h.264
        tracks that would mkvmerge cause to die with "bref_packet ==
        NULL". Fixes Anthill bug #160.

2005-11-01  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: When the user saved the muxing output in a log
        file that file didn't use Windows line endings (CR LF) on
        Windows.

        * mmg: bug fix: Appending tracks was broken because the track
        numbers in the command line were incorrect. Fixes Anthill bug
        #160.

2005-10-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for Ogg/Theora.

2005-10-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Changed the CodecID for AAC audio tracks to "A_AAC" by
        default The CodecPrivate contains the same initialization data
        that are stored in the ESDS in MP4 files for AAC tracks. The old
        CodecIDs (e.g. "A_AAC/MPEG4/SBR") can be turned on again with
        "--engage old_aac_codecid".

2005-10-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: new feature: The sub elements of the EBML head are
        now shown.

        * mkvinfo: new feature: Added support for the new SimpleBlock.

        * mkvextract: new feature: Added support for the new SimpleBlock.

        * mkvmerge, mmg: new feature: Added support for the new
        SimpleBlock instead of BlockGroups (only available via "--engage
        use_simpleblock" for now). Patch by Steve Lhomme (see AUTHORS)
        with fixes by myself.

2005-10-14  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.6.0.

2005-10-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Implemented the new header removal
        compression: compression for native MPEG-4 part 2, decompression
        for all types (don't use it yet, folks!).

2005-10-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Extra codec data wasn't written to AVI
        files if it was present (e.g. for the HuffYuv codec). Fixes bug
        157.

        * mkvmerge: bug fix: mkvmerge was choking on AVIs with a single
        frame inside. Fixes bug 156.

2005-09-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Changed how AVC video frames are
        referenced. This is not ideal yet, but at least references are
        kept intact when reading AVC from Matroska files. Should fix bug
        154.

2005-09-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Appending AVC video tracks was broken if they
        contained aspect ratio information that the user overwrote on the
        command line.

        * mmg: bug fix: If a video track was selected that was appended to
        another track then the aspect ratio drop down box was still
        active.

        * mkvmerge: new feature: MPEG-4 part 2 streams are searched for
        the pixel width/height values. Those are taken if they differ from
        those values in the source container. This is a work-around for
        buggy muxers, e.g. broken video camera firmwares writing bad MP4
        files. Fixes bug 149.

2005-09-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Appending files with RealVideo was
        broken.

2005-09-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract: bug fix: ASS files sometimes use a column
        called 'Actor' instead of 'Name', but both should be mapped to the
        'name' column in a Matroska file.

2005-09-07  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.5.6.

2005-09-06  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: If the user selected an aspect ratio for a video
        track, then chose "File -> new", added a file, selected another
        video track and chose the same aspect ratio as before then it
        wasn't added to the command line. Fixes Anthill bugs 132 and 146.

        * mkvmerge: bug fix: Support Qt/MP4 files with 64bit offset tables
        ('co64' atom instead of 'stco' atom).

2005-09-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: mkvmerge will remove the aspect ratio
        information from a AVC/h.264 video track bitstream and put it into
        the display dimensions (until now the AR information was kept on
        the bitstream level). The reason is that in Matroska the container
        AR is supposed to take precedence over bitstream AR, but some
        decoder programmers ignore the container AR in favour of bitstream
        AR.

2005-08-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: The GUI couldn't open files with non-ASCII
        chars in the file name.

2005-08-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Display dimensions were reported for all
        tracks, even if they weren't present. In that case they allegedly
        were "0x0" which caused mmg to add "--display-dimensions ...:0x0"
        for each track read from a Matroska file, even if the tracks were
        not video tracks.

2005-08-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The extracted time codes were wrong for
        blocks with laced frames.

2005-08-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: If a Matroska file with a MPEG-4 part 2 video
        track was muxed into a Matroska file and the source file did not
        contain the display width/height elements for that track then the
        aspect ratio was extracted from the video data itself which
        clashes with the Matroska specs which say that display
        width/height default to the pixel width/height if they're not
        present.

2005-08-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Native MPEG-4 ASP storage was still bugged:
        time codes were assigned twice, frames referenced themselves.

        * mkvmerge: bug fix: Embedded fonts and pictures in a SSA/ASS file
        are not discarded any longer. They are converted to Matroska
        attachments instead. Other sections that were discarded are added
        to the CodecPrivate data as are "Comment:" lines in the "[Events]"
        section. Those comment lines still lose their association for
        which "Dialogue:" line they were meant, but that cannot be
        changed.

2005-08-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: --delay was not working at all.

        * mkvmerge: bug fix: Single digit numbers followed by 's' were not
        recognized as valid numbers with a unit (e.g. in '--delay 0:9s').

        * Released v1.5.5.

        * mkvtoolnix: Disabled storing AVC/h.264 video tracks in VfW mode.

2005-08-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvtoolnix: bug fix: On Windows the command line output was
        terminated with CR CR NL instead of just CR NL.

2005-08-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The Quicktime/MP4 reader wasn't skipping
        unknown elements correctly.

2005-08-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added a new extraction mode for
        outputting time codes in a time code v2 format file. It is called
        "time code_v2" and takes the same arguments as the "tracks"
        extraction mode.

        * mkvinfo: new feature: Added a command line switch
        "--output-charset" which sets the charset that strings read from
        Matroska files are output in (e.g. if you want the output in UTF-8
        and not your system's local charset).

        * mkvinfo: new feature: Added a command line switch "-o" for
        redirecting the output to a file (for systems which re-interpret
        stdout).

        * mkvmerge: bug fix: The combination of using external time code
        files and video tracks with B frames was not working as
        intended. The user had to order the time codes in the time code file
        just like the frames were ordered (meaning the time codes for a
        IPBBP sequence with 25 FPS had to be "0", "120", "40,
        "80"...). This has been fixed. They have to be ascending again and
        mkvmerge will assign them properly.

2005-08-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added support for extracting h.264 /
        AVC tracks into proper h.264 ES streams supported by
        e.g. MP4Box. Patch by Matt Rice (see AUTHORS).

2005-07-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: Files with non-ASCII chars weren't opened
        because conversion to UTF-8 was done before the charset routines
        were initialized.

2005-07-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a crash if a track in a MP4/QuickTime
        file did not contain a STCO atom (chunk table) but a STSC atom
        (chunk map table).

2005-07-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Very large values were not kept correctly for
        a lot of elements (meaning they were truncated to 16 or 32 bits).

        * mkvinfo: bug fix: Very large values were not displayed correctly
        for a lot of elements (meaning they were truncated to 16 or 32
        bits prior to displaying).

        * mkvmerge: bug fix: AVC/H.264 references were wrong, and muxing
        of AVC from Matroska files with proper references resulted in
        unplayable files.

2005-07-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed support for USF subtitles stored in
        UTF-16 and UTF-32. Added support for USF subtitles stored in UTF-8
        without a BOM.

2005-07-01  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.5.0.

2005-06-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The track language read from old Matroska
        files was wrongfully set to "und" if it was not written although
        the specs say that "eng" is the default value.

        * mkvmerge: bug fix: USF subtitles: If identical tags were nested
        (e.g. "font") and both were closed right after each other then the
        result looked like "</font/>".

        * mkvmerge: bug fix: Native MPEG-4 was not working if read from
        OGM files.

2005-06-24  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added an input box for mkvmerge's new "split
        after these time codes" feature.

2005-06-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fixes: Improved the native MPEG-4 generation a lot
        (thanks to Haali for testing and pushing me). The codec version
        string inside the MPEG-4 initialization data is now checked if it
        indicates "DivX packed bitstream" and changed to not indicate it
        anymore.

2005-06-07  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: If mmg was minimized when it was closed (e.g. with
        Windows' "Show desktop" function) then it didn't show up after a
        restart and could only be shown by maximizing it.

        * mkvmerge: bug fix: If a OGM style chapter file contains empty
        chapter names ('CHAPTER01NAME=' without something after the '=')
        then this chapter's time code is used as the name instead of
        aborting.

2005-06-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added splitting after specific
        time codes.

2005-06-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvinfo, mkvextract: bug fix: Inifite sized segments
        were not handled correctly.

2005-05-23  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: On Windows mmg could be crashed by adding a file
        and clicking into the empty space in the "track" selection
        box. Fixes Anthill bug 133.

        * mkvextract: new feature: Implemented the extraction of USF
        subtitles.

        * mkvmerge: new feature: Implemented the muxing of USF subtitles.

2005-05-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The MPEG packets are now padded to 2048
        byte boundaries as some programs require them to be. Patch by
        Mike Matsnev (see AUTHORS).

2005-05-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: Removed the restriction of max. ten levels of
        nested elements.

        * mmg: bug fix: If splitting was enabled and "splitting by time"
        selected and the user chose "new" from the "File" menu then
        "splitting by time" was not selectable anymore. This happened
        only on Windows. Fixes Anthill bug 131.

2005-05-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Use the native newline style when
        extracting text subtitles (\r\n on Windows and \n on all other
        systems).

        * mkvextract: bug fix: SSA/ASS text was missing in the output if
        the "Format=" line contained newlines at the end of the
        CodecPrivate data (e.g. our old Mew Mew sample file).

2005-05-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for the ChapterSegmentUID
        element.

2005-04-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Support WAV files that use other RIFF chunks
        than the usual "fmt " followed by "data".

2005-04-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Remuxing MPEG1/2 tracks resulted in a failing
        "assert(0)".

2005-04-16  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.4.2.

        * mkvmerge: bug fix: In rare occasions involving B frames mkvmerge
        freed data too early. In such a case it was eating more and more
        memory finally exiting with a message about not finding a packet
        for a "bref".

2005-04-09  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: My output functions did not work on AMD64
        systems. Fixes Anthill bug 120.

2005-04-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added the extraction of the raw
        data with the "--raw" and "--fullraw" flags. Patch by Steve Lhomme
        (see AUTHORS).

        * mkvextract: bug fix: WAVPACK extraction did not update the
        "number of samples" header field. Patch by Steve Lhomme (see
        AUTHORS).

        * mkvmerge: bug fix: RealMedia files contain a "FPS" field in
        their track headers. Unfortunately this field does not always
        contain the actual FPS of a video track but the maximum number of
        FPS that the encoder has output or should output. Therefore
        mkvmerge does not use a "default duration" element for RealVideo
        tracks anymore. Fixes Anthill bug 113.

        * mkvmerge: bug fix: Failing calls to posix_fadvise upon adding a
        file to mmg caused mmg to think that the file identification
        failed. Now warnings for posix_fadvise are not output anymore, and
        posix_fadvise is silently switched off for that file. Fixes
        Anthill bug 123.

        * mkvmerge: bug fix: Appending files that were created with
        mkvmerge's "--link" option was broken. The time codes for both the
        chapters and the actual media data blocks were not adjusted
        correctly. Fixes Anthill bugs 115 and 116.

        * mkvmerge: bug fix: If chapters are present in several appended
        files and there were atoms who shared the same UID then those
        entries were present multiple times in the output files. Now such
        entries are merged into one chapter entry. Fixes the second part
        of Anthill bug 122.

2005-04-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: If chapters were present and splitting was
        enabled then mkvmerge would not treat chapters correctly that
        spanned across several files. Now the spanning chapters are kept
        in all files, and their start time codes are adjusted accordingly.
        Fixes the first part of Anthill bug 122.

2005-03-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: On Windows mkvinfo was linked without the
        console subsystem resulting in no output at all if run without the
        GUI (-g). Fixes Anthill Bug 118.

2005-03-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Due to the compiler doing some strange number
        conversion mkvextract seemed to hang on Windows with certain
        files.

2005-03-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Appending VobSubs with more than one track in
        a .idx file and video files at the same time was broken resulting
        in parts of some of the VobSub tracks not ending up in the
        resulting Matroska file. Fixes Anthill bug 114.

2005-03-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The track numbers were assigned wrongly when
        appending tracks (this is more or less cosmetic).

        * mkvmerge: bug fix: Splitting by time was broken for audio-only
        files. Fixes Anthill bug 112.

        * mkvmerge: bug fix: The --fourcc switch was not working.

2005-03-16  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Tracks that were not selected on saving the
        settings file were selected after loading a settings file.

2005-03-15  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.4.1.

2005-03-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: AC3 detection was broken in rare cases.

2005-03-13  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: If the TEMP environment variable contains spaces
        then the calls to mkvmerge when adding files failed.

2005-03-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Extracting the FPS from some AVC MP4 files
        did not work.

        * mkvmerge: bug fix: Appending + splitting was segfaulting if used
        together and at least one split occured after a track has been
        appended.

2005-03-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Added more descriptive error messages if two tracks
        cannot be concatenated because "their parameters do not match".

2005-02-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: A failing call to posix_fadvise will only
        turn its usage off for that one file and not abort mkvmerge
        completely.

        * mmg: bug fix: When "appending" a file all tracks where added to
        the end of the track list making it unnecessarily difficult to
        concatenate similar structured files. Now the tracks from the
        "appended" files are inserted into the track list after their
        counterparts from the file this new one is appended to.

2005-02-27  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: An "appended" file could not be removed if there
        were two tracks that we not separated by a track from another file
        in the track list box.

        * mmg: bug fix: The check whether or not a file might be
        overwritten while splitting is active has been fixed.

        * mmg: bug fix: Improved the word wrapping of the tooltips on
        Windows.

        * mmg: bug fix: It was possible to select a file for appending
        even though no file was added first.

        * mkvmerge: bug fix: mkvmerge was wrongly outputting large numbers
        of warnings when Remuxing AVC/h.264 video from a Matroska file.

        * mmg: bug fix: The job queue was not loaded on startup on Windows
        Unicode builds (another wxWidgets 2.5.3 problem).

2005-02-26  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The job status in the job runner dialog was broken
        on Unicode builds on all systems.

        * mmg: bug fix: "Splitting by time" was not selectable on Windows
        Unicode builds (problem with wxWidgets 2.5.3).

        * mmg: bug fix: mkvmerge's output during muxing was not converted
        from UTF-8.

        * mmg: bug fix: The default extension added when the user doesn't
        give one is different in wxWidgets 2.4.x and 2.5.x. It should
        always be .mkv and not .mka.

        * Released v1.4.0.

2005-02-19  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: The "default track" checkboxes are set
        properly when a Matroska file is added.

        * mmg: new feature: Added a warning right before the muxing starts
        if the chapter editor contains entries but no chapter file has
        been selected (can be turned off).

2005-02-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added VobSub extraction based on Mike
        Matsnev's code.

2005-02-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Track names could not be set to be empty.

2005-02-06  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.0.2.

2005-02-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Use the posix_fadvise function on *nix
        systems. This results in a considerable speed up for the whole
        muxing process. As the function call seems to be buggy on at least
        Linux kernels 2.4.x it can be disabled completely during
        configure. It will only be used on Linux with a kernel from the
        2.6.x series or newer.

2005-02-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Empty video frames in AVIs right at the
        beginning were breaking the MPEG-4 aspect ratio extraction and
        caused problems in other parts, too.

2005-01-30  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: It was possible to create chapter entries with
        invalid or even empty language entries. Not only are those
        invalid, such XML files can also not be loaded by mmg.

        * mmg: bug fix: Overwriting a chapter file did not erase the
        previous file. So if the previous file was bigger than the current
        chapters then garbage remained at the end of the file.

2005-01-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge did not accept XML chapter files
        created with older mkvtoolnix versions due to deprecated chapter
        elements. Such elements are now skipped.

        * mkvmerge: new feature: Added some more possible formats for
        binary data in XML files besides Base64 encoded data: hex encoded
        and ASCII "encoded".

2005-01-20  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The "stretch" input box tooltip was wrong. The
        resulting command line was broken, too.

2005-01-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Hex values accept more formats (like
        optional white space between numbers or the "0x" prefix).

2005-01-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Changed the AVC/h.264 time code handling to include the
        time code offsets from the CTTS atom.

2005-01-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Reformatted the HTML guide and updated the screenshots. It
        should be more readable for those whose desktop is not 1200 pixels
        wide.

2005-01-08  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Made the mkvmerge GUI guide available by
        pressing F1 or selecting "Help" from the "Help" menu.

2005-01-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: ASS/SSA extraction was broken in some rare
        cases.

2005-01-02  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added support for mkvmerge's new "appending
        tracks" feature.

2004-12-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for reading the pixel
        aspect ratio from AVC/h264 video data.

        * mkvmerge: new feature: Added AVC/h264 muxing from MP4.

2004-12-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added a MPEG PS demuxer.

        * mkvinfo: new feature: Added a couple new elements (silent
        tracks). Patch by Steve Lhomme (see AUTHORS).

2004-12-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added WAVPACK4 extraction. Patch by
        Steve Lhomme (see AUTHORS).

2004-12-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added WAVPACK4 muxing. Patch by Steve
        Lhomme (see AUTHORS).

        * mmg: bug fix: Again the window handling. Hopefully this is
        better than the other attempts.

2004-12-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added VobButton muxing. Patch by Steve
        Lhomme (see AUTHORS).

2004-12-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: One was able to crash mmg by pressing 'ok' in the
        muxing dialog right after muxing finished, especially if the
        'abort' button was hit before. This mostly happened on Linux.

        * mkvmerge: bug fix: Fixed negative audio displacement for a
        couple of formats.

2004-12-13  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.0.1.

2004-12-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Fixed some layout issues with wxWidgets 2.5.3 and newer.

2004-12-10  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: The window position is saved and restored when
        mmg is started the next time.

2004-12-09  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed a crash/memory corruption showing weird
        characters in the input boxes. This happened when the user removed
        a file from mmg while mmg was updating the command line.

        * mmg: bug fix: mmg now has an icon associated with it while it is
        running instead of the generic Windows application icon (Windows
        only).

        * mmg: bug fix: The main window is now minimized during
        muxing. This allows to hide both of the windows while muxing is
        running and restoring them later, even if they were iconized when
        muxing finished (Windows only).

2004-11-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The first packet of an AAC track read from
        Real containers might not start at the time code 0. This offset was
        ignored by mkvmerge.

2004-11-22  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Made the muxing dialog ("mkvmerge is running")
        modal all the time. This prevents the user from hitting the main
        window's minimize button. On Windows this makes mmg stuck in
        iconized mode if it was iconized when muxing finished.

2004-11-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a buffer overflow in the UTF-8 file
        reading routines.

2004-11-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Implemented concatenating files with chapters.

        * mkvmerge: Changed the "progress" output. It's now correct for
        file concatenation, too.

2004-11-17  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.0.

        * mkvmerge: new feature: Concatenating/appending files is now
        possible. A lot of things aren't tested, and others simply don't
        work yet (chapter merging, duplicate tag elimination, proper
        progress report, support in mmg just to name a few), but the basic
        functionality seems to work.

        * mkvmerge: bug fix: The Matroska reader doesn't insist on having
        a default duration ( = FPS) for video tracks in the "AVI
        compatibility mode" ( = with the CodecID "V_MS/VFW/FOURCC"). This
        enables re-muxing of Matroska files created from MP4 files.

2004-11-05  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: File names with non-ASCII characters were not
        working if mmg was compiled against a Unicode enabled wxWidgets.

2004-11-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added reading DTS from AVIs and from
        Matroska files.

        * mkvmerge: bug fix: A variable initialization was missing which
        very recent gcc versions (3.4.2) did not like very much. Also
        fixed a small compilation bug.

2004-10-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The handling of external time code files was
        still not correct but should be OK now.

2004-10-17  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Added an error message if the user selects 'mmg' as the
        'mkvmerge executable' because that would lead to an infinite
        number of 'mmg's being spawned.

2004-10-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: If LFE is on for DTS then the number of
        channels is one more than what the DTS frame header says.

        * mkvmerge: bug fix: Time Codes for Vorbis were wrong on rare
        occasions (when reading laced Vorbis from a Matroska file and
        changing the lacing, e.g. when splitting for the second and all
        following files).

2004-10-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge/mkvinfo/mkvextract: bug fix: The chapter and tag
        element tables were not always intialized correctly depending on
        the compiler and the optimization flags used.

        * mkvmerge: bug fix: The OGM reader was broken if at least one
        track was not to be copied from the file (happened between 0.9.5
        and 0.9.6).

        * mmg: bug fix: After loading saved mmg settings the track input
        box listed the tracks always coming from the last input file and
        not from the one they really came from.

2004-10-09  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Made mmg's main window properly resizable.

        * mkvmerge: Rewrote the code for the external time code files. This
        also fixes bug 99: The durations for the individual tracks were
        not correct for those tracks for which --time codes was used.

2004-10-08  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Crash when saving chapters from the chapter
        editor. Same as the mkvinfo issue below but on all OS.

        * mkvinfo: bug fix: The chapter and tag element tables were not
        initialized on Windows resulting in a crash when one of those
        elements was encountered.

2004-10-07  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.9.6.

        * mkvextract: bug fix: The track extraction was creating the
        output file twice if the Matroska file contained a copy of the
        track headers. This resulted in the first extracted file being
        overwritten at the end of extraction.

        * mmg: bug fix: If the file title is read from an input file, not
        modified by the user and that input file is removed again then the
        file title will be unset.

2004-10-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Converted the raw FLAC reader to use
        another interface to the FLAC libraries. This results in a speedup
        of up to 50%. Thanks to Josh Coalson for telling me about its
        existence.

2004-10-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added two warnings. One about invalid
        track IDs that were used on the command line but that don't
        correspond to an available track in a file and one if no track
        will be copied from a source file. Both warnings hint at bad
        command line arguments.

2004-10-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Only write the segment duration as a 64bit float if
        there is no video track present. This way users won't have to
        update their DirectShow filter/apps for most files. Only
        audio-only files need this precision anyway.

        * mkvmerge: Changed the Ogg/OGM reader to use the stream number
        and not its serial number as the track ID (meaning the track IDs
        will be 0, 1, 2... etc. instead of the random numbers oggenc uses
        as the serial numbers).

2004-09-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: The CUE sheet parser now accepts INDEX
        lines with indices from 00 up to 99 and implements the Red Book
        specification for audio CDs that way. Patch by Vegard Pettersen
        <vegard_p at broadpark adot no>.

2004-09-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract: bug fix: ASS was handled like SSA which is
        not correct in each case, especially when extracting it.

        * mkvextract: bug fix: The WAV writer was not endian safe.

2004-09-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The charset was not set correctly on Solaris.

        * mkvmerge: bug fix: mkvmerge crashed when reading Matroska files
        that contain an empty tag list.

2004-09-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Some Matroska files that e.g. have had their
        time codes offset with the Matroska Stream Editor or other means
        may contain time codes that caused mkvmerge to print a warning
        about "time code < last_time code". A new fix implements a
        workaround and a warning message with a proper explanation for
        this case.

2004-09-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Older Matroska files containing chapters
        caused mkvmerge to abort muxing.

2004-09-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge was only copying the last tag of a
        list of tags applying to a track from a Matroska file.

2004-09-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge will show a nice warning if the
        entries in a SRT have non-continuous timestamps. It'll also sort
        the entries by their start timestamp instead of throwing the
        generic "time code < previous time code" warning.

        * mmg: bug fix: The 'Matroska file analysis' window that occurs
        when reading chapters from a Matroska file did not disappear if it
        was minimized when the process finished.

2004-09-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added a new parameter
        --aspect-ratio-factor.

        * mkvinfo: bug fix: Strings from chapters and tags were shown in
        UTF-8 instead of the local charset. This bug was introduced around
        2004-08-28.

        * mkvmerge: bug fix: Not all chapter elements were copied
        correctly from a source Matroska file.

2004-09-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: Sped up the extraction of attachments, chapters,
        cuesheets and tags by using the seek head information and not
        parsing the full file each time.

2004-09-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The Matroska reader was not handling very big
        cluster time codes correctly. Those can occur when the time code
        scale factor is very small.

        * mkvmerge: bug fix: Empty clusters in Matroska files no longer
        make mkvmerge think that file has been read completely.

2004-08-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for MP2 (and maybe MP3)
        audio in MP4 containers.

2004-08-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: The chapter and tag parsers accept XML
        element attributes instead of sub-elements for those sub-elements
        that only contain data. Example for a "simple tag":
        <Simple Name="ARTIST" String="Tori Amos"/>

        * mkvmerge: bug fix: The automatic MIME type detection based on
        the file name extension was using the file name extension as the
        MIME type.

2004-08-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvinfo: new feature: Added the four new PixelCrop
        elements.

        * mkvmerge, mkvextract, mkvinfo: new feature: Added
        'TargetTypeValue' as a supported tagging element.

        * mkvmerge, mkvextract, mkvinfo: Complete rewrite of the chapter
        and tag parsing and output functions. Additions will be much
        easier now.

        * mkvmerge, mkvextract, mkvinfo: feature removed: Dropped support
        for the very old and deprecated tagging system. No one used it
        anyway.

2004-08-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Allow the use of two-letter ISO639-1
        country codes in for the '--language' parameter. Those will be
        converted to the corresponding ISO639-2 language code
        automatically.

2004-08-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvinfo, mkvextract: new feature: Added support for
        the 'TargetType' tag element (which I meant to add before the
        0.9.5 release...).

        * mkvmerge: bug fix: The MP3 handling was broken on weird and rare
        occasions when reading MP3 from a Matroska file.

        * mkvmerge: bug fix: Removed a bogus warning about an attachment's
        MIME type having been given more than once.

2004-08-21  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.9.5.

        * mkvmerge: bug fix: WAV files which contained a 'PAD ' chunk
        before the 'data' chunk were not processed at all.

        * mkvmerge: bug fix: Use 'setjmp' and 'longjmp' Instead of
        throwing a C++ exception during the chapter parsing
        stage. Otherwise libexpat will abort with a non-descriptive error
        message on Windows.

2004-08-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: SSA/ASS subs with the old codec ID 'S_SSA'
        and 'S_ASS' were accepted, but their codec ID was kept. It is now
        correctly changed to 'S_TEXT/SSA' and 'S_TEXT/ASS'.

2004-08-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvinfo, mkvextract: new feature: Added support for
        the new 'EditionFlagHidden', 'EditionFlagDefault' and
        'EditionManaged' elements.

        * mkvmerge: Added 'EditionUID' to valid elements below '<Targets>'
        in XML tags. Fixed the creation of the 'Targets' with
        --global-tags and --tags.

2004-08-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvinfo, mkvextract: Added support for the new tag
        elements ('tag language' and 'default/original language').

        * mkvmerge: new feature: If there was no MIME type given for an
        attachment then mkvmerge will try to guess it based on the file's
        extension just like mmg.

2004-08-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract, mmg: Changes to the chapter
        handling. EditionUIDs are always created. mkvextract outputs
        EditionUIDs and ChapterUIDs normally. mkvmerge tries to keep
        EditionUIDs and ChapterUIDs but replaces them if they aren't
        unique.

2004-08-13  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The 'down' button on the 'input' tab was not
        working correctly in all cases.

2004-08-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo, mmg: bug fix: Fixed compilation with Unicode enabled
        versions of wxWidgets.

2004-08-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Try to guess whether tags read from OGM
        files (for automatic language tag setting and for copying chapter
        information) are already in UTF-8 or not. If not try to convert
        them from the current system's charset.

2004-08-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: use the same UID for the EditionUID in the
        chapters and in the tag targets when parsing a CUE sheet.

2004-08-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge/mkvextract: new feature: Use the new EditionUID entries
        when convert CUE sheets to chapters and tracks. This is in
        preparation for 'multiple CDs to single Matroska file'
        conversions.

        * mkvmerge: new feature: Abort muxing if the output file name is
        the same as the name of one of the input files.

2004-08-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Implemented sample-precision for
        timestamps and durations on audio only files.

        * mkvextract: bug fix: The CUE extraction wrote UTF-8 characters
        but no UTF-8 BOM (byte order marker) at the beginning.

        * mkvmerge: bug fix: Handle TTA files with ID3 tags correctly ( =
        skip the ID3 tags).

        * mkvmerge: bug fix: There was an illegal free() in the OGM
        reader.

2004-07-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The subtitle track extraction used the wrong
        duration in 0.9.4.

2004-07-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Limited support for extracting chapters
        as CUE sheets that haven't been created by using a CUE sheet with
        mkvmerge's "--chapters" option.

        * mkvmerge: bug fix: Block durations with 0s length (e.g. entries
        in a SSA file) were not written.

        * mkvmerge: bug fix: The FLAC packetizer gets the duration
        from the FLAC packet itself.

        * mkvmerge: bug fix: The word 'TAG' occuring in e.g. SRT subs
        caused the ID3/MP3 frame detection to be stuck n an endless loop.

2004-07-25  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.9.4.

2004-07-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added support for extracting TTA tracks
        to TTA files.

        * mkvmerge: bug fix: SRT file recognition failed if the file
        contained spaces at the end of the first line.

2004-07-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Implemented the extraction of chapter
        information and tags as a CUE sheet which is the reverse operation
        to using a CUE sheet with mkvmerge's '--chapters' parameter.

2004-07-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Broken VobSub .idx files which contain
        timestamps going backwards no longer crash mkvmerge. A warning
        will be printed for such inconsistencies.

2004-07-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The Matroska reader contained a nice little
        illegal memory access (introduced in 0.9.3 with the fixes to the
        'default track' handling).

        * mkvmerge: bug fix: The SSA reader was segfaulting if a line
        contained an empty text field.

        * mmg: new feature: Added support for the two flags 'hidden' and
        'enabled' in the chapter editor.

        * mkvmerge: new feature: The pregap from a CUE sheet is converted
        into two sub-chapters (one for "INDEX 00", one for "INDEX
        01"). These sub-chapters have their 'hidden' flag set.

        * mkvinfo: bug fix: Fixed compilation for MATROSKA_VERSION = 2.

        * mkvinfo: bug fix: Fixed compilation with gcc 3.2.

2004-07-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The CUE sheet parser interpreted a timestamp
        as HH:MM:SS (hours, minutes, seconds). The correct spec is
        HH:MM:FF (hours, minutes, frames with 1 frame = 1/75 second).

        * Released v0.9.3.

        * mmg: bug fix: The 'default track' checkbox was broken.

2004-07-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Using '--cues ...:all' was broken for audio
        tracks that use lacing.

2004-07-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The latest OpenDML AVI files generated by
        mencoder were not read correctly. Only the first RIFF chunk was
        processed.

2004-07-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: If the user does not specify a --language for a track
        'und' ('undefined') will now be used instead of 'eng'. The
        user can use the new option '--default-language' to change that.

2004-07-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: When using a CUE sheet as a chapter file
        mkvmerge will automatically convert some of the entries to tags.

2004-07-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The default track feature did not work
        correctly with the new --track-order.

        * mkvmerge: new feature: Added support for TTA lossless audio
        files.

2004-06-29  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.9.2.

        * mmg: Updated the mkvmerge GUI guide to reflect changes and
        additions.

2004-06-25  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added 'minimize' buttons to the two 'mkvmerge
        is running' dialogs.

        * mmg: new feature: Added an option for automatically calling
        'File -> new' after a job has been added to the job queue.

2004-06-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Video extraction was not working correctly
        on big endian systems.

2004-06-21  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The job manager did not always catch all of
        mkvmerge's output, especially if a job failed.

2004-06-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: --track-order now controls the track
        creation order globally, meaning that it isn't used for each file
        but only once. This allows the tracks to be created in ANY order
        (before it was first ordered by file, then by track). For mmg this
        means that the track list contains all available tracks and that
        there are no 'up' and 'down' buttons in the file list anymore.

        * mmg: new feature: Line wrap the tooltips on Windows.

        * mmg: new feature: Suggest a name for a new job based on the
        output file name.

        * mmg: new feature: Temporarily disaable 'always on top' if the
        muxing or the job dialog are visible.

        * mmg: new feature: Ask for confirmation before adding a job if
        there's already an old job with the same description.

        * mkvmerge: new feature: You can specifiy the time after which to
        split with ms precision.

2004-06-19  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The functions 'move up', 'move down' and 'delete'
        in the 'job' dialog were not working correctly on Windows.

2004-06-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed more of that 'garbage at the beginning
        of MP3 streams' issue.

2004-06-13  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The 'always on top' option was ignored when
        starting mmg.

        * mkvmerge: bug fix: Reading of broken / unfinished AVI files was
        broken on Windows.

        * Released v0.9.1.

        * mkvmerge: Dropped supoprt for 'aviclasses' (one of the two
        libraries for accessing AVI files). This mostly affects the
        Windows users as I've used aviclasses and not avilib on Windows so
        far. The 0.9.0-pre-builds so far haven't shown any problems,
        though, so I hope this doesn't break anything.

        * mmg: bug fix: The job manager did not handle the conversion
        of non-ASCII characters correctly.

        * mmg: new feature: The action 'delete job' in the job manager
        will also delete the file in the 'jobs' subdirectory.

2004-06-12  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added an option to make mmg stay always on
        top (only on Windows).

        * mkvmerge: new feature: mmg will set the 'display dimensions'
        automatically for AVI files whose video track is MPEG4 and has the
        pixel aspect ratio stored in the bitstream.

        * mkvmerge: bug fix: The improved MP3 garbage detection was broken
        resulting in an error message from mkvmerge in some weird
        situations.

2004-06-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Matroska tracks can use lacing (several
        frames inside one Matroska block with only one time code for the
        whole block). mkvmerge did not recreate the time codes for the
        frames 1..n in the lacing correctly.

2004-06-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: feature removed: Dropped support for 'time
        slices'. They were not used, didn't offer the player any
        additional value and caused massive increase in overhead.

        * mmg: new feature: Added a dialog for adding arbitrary command
        line options which includes a list of advanced options to chose
        from.

2004-06-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The OGM fix in 0.9.0 broke handling for
        non-broken OGM files a bit.

2004-06-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for the audio/video
        synchronization method used by NanDub (garbage at the beginning of
        audio tracks inside an AVI) for AC3 and MPEG audio tracks. In
        other words: If an AVI is read and an audio track contains garbage
        right at the beginning then the corresponding audio delay is
        calculated and used instead of simply discarding the garbage.

2004-06-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Enabled reading MPEG4 video from MP4
        files (nope, they're not stored in Matroska's native mode yet).

2004-05-31  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.9.0.

        * mkvmerge: bug fix: Improved handling for OGM files. Streams that
        are lacking the comment packet are handled better.

2004-05-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Some MP3 streams are padded in the front with
        trash (mostly those in AVI files). This trash might contain valid
        MP3 headers which do not match the remaining headers for the
        actual track. Both the MP3 reader and the MP3 packetizer can now
        skip up to one of those bogus headers in the trash.

2004-05-25  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: On some occasions the chapter editor thought there
        was no language associated with a chapter name and complained
        about that.

        * mmg: Removed the 'advanced' tab. Those options shouldn't be used
        anyway.

        * mkvmerge: bug fix: The OGM reader was not endian safe.

2004-05-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Rewrite of the VobSub handling code.

2004-05-17  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The chapter editor did not honor the values
        selected for 'country' and 'language'.

2004-05-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Audio sync for Vorbis was partially broken
        for positive offsets.

2004-05-06  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Fix for compilation with wxWindows < 2.4.2.

        * Released v0.8.9.

        * mmg: new feature: mmg will ask for confirmation before
        overwriting a file. This can be turned off on the settings tab.

2004-05-04  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Implement drag'n'drop of files onto the input,
        attachment and chapter tabs. For the input and attachment tabs it
        works like pressing the 'add' button. On the chapters tab it works
        like calling 'Chapter Editor -> Open'.

2004-05-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo/mmg: Enabled compilation with wxWidgets 2.5 and Unicode
        enabled builds of wxWidgets.

2004-04-30  Moritz Bunkus  <moritz@bunkus.org>

        * all: Increased the precision for time codes in chapter files to
        nanoseconds (optionally, you can still use fewer digits after the
        '.').

2004-04-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Fixes for compilation with gcc 3.4.

2004-04-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Some strings read from RealMedia files were
        not zero-terminated resulting in broken track recognition for some
        files.

2004-04-23  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.8.

        * mkvtoolnix now depends on libebml 0.7.0 and libmatroska 0.7.0.

2004-04-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: mkvinfo was forcing libmatroska not to handle
        unknown elements and crashed on those.

2004-04-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: When adding Matroska files the video track's
        display dimensions are displayed as well.

2004-04-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Implemented reading AAC from AVIs.

2004-04-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The Flac packetizer was accessing
        uninitialized memory resulting in a crash on Windows.

        * avilib: bug fix: Fixed compilation on big endian systems.

        * mkvmerge: bug fix: Fixed the handling of RealMedia files with
        'multirate' tracks (again).

2004-04-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: On some rare occasions chapters were not
        written correctly when splitting was active.

2004-04-06  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: On non-Windows systems some combinations of
        wxWindows and GTK caused continuous 100% CPU usage after a special
        call to wxExecute.

2004-04-05  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.7.

2004-04-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: new feature: Added a terse output format via '-s'.

2004-03-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: If using MPEG4 video and no aspect
        ratio or display dimensions are given mkvmerge will extract the
        aspect ratio information from the stream and automatically set the
        display dimensions accordingly.

2004-03-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Using audio sync on AC3 tracks read from
        Matroska files did not work.

2004-03-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added extraction of RealAudio and
        RealVideo tracks to RealMedia files.

2004-03-16  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added a 'job queue'. The current settings can
        be added as a new job, and all pending jobs can be started for
        batch processing without user interaction.

2004-03-13  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.6.

        * mkvmerge: bug fix: OGMs created by Cyrius OGMuxer are missing
        comment packets for some streams which mkvmerge choked on.

2004-03-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge/mmg: bug fix: The LANGUAGE and TITLE comments from OGM
        files were not set in the GUI when adding such files.

2004-03-09  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: If the FourCC was set for one track it had been
        used for each track you selected as well.

        * mkvmerge: new feature: Tags are being kept when reading Matroska
        files.

        * mkvmerge: bug fix: Large values for --sync (over 2100) would
        cause an integer overflow resulting in no sync being done at all.

        * mkvmerge: bug fix: The VobSub handling was broken if the .idx
        file contains an entry for a track ("id: en") but no "timestamp:"
        entries for such a track.

        * mkvmerge: bug fix: The segment UID was not generated if
        splitting was off.

        * mmg: new feature: Automatically set the output file name when
        the first file is added to the same name but with a '.mkv'
        extension if it hasn't been set yet. Can be disabled on the
        'settings' page.

        * mkvmerge: bug fix: More of the non-ASCII character fixes (in
        --tags and --chapters this time).

        * mkvmerge/mmg: new feature: Made the process priority selectable
        on the 'settings' page and default to 'normal' again (was 'lower'
        before).

2004-03-07  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: mmg will ask for confirmation before
        overwriting an existing output file.

2004-02-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: No memory was allocated for the
        --attachment-description resulting in weird descriptions or
        mkvmerge aborting with 'invalid UTF-8 characters'.

        * mkvmerge: bug fix: More of the non-ASCII characters fixes.

2004-02-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: File names with non-ASCII characters like
        Umlaute are handled correctly.

2004-02-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Some RealMedia files contain several tracks
        for multirate stuff which are now ignored. Only tracks with known
        MIME types (audio/x-pn-realaudio and video/x-pn-realvideo) are
        used.

2004-02-23  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Added a list of 'popular' languages on top of all language
        drop down boxes.

2004-02-22  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.5.

2004-02-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: segfault in the RealMedia reader.

        * mmg: bug fix: When adding a Matroska file that contains a track
        name or a title with non-ASCII characters those would be displayed
        as UTF-8 in the appropriate input boxes. This has been changed,
        but obviously it won't work if you add files with Japanese
        characters on a system with a different locale. For full Unicode
        support you'll have to wait quite a bit longer.

        * mmg: bug fix: For some 'browse file' buttons the default
        directory was not set to the last directory a file was selected
        from.

2004-02-16  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added a function for adjusting the chapter
        time codes by a fixed amount.

2004-02-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Splitting by size would sometimes abort
        directly after opening the second file.

2004-02-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Splitting by time was broken.

2004-02-12  Moritz Bunkus  <moritz@bunkus.org>

        * all: A couple of changes that allow compilation on MacOS X.

        * avilib: synchronized with transcode's current CVS version.

2004-02-11  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.4.

        * mkvmerge: bug fix: When reading Matroska files the durations
        attached to blocks were lost (e.g. for subtitle tracks).

2004-02-09  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.3.

2004-02-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: The LANGUAGE, TITLE tags and chapters are
        being kept when reading OGM files.

        * mkvmerge: Changed the meaning of '--global-tags'. They now apply
        to the complete file.

2004-02-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: VobSub durations were not converted from ms
        to ns precision resulting in VERY short packets :)

2004-02-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The change from ms to ns precision broke
        subtitle handling from OGM.

2004-01-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Made "do not link files when splitting" the default,
        just like in mmg.

        * mkvmerge: new feature: Enabled reading of AAC from OGMs.

        * mkvmerge: The VobSub reader will not discard packets that exceed
        a certain size (64KB) anymore.

        * mkvmerge: Improved some internal memory freeing decisions. This
        should help with files/sections in which are only few keyframes.

2004-01-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Changed the two-pass splitting into a one-pass
        splitting. The resulting files will always be a little bit larger
        than the desired size/length, but this shouldn't matter.

2004-01-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Segfault when using external time code v1
        files.

2004-01-24  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Rewrote the chapter editor. It now makes a lot more sense:
        You can have multiple names for one chapter entry, and for each
        name there's only one language/country association.

2004-01-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The AAC-in-Real stuff again.

2004-01-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Changed the complete time code handling from ms
        precision to ns precision. Expect some things to be broken by
        this change.

        * mkvmerge: bug fix: Fixed a couple of memory leaks, especially in
        the QuickTime/MP4 parser.

2004-01-21  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Added some more extensions for RealMedia files.

        * mkvmerge: bug fix: Proper handling for AAC read from RealMedia
        files (sample rate/output sample rate were not assigned
        correctly).

        * Released v0.8.2.

2004-01-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The PCM handling was broken resulting in
        packets that did not end on sample boundaries.

2004-01-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: AVIs with uncompressed sound were leading to
        buffer overflows.

        * mkvmerge/mmg: allow the track names to be empty so that you can
        remove them when muxing Matroska files. Same for the file title.

        * mkvmerge: new feature: The track headers will be rendered
        completely including the elements that are set to their default
        values. Causes less confusion and allows the setting of e.g. the
        track language without having to remux the file completely.

        * mkvmerge: bug fix: If remuxing a file that contains frames with
        a reference to the same time code those references were lost
        turning such P frames into I frames. This was the case for some
        RealAudio stuff.

2004-01-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Automatically pre-set the attachment's MIME
        type if the file has a known extension (e.g. 'text/plain' for
        '.txt').

        * mkvmerge: new feature: Unknown/unsupported track types can be
        copied 1:1 from Matroska input files.

        * mkvmerge: new feature: Added proper support for
        AAC-inside-RealMedia files.

2004-01-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Write cues for audio-only files as well
        (not more than one cue entry during a two seconds period).

2004-01-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The default track flags could not be
        overriden on the command line when reading Matroska files.

        * Windows binaries after v0.8.1 require a new runtime DLL
        archive. Please download it from
        http://www.bunkus.org/videotools/mkvtoolnix/ Thanks.

2004-01-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added the two new chapter flags 'hidden'
        and 'enabled'.

        * mkvmerge: new feature: Added a new format for the external
        time code files.

2004-01-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The VobSub handling was on occasion putting
        SPU packets for the wrong MPEG stream into the current stream
        resulting in that particular entity not being displayed.

2004-01-06  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.1.

2004-01-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The I/O classes were not initialized
        correctly on Windows resulting in spontaneous strange error
        messages, especially when muxing VobSubs.

2004-01-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: For some special atom sizes in Quicktime and
        MP4 files the size was not read correctly. This affected
        e.g. files created by Nero Digital.

2004-01-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Segfault when muxing some video formats due
        to unchecked data (includes RealVideo).

2004-01-01  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.0.

2003-12-29  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed the "write chapters to Matroska file"
        feature.

        * mmg: bug fix: Made mmg not abort but only display an error
        message when malformed XML chapter files should be loaded.

2003-12-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The timescodes for Vorbis were calculated one
        packet too early (meaning that the first packet did not start at
        0).

        * mmg: Made "don't link" ON by default because some players might
        have problems with the second and all following files if they
        don't expect them not to start at 0.

        * mkvmerge, mkvextract, mkvinfo: Added support for the new tagging
        system.

        * mmg: bug fix: The default values for the chapter language and
        chapter country are now applied when loading simple (OGM) style
        chapter files as well.

        * mkvmerge: bug fix: The VobSub packetizer will assume MPEG2 if no
        MPEG version identifier was found ("Unsupported MPEG version:
        0x00...").

2003-12-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: There are MP4 files that actually contain HE-AAC but
        don't have the 5 byte identifier. mkvmerge will also assume SBR if
        there's only the 2 byte identifier with a sampling frequency <
        44100Hz.

2003-12-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Wrong display output and illegal memory
        access when extracting FLAC files.

2003-12-17  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: If one added a Matroska file and the track name or
        language of a track consisted of only blanks then mmg would
        segfault.

2003-12-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: The input box will automatically select the first track
        when a file is selected. Upon track selection the input focus is
        set to the track name input box.

        * mmg: The chapter editor automatically focuses the chapter name
        input box whenever a chapter entry is selected.

        * mmg: bug fix: The chapter editor did not properly escape the
        chapter names resulting in invalid XML files if the special
        characters &, < or > were used.

2003-12-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: If splitting was active then a wrong CodecID
        was written to the second and all following files for MP2 tracks.

2003-12-11  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.7.9.

2003-12-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Set the thread priority to BELOW_NORMAL on Windows
        (mkvmerge was already nice(2)'d on Unix systems).

        * mmg: bug fix: Removed the Ctrl-v and Ctrl-c accelerators that I
        used for mmg functions which overrode the usual 'paste' and 'copy'
        functionality.

        * mmg: Command line arguments are put into an option file which is
        then handed over to mkvmerge. This allows really long command
        lines, even on Windows.

        * mkvmerge: bug fix: Negative track IDs in Ogg files were reported
        incorrectly for mkvmerge -i (which affected the GUI).

        * mkvmerge: bug fix: Internal changes had messed up the --language
        and --track-name functionality.

2003-12-04  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added "up" and "down" buttons for the tracks,
        too.

        * mmg: new feature: Added a menu option, 'set output file', that
        can be used as an alternative to the "browse" button at the bottom
        (for those poor users with nothing more than 800x600 ;)).

        * mkvmerge: new feature: The user can alter the order in which the
        tracks for an input file are put into the output file with the new
        "--track-order" option.

        * mmg: bug fix: The "AAC is SBR" check box was grayed out for AAC
        inside MP4 files.

2003-12-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The "load settings" function did not load all
        settings, and some strings were not allocated at all resulting in
        a crash when a track was removed after loading these settings.

        * mkvmerge: bug fix: The AAC packetizer was not working if packets
        were being read from a raw AAC file (it worked fine from MP4 and
        Matroska files).

        * mkvmerge: bug fix: Avoid deadlocks when parsing broken SPU
        packets from VobSubs.

        * mmg: new feature: Added buttons for moving input files up and
        down in the input file box.

2003-12-02  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.7.8.

        * mmg: new feature: You can set the values for the language and/or
        country codes for a chapter and all its children with the push of
        one button (the new "Set values" button).

        * mmg: new feature: You can set default values for the language
        and the country codes in the chapter editor (Chapter menu -> Set
        default values).

2003-12-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Display dimensions were sometimes off by one,
        e.g. 640x479 instead of 640x480. This should not happen anymore
        for sane pixel dimensions.

        * mkvmerge: Changed the options '--fourcc' and
        '--aspect-ratio'. They now take a track ID just like all the other
        track specific options.

        * mkvmerge: new feature: Added an option '--display-dimensions'
        which allows the direct setting of the display dimensions. It is
        mutually exclusive with '--aspect-ratio', of course.

2003-11-29  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The language combo box was not correctly set on
        Windows.

2003-11-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Added an option for dumpig all split points including
        file size and timestamp information after the first splitting
        pass.

2003-11-23  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Quotes were missing if the time code file's name
        contained spaces.

2003-11-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Rewrote the SPU packet parsing code. It should not
        abort anymore.

        * everything: Committed a lot of cross-OS compatibility fixes
        (thanks to Haali and thedj).

2003-11-16  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.7.7.

        * mkvextract: Added extraction of FLAC to raw FLAC or OggFLAC
        files.

        * mkvmerge: Added full support for FLAC (both raw FLAC and OggFLAC
        are supported, even though raw FLAC is very slow).

2003-11-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Added an input field for the 'CUE sheet to chapter name'
        conversion format.

        * mkvmerge: bug fix: Reworked the audio sychronization which did
        not work correctly for Matroska source files.

2003-11-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Increased the size of the space reserved for
        the first meta seek element (see mkvmerge.1 for an
        explanation). In some situations (with tags, chapters,
        attachements and very big file) it might not have been enough in
        order to contain all elements.

2003-11-12  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Added an input field for the 'time codes' file to the track
        options.

        * mkvmerge: bug fix: When reading MP3 audio tracks from a Matroska
        file with the A_MS/ACM CodecID (MS compatibility mode) the layer
        was not identified correctly.

        * mkvmerge: Improved the file type detection for AC3 and AAC files
        a bit.

        * mkvmerge: Implemented a lot of fixes for big endian systems and
        processors that don't allow non-aligned memory access for word or
        bigger sized objects.

        * mmg: Made mmg accept return codes of 1 when 'mkvmerge -i' is run
        when an input file is added. This way mmg won't reject mkvmerge's
        output if mkvmerge only printed some warnings which will result in
        a return code of 1 instead of 0.

        * mkvmerge: bug fix: If running in identification mode (-i, used
        by mmg a lot) then don't output any warnings or mmg will not
        accept this file.

2003-11-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: CUE sheets can be used for chapters.

2003-11-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Added support for --sync for VobSub tracks.

        * mkvtoolnix: Re-worked the configure script. Removed all the lib
        specific --with-...-include and --with-...-lib options. The
        --with-extra-includes and --with-extra-libs options can be used
        instead.

2003-11-08  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: When a file is being added then some information from it
        (languages, track names, file title) are kept, and the appropriate
        input boxes are pre-set with these values. Works only for formats
        that support such information (Matroska, VobSub).

        * mkvmerge: Sped up the reading of VobSub .idx files.

2003-11-05  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.7.5.

        * mkvmerge: bug fix: The VobSub .idx parser was dividing by 0 if
        a track only contained one entry.

        * mkvmerge: Fixed the time code reader code and made it a bit more
        flexible. Added more documentation for this feature along with an
        example file (examples/example-time codes.txt).

        * mmg: bug fix: When 'default track' is selected then all other
        tracks of the same type will have their 'default track' flag
        cleared.

        * mkvmerge: SPU packets belonging to the same time code are grouped
        together, and the duration is extracted directly from the SPU
        stream.

2003-10-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: The VobSubs are now stripped of the MPEG program
        stream, and only the SPU packets are kept.

2003-10-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract: The Matroska reader and the OGM reader
        (mkvmerge) as well as mkvextract will discard empty or 'cleaning
        only' subtitle packets as they are appear in OGMs in order to mark
        the end of an entry.

2003-10-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added the ability to read time codes from
        text files which override the time codes mkvmerge calculates
        normally.

2003-10-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Add all the mandatory elements when
        extracting chapters so that the resulting XML can always be used
        directly with mkvmerge again without having to manually add
        e.g. ChapterLanguage.

        * mkvmerge: bug fix; Handle audio tracks from Matroska files with
        the CodecID A_MS/ACM correctly.

2003-10-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Changes to use libmatroska's new lacing code.

2003-10-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The VobSub .idx parser was mis-calculating
        the subtitle entry frame sizes.

        * mkvmerge: bug fix: The Vorbis packetizer was miscalculating the
        number of samples to add/remove when using audio sync.

2003-10-22  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added a new menu entry "File -> new" which
        will clear all the current muxing settings.

        * mmg: Added support for VobSub subtitles including their
        compression options. Added the .m4a extension to the 'add file'
        dialog.

        * mmg: bug fix: Made the input boxes for file names (tags and
        chapters) editable so that their contents can be deleted.

        * mkvmerge: Adjusted the compression handling to the final content
        encoding specs.

2003-10-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Implemented generic support for frame
        compression (mostly useful for VobSub subtitles but could also be
        used for others) and the complete framework for handling content
        encodings in the Matroska reader.

2003-10-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: new feature: Dump unknown elements recursively.

2003-10-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Made the SRT reader more tolerant regarding
        empty lines.

2003-10-14  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.7.2.

        * mkvmerge: bug fix: If 'no linking' and splitting was active
        mkvmerge would abort on the start of the second output file due to
        time codes that were calculated incorrectly.

        * mkvmerge: Implemented some speedups for a couple of container
        formats and track types (mainly AVI reader, MP3/AC3/AAC
        packetizers). Especially noticeable when splitting is active as
        well.

2003-10-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Support for extracting SBR AAC (previous
        'fix' did not actually fix this).

        * mkvextract: bug fix: All extracted subtitles where written to
        the first output file given, not to the one they were supposed to
        be written to.

2003-10-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The 'abort' button was doing nothing under
        Windows.

2003-10-06  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Audio, video and subtitle track selection was
        translated into the wrong command line options.

        * mkvmerge: Replaced the avilib based AVI reading functions with
        AVI classes from Cyrius.

2003-10-03  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.7.1.

        * Added a guide for mmg including some pictures.

2003-10-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Changed the lacing strategy again. New defaults are
        NOT to write duration elements for all blocks, NOT to use time
        slices and to USE lacing for most audio tracks. This will save
        some space. The downside is that the laced frames 'lose' their
        precise time code information. Current demuxers don't care and will
        work nevertheless. More sophisticated applications that make use
        of these advanced information (duration elements, time slices) are
        not available at the moment. All these options can be toggled by
        the user with the new/modified options --disable-lacing,
        --enable-durations and --enable-timeslices.

2003-09-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Attachments are kept when reading
        Matroska files.

2003-09-28  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added a (nearly) full-featured chapter editor.

2003-09-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: XML chapters were not parsed correctly.

2003-09-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix/new feature: Rewrote the complete MP3
        handling. Now files with ID3 tags (both v1 and v2) are handled
        correctly. All MPEG-1 audio files (all layers) should be handled
        correctly now.

2003-09-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Support for extract HE-AAC tracks to
        .aac files. Bug fix: Missing elements (default values) are handled
        correctly for audio tracks.

2003-09-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bugfix: If attachments were given with path components
        then the path component wasn't discarded for the attachment's
        description on Windows (normally only the file name should be used
        as the attachment's name).

        * mmg: Fixed wrong order of the options --chapters,
        --chapter-language and --chapter-charset.

2003-09-17  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Added a lot of checks on the data given by the user so that
        invalid data is reported by mmg and not by mkvmerge.

        * mmg: Made the app a GUI app which gets rid of the "DOS box" on
        Windows.

2003-09-16  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bugfix: Moved the aspect ratio and FourCC input fields from
        the global tab to the input tab where they belong to.

        * mkvmerge: new feature: RealAudio can be read from Matroska
        files.

        * mkvmerge: bugfix: RealVideo was not read correctly from Matroska
        files.

        * mkvmerge: bugfix: The SRT reader would abort if there was more
        than one empty line between subtitle entries line.

        * mkvextract: bugfix: Proper BOMs are written according to the
        desired charset when extracting text subtitles.

        * Released v0.7.0.

        * mkvextract: Add an UTF-8 BOM to extracted SSA/ASS and SRT
        subtitle files. Print warnings for missing durations for text
        subtitle tracks.

2003-09-14  Moritz Bunkus  <moritz@bunkus.org>

        * Added a complete GUI for mkvmerge, mkvmergeGUI (mmg) based on
        the work of Florian Wagner.

2003-09-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Support for setting the track names.

        * mkvmerge: For Matroska source files: If the source contains
        chapters then these are kept unless the user specified chapters
        with --chapters.

2003-09-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Implemented an experimental VobSub reader and
        packetizer. No specs exist for these yet, though.

        * mkvmerge: Improved the support for Matroska files with tracks
        with big gaps between entries, e.g. subtitle tracks whose entries
        are a minute or more apart.

        * mkvmerge: When splitting is active and the source is a Matroska
        file then splitpoints were borked, and the first pass was slow as
        your average mole.

        * mkvmerge: The track UIDs are kept when reading Matroska files
        even when splitting is active.

2003-09-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Added a QuickTime/MP4 reader. Can handle several
        QuickTime video and QuickTime audio formats as well as AAC (both
        'normal' AAC and SBR AAC).

2003-09-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: DisplayWidth and DisplayHeight are kept intact when
        reading from a Matroska file but can be overridden with
        --aspect-ratio.

2003-08-30  Moritz Bunkus  <moritz@bunkus.org>

        * Wrote documentation, XML examples and the DTD for the XML
        chapter files.

        * mkvinfo: Rewrote mkvinfo to use libebml's Read() function
        instead of manually reading each and every element.

        * mkvmerge: Added support for XML based chapter files.

2003-08-29  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.6.5.

2003-08-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: On Windows the 'isspace()' function used to trim
        leading and trailing white spaces from tags considered some parts
        of valid UTF-8 character sequences to be white spaces as
        well. Fixed by replacing 'isspace()' with 'isblank()'. Reported
        by Liisachan.

        * mkvmerge: Support for chosing the charset and language used in
        simple chapter files. Suggestion by Liisachan.

        * Rewrote the UTF-8 conversion routines. They should now handle
        U+8000 characters correctly. Reported by Liisachan.

        * mkvmerge: Real reader: For RV40 the actual dimensions were also
        used for the aspect ratio/display dimensions. This has been fixed:
        the actual dimensions are used for PixelWidth/PixelHeight, the
        dimensions stored in the RM container are used for the aspect
        ratio/DisplayWidth & DisplayHeight. Reported by Karl Lillevold.

2003-08-27  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.6.4.

        * mkvextract: Support for re-creating dropped frames when
        extracting video to an AVI. Works only well if the frame durations
        in the source file are multiples of the frame rate, of course.

        * mkvmerge: The MP3 packetizer did not start at 0 with its
        time codes. It does now. Reported by alexnoe.

        * mkvmerge: Proper support for dropped frames when reading AVI
        files. Reported by alley_cat, Horváth István.

        * mkvmerge: Fixed some missing default values in the Matroska
        reader (e.g. mono audio files). Reported by Liisachan.

2003-08-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Improved all command line parsing error messages.

        * mkvmerge: Improved the error message for the XML tag file parser
        if an invalid &-sequence is found.

        * mkvextract: Strings are postprocessed so that the special
        characters &, <, >, " are replaced by their HTML equivalents
        &amp;, &lt, &gt; and &quot;.

2003-08-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Disabled lacing by default and renamed --no-lacing to
        --enable-lacing. With all the proper info about the laced frames
        lacing is actually producing larger files than without lacing.

        * mkvmerge: Meta seek element is split into two elements. The
        first's located at the start of the file containing only a small
        number of level 1 elements. The clusters are referenced in a
        second meta seek element located at the end of the file. Removed
        the options "--meta-seek-size" and "--no-meta-seek". Added the
        option to disable that second meta seek entry,
        "--no-clusters-in-meta-seek".

2003-08-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: Backwards compatibility: Accepts S_SSA and S_ASS as
        valid CodecIDs (new CodecIDs are S_TEXT/SSA and S_TEXT/ASS).

        * mkvmerge: Bugfix: If a subtitle packet was the last packet in a
        cluster then its duration was not written resulting in a broken file.

2003-08-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: Added support for the following elements:
        KaxPrevFilename, KaxNextFilename, KaxTrackFlagEnabled,
        KaxTrackName, KaxCodecName, KaxCodecSettings, KaxCodecInfoURL,
        KaxCodecDownloadURL, KaxCodecDecodeAll, KaxTrackOverlay,
        KaxAudioPosition, KaxAudioOutputSamplingFreq, KaxVideoDisplayUnit,
        KaxVideoColourSpace, KaxVideoGamma, KaxVideoFlagInterlaced,
        KaxVideoStereoMode, KaxVideoAspectRatio, KaxClusterPosition,
        KaxClusterPrevSize, KaxBlockVirtual, KaxBlockAdditions,
        KaxBlockMore, KaxBlockAddID, KaxBlockAdditional,
        KaxReferenceVirtual, KaxSliceBlockAddID, KaxChapters,
        KaxEditionEntry, KaxChapterAtom, KaxChapterUID,
        KaxChapterTimeStart, KaxChapterTimeEnd, KaxChapterTrack,
        KaxChapterTrackNumber, KaxChapterDisplay, KaxChapterString,
        KaxChapterLanguage, KaxChapterCountry

2003-08-20  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.6.3.

        * mkvmerge: The Real reader accepts incomplete video packets and
        tries to re-assemble them instead of aborting with 'die: len !=
        total'.

2003-08-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Implemented a switch that has to be used for SBR AAC /
        AAC+ / HE-AAC if the source file is an AAC file and the AAC file
        contains SBR AAC data (no automatic detection possible in this case!).

2003-08-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Low bitrate AC3 tracks from Real's DNET are identified
        as A_AC3/BSID9 or A_AC3/BSID10.

        * mkvmerge: The RealMedia reader takes the number of packets into
        account when reading which results in better end-of-file detection.

2003-08-12  Moritz Bunkus  <moritz@bunkus.org>

        * Windows versions: Fixed a bug with files bigger than 2GB not
        being recognized. The accompanying error message was "File NAME
        has unknown type. Please have a look at the supported file
        types..."

        * all tools: Fixed a bug which would only allow Matroska files up
        to 4GB to be read. The accompanying error message was "No segment
        found" or something similar.

        * mkvinfo: Unknown elements are properly skipped now.

2003-08-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: For RV40 (RealVideo 9) the actual video dimensions are
        decoded from the first video frame.

        * Released v0.6.2.

        * mkvmerge: Video aspect ratio was set wrong if the user did not
        specify any.

        * Released v0.6.1.

        * mkvmerge: RealVideo: Support for all kinds of frames including
        "short" and "merged" frames (results are identical to Gabest's
        output).

2003-08-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: The aspect ratio setting will only cause upscaling of
        the current video dimensions which are then put into
        KaxVideoDisplayWidth and KaxVideoDisplayHeight.

        * mkvextract: Changed how the global elements are handled by
        taking the parent's size into account. This re-enables processing
        of files produced with the latest VirtualDubMod.

        * mkvmerge: Changed how the Matroska reader handles global
        elements by taking the parent's size into account. This re-enables
        processing of files produced with the latest VirtualDubMod.

        * mkvinfo: Changed how mkvinfo handles global elements by taking
        the parent's size into account. Hopefully this is now correct.

        * mkvextract: Support for MultiComment tags.

        * mkvmerge: Fixed support for reading MultiComment tags from
        XML tag files.

        * mkvmerge: Allow some slightly broken Matroska files to be
        processed correctly if the reference blocks are off by at most 1ms.

2003-08-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: MP3: Better support for other MPEG versions and layers
        (number of samples per packet).

        * mkvinfo: Added Adler32 calculation and display for frame
        contents with the -c option.

        * mkvmerge: RealAudio: "dnet" is actually byte-swapped AC3 and is
        being treated as such (re-swapped and output as AC3).

        * mkvmerge: Fixed a bug with chapters and splitting which would
        crash mkvmerge if no chapter belonged into the output file.

2003-08-06  Moritz Bunkus  <moritz@bunkus.org>

        * Changes for compilation with gcc 2.95.

2003-08-04  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.6.0.

2003-07-30  Moritz Bunkus  <moritz@bunkus.org>

        * base64tool: Added a tool for Base64 encoding/decoding needed for
        binary elements in the tags.

2003-07-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: Support for extracting chapter information.

        * mkvmerge: Added support for simple chapter files (CHAPTER01=...,
        CHAPTER01NAME=Hello World etc).

2003-07-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Added support tags based on XML files.

        * mkvextract: Rewrote the command line syntax. Added extracting
        attachments and tags as new options.

        * mkvmerge: Fixed a bug in the SRT reader which would not always
        handle Unix/DOS style new line cases correctly.

2003-07-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Added support for the "SegmentTitle" (general title of
        the file written).

2003-07-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Added support for UTF-8 and UTF-16 encoded text files
        for the SRT and SSA/ASS readers.

2003-07-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: The SSA/ASS reader ignored the --sub-charset option
        and always used the current charset to recode the subtitles.

2003-07-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Added support for attaching files to the output
        file(s).

        * mkvinfo: Support for the elements dealing with attachments
        (KaxAttachments, KaxAttached, KaxFileDescription, KaxFileName,
        KaxMimeType, KaxFileData).

2003-07-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Changed the RealVideo packaging method: Subpackets are
        assembled into complete packets so the demuxer does not have to do
        that anymore.

        * mkvmerge: DisplayWidth and DisplayHeight, which form the display
        aspect ratio, are now always written to ease changing them later
        without having to completely remux the file.

2003-07-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Fixed some infinite-reading-from-a-file bug that
        occured on Windows when reading SSA/ASS files.

        * mkvmerge: Fixed a bug which would mostly appear with subtitles
        that have very long ( > 60s) gaps between entries. Here the
        cluster would not been rendered properly leaving mkvmerge either
        comatose ( = endless loop) or just plain dead ( = crashing).

2003-07-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: Added support for the rest of the tags:
        KaxTagMultiComment, KaxTagMultiCommentName,
        KaxTagMultiCommentComments and KaxTagMultiCommentLanguage. Almost
        all tags have been successfully tested.

2003-07-06  Moritz Bunkus  <moritz@bunkus.org>

        * Added a RealMedia demuxer that can handle both RealVideo and
        RealAudio (all codecs).

2003-07-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: Added support for allmost all tags (totally untested):
        KaxTag KaxTagArchivalLocation KaxTagAudioEncryption
        KaxTagAudioGain KaxTagAudioGenre KaxTagAudioPeak
        KaxTagAudioSpecific KaxTagBibliography KaxTagBPM KaxTagCaptureDPI
        KaxTagCaptureLightness KaxTagCapturePaletteSetting
        KaxTagCaptureSharpness KaxTagChapterUID KaxTagCommercial
        KaxTagCropped KaxTagDate KaxTagDiscTrack KaxTagEncoder
        KaxTagEncodeSettings KaxTagEntity KaxTagEqualisation KaxTagFile
        KaxTagGeneral KaxTagGenres KaxTagIdentifier KaxTagImageSpecific
        KaxTagInitialKey KaxTagKeywords KaxTagLanguage KaxTagLegal
        KaxTagMood KaxTagMultiCommercial KaxTagMultiCommercialAddress
        KaxTagMultiCommercialEmail KaxTagMultiCommercialType
        KaxTagMultiCommercialURL KaxTagMultiDate KaxTagMultiDateDateBegin
        KaxTagMultiDateDateEnd KaxTagMultiDateType KaxTagMultiEntity
        KaxTagMultiEntityAddress KaxTagMultiEntityEmail
        KaxTagMultiEntityName KaxTagMultiEntityType KaxTagMultiEntityURL
        KaxTagMultiIdentifier KaxTagMultiIdentifierBinary
        KaxTagMultiIdentifierString KaxTagMultiIdentifierType
        KaxTagMultiLegal KaxTagMultiLegalAddress KaxTagMultiLegalType
        KaxTagMultiLegalURL KaxTagMultiPrice KaxTagMultiPriceAmount
        KaxTagMultiPriceCurrency KaxTagMultiPricePriceDate
        KaxTagMultiTitle KaxTagMultiTitleAddress KaxTagMultiTitleEdition
        KaxTagMultiTitleEmail KaxTagMultiTitleLanguage
        KaxTagMultiTitleName KaxTagMultiTitleSubTitle KaxTagMultiTitleType
        KaxTagMultiTitleURL KaxTagOfficialAudioFileURL
        KaxTagOfficialAudioSourceURL KaxTagOriginalDimensions
        KaxTagOriginalMediaType KaxTagPlayCounter KaxTagPopularimeter
        KaxTagProduct KaxTagRating KaxTagRecordLocation KaxTags
        KaxTagSetPart KaxTagSource KaxTagSourceForm KaxTagSubGenre
        KaxTagSubject KaxTagTargets KaxTagTitle KaxTagTrackUID
        KaxTagVideoGenre

2003-06-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Support for handling native video tracks (e.g. B
        frames) when reading Matroska files.

        * mkvmerge: Implemented time slice durations , default block
        duration and block durations for slices where necessary.

2003-06-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: Support for KaxSegmentFilename, KaxTitle, KaxSlices,
        KaxTimeSlice, KaxSliceLaceNumber, KaxSliceFrameNumber,
        KaxSliceDelay and KaxSliceDuration.

2003-06-22  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.5.0.

        * Added 'ReferencePriority' element to the known elements for
        mkvinfo.

        * Removed "(mkvinfo) " from mkvinfo's output in order to improve
        readability and save space.

        * --sub-charset now also needs a track ID.

        * Modified the verbosity levels for mkvinfo: The seek head subentries
        and cue subentries will only be shown at level 2 to make the
        output easier to read.

        * The language and default track settings are now kept again if
        not overridden when reading from Matroska files.

2003-06-21  Moritz Bunkus  <moritz@bunkus.org>

        * Added mkvextract which can extract tracks from a Matroska file
        into other files.

2003-06-20  Moritz Bunkus  <moritz@bunkus.org>

        * Switched from cygwin to MinGW32 for the Windows binaries.

        * Fixed a double free() on cleanup (after writing the cues) which
        resulted in a segfault sometimes.

        * Added a SSA/ASS reader.

2003-06-19  Moritz Bunkus  <moritz@bunkus.org>

        * Support for reading text subtitles from Matroska files.

        * Made the AAC reader automatically recognize if a MPEG4 AAC file
        contains the emphasis header (deprecated) or not (current standard).

2003-06-15  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.4.4.

        * Several options now need an explicity track ID to specify
        which tracks of an input file the option should be applied
        to. These options include --atracks, --vtracks, --stracks, --sync,
        --default-track, --cues and --language.

        * The Matroska reader now handles track selection correctly.

2003-06-13  Moritz Bunkus  <moritz@bunkus.org>

        * Added an option for identifying input files and their track types.

2003-06-12  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.4.3.

2003-06-11  Moritz Bunkus  <moritz@bunkus.org>

        * Support for proper linking of segments via the segment UIDs. The
        first and last files created can be manually linked to given UIDs.

2003-06-08  Moritz Bunkus  <moritz@bunkus.org>

        * Added support for splitting output files by size or by time and
        limiting the number of output files.

        * Added support for the segment UID/next segment UID/previous
        segment UID.

2003-06-06  Moritz Bunkus  <moritz@bunkus.org>

        * A lot of changes to comply with libmatroska/libebml 0.4.4.

2003-06-03  Moritz Bunkus  <moritz@bunkus.org>

        * Implemented stricter content based file type identification for
        MP3 and AC3 files so that those won't be mis-identified.

2003-05-31  Moritz Bunkus  <moritz@bunkus.org>

        * Some improvements to the mkvinfo GUI (thanks to jcsston for the
        patch/the ideas).

2003-05-29  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.4.2.

        * Support for some more tags in both mkvmerge and mkvinfo.

        * Fixed a segfault in the Matroska reader.

        * Removed the '--sub-type' switch as all text subtitles will be
        stored in UTF-8 format. Made iconv mandatory in the configure
        checks for this very reason.

        * Added a GUI to mkvinfo.

2003-05-23  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.4.1.

        * A lot of changes regarding file I/O. Files bigger than 2GB
        should now be handled correctly on both Linux and Windows.

2003-05-22  Moritz Bunkus  <moritz@bunkus.org>

        * Added checks for MP4/Quicktime files which will abort mkvmerge.

        * Support for reading AAC tracks from Matroska files.

        * Released v0.4.0.

2003-05-21  Moritz Bunkus  <moritz@bunkus.org>

        * Some internal changes and enhancements. Code requires libebml
        and libmatroska 0.4.3 now.

2003-05-19  Moritz Bunkus  <moritz@bunkus.org>

        * ADTS headers are stripped from the AAC streams. This is what I'd
        call 'proper AAC support'.

2003-05-18  Moritz Bunkus  <moritz@bunkus.org>

        * Better support for DTS streams in general and for DTS-in-WAV in
        particular (patch by Peter Niemayer <niemayer AT isg.de>).

2003-05-17  Moritz Bunkus  <moritz@bunkus.org>

        * Renamed '--no-utf8-subs' to '--sub-type utf8'. Polished the man
        page regarding subtitle handling.

        * Fixed a bug with mono MP3 files.

        * Added support for AAC files (only those with ADTS headers at the
        moment).

2003-05-15  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.3.3.

        * If an error occurs while writing to the destination file the
        error is reported and mkvmerge aborts with a non-zero exit code.

        * The OGM reader reported I frames as P frames and vice versa
        round making seeking not really nice ;)

2003-05-11  Moritz Bunkus  <moritz@bunkus.org>

        * Fixed a bug with the AC3 time code calculation (patch by Peter
        Niemayer <niemayer AT isg.de>).

        * Support for reading DTS files & putting them into Matroska
        (main patch by Peter Niemayer <niemayer AT isg.de>, a few things
        by me).

        * Released v0.3.2.

        * Fixed the huge memory need if reading from AVI files (introduced
        on 2003-05-06 with the internal changes).

        * Proper handling of the 'default track' flag and the language for
        the Matroska reader.

        * Proper handling of the 'default track' flag for all the packetizers.

2003-05-09  Moritz Bunkus  <moritz@bunkus.org>

        * Made mkvtoolnix compile under cygwin.

2003-05-06  Moritz Bunkus  <moritz@bunkus.org>

        * Added support for aspect ratio.

        * Subtitle charsets can be specified with --sub-charset and do not
        rely on the current locale anymore.

        * For the last packet of each track its duration is now stored.

        * A lot of internal changes - I hope nothing has broken... (See
        ChangeLog.cvs for details.)

        * The matroska reader calculated wrong header lengths for Vorbis
        tracks.

2003-05-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo reports the FourCC for video tracks with a
        CodecID of V_MS/VFW/FOURCC and the format tag for audio tracks
        with a CodecID of A_MS/ACM.

2003-05-03  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.3.1.

        * Tracks read from a Matroska file will keep their UID if it
        hasn't been used yet.

        * Support for reading text subtitle streams from OGM files.

        * Added support for EbmlVoid everywhere to mkvinfo.

2003-05-02  Moritz Bunkus  <moritz@bunkus.org>

        * Support for KaxTrackLanguage and ISO639 languages.

2003-04-30  Moritz Bunkus  <moritz@bunkus.org>

        * First public release.
