Help us keep the list up to date and submit new video software here.


  Search or Browse all software by sections


Home Software Home Video De/Multiplexers

Tool Description Type Rating Comment



RECENTLY UPDATED
MKVtoolnix is a set of tools to create, alter, split, join and inspect Matroska files(mkv). Command line tools but mkvmergeGUI/mmg.exe frontend is included. Use MKVExtractGUI-2 to extract/demultiplex mkv video and audio files.

Free software
Win Win Mac Mac Linux Linux

Version:7.1.0 History
Released:

Size:11MB



8.8/10
73 votes


Guides
Similar tools
Read 74
comments

116050 views
this month
23141360
total views
  Latest version:
7.1.0 (July 27, 2014)


Download sites:
Visit developer's site

Download MKVToolnix 7.1.0 (direct link) (11MB)

Download MKVToolnix 7.1.0 64-bit (direct link)


More download options:
Download MKVToolnix 7.1.0 portable (direct link)

Download MKVToolnix 7.1.0 portable 64-bit (direct link)

Download MKVToolnix Mac version (direct link)

Download MKVToolnix Linux version



Download MKVToolnix old versions


Supported operating systems:
Windows Mac OS Linux


More information and other downloads:
Use MKVExtractGUI-2 to extract/demultiplex mkv video and audio files.

Download jMkvpropedit here, a GUI for mkvpropedit. Set default audio, video tracks.


Sections/Browse similar tools:
Linux video toolsMacOS video toolsVideo De/Multiplexers

MKVToolnix screenshot
Click to enlarge screenshot

User options:
Email me when it has been updated    Report this tool (dead link/new version)  


Version history / Release notes / Changelog:
2014-07-27 Moritz Bunkus <moritz@bunkus.org>
* Released v7.1.0.
* all: bug fix: Fixed file seeking code for »seek relative to end of file« case. Fixes #1035.
* mmg: bug fix: Selecting the root of the chapter editor tree will disable the language/country inputs properly as changing those fields doesn't make sense for the root.

2014-07-26 Moritz Bunkus <moritz@bunkus.org>
* all: bug fix: if MKVToolNix on Windows is residing in a directory containing non-ASCII characters then translations weren't found. This has only been fixed for cases where those non-ASCII characters are part of the system's active code page.

2014-07-10 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: track statistics tags are not written for WebM files anymore as the WebM specification doesn't allow tags.

2014-07-01 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed wrong default duration for PCM audio tracks if the source file provides timecodes for that track. Fixes #1001 and #1033.

2014-06-18 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: SSA/ASS: in addition to semicolons comments can now start with exclamation marks, too.

2014-06-11 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: Fixed a crash when opening damaged/invalid Matroska files in all extraction modes. Fixes #1027.


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).

2014-04-18 Moritz Bunkus <moritz@bunkus.org>
* 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 without 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%mkvtoolnixjobs).
* 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.


28 Jun 2013: Added new builds for Windows (6.3.0-1): same source, but built against a different version of the wxWidgets library in order to circumvent a bug in the library.


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>
* 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, CueRelativePosition and TimecodeScaleDenimonator. The denominator's value is only shown so far but not taken into account when calculating any timecode.
* mkvpropedit, mmg, mkvmerge: removal: removed support for the deprecated element TrackTimecodeScale.


2012-09-02 Moritz Bunkus <moritz@bunkus.org>
* Released v5.8.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 optimizied to keep cluster timecodes 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 "globla" 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 extracing 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 timecodes 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 timecode and the second part's first packet's timecode 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 timecode 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 successfull", "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 timecodes have been correct already.

2012-03-12 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed timecode calculation for (E)AC3 tracks if the source container (e.g. MPEG transport streams) only provided timecodes 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 timecode scale was set to "auto" mode ("--timecode-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 timecode file with AVC/h.264 video the default duration will be set to the most-often used duration in the timecode 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: timecodes 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 timecode 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 "timecodes_v2" mode: mkvextract will write one more timecode than there are frames in the file. The last timecode written will be the the sum of the last frame's timecode and duration with the "last frame" being the one with the highest timecode. 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 "timecodes_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-27 Moritz Bunkus <moritz@bunkus.org>
* Released v5.1.0.

2011-11-26 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed bogus huge timecodes 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>
* Release 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 timecode 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 timecodes (e.g. Matroska files) then those timecodes 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 timecode 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 "timecodes_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 "timecodes_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-05Moritz 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-04Moritz 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-03Moritz Bunkus<moritz@bunkus.org>
* mmg: new feature: Added the estimated remaining time to the mux and job dialogs.

2010-05-31Moritz Bunkus<moritz@bunkus.org>
* all: Added a translation of the programs into Dutch by René Maassen (see AUTHORS).

2010-05-28Moritz 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-27Moritz 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-24Moritz Bunkus<moritz@bunkus.org>
* mkvmerge, mkvinfo, mkvextract: bug fix: Fixed handling of clusters missing a cluster timecode element.
* mkvinfo GUI: bug fix: Frames for simple blocks were shown at the wrong place in the element tree.

2010-05-23Moritz Bunkus<moritz@bunkus.org>
* mkvmerge, mkvextract: Fixed handling of clusters with an unknown size.

2010-05-22Moritz 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-21Moritz 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-19Moritz Bunkus<moritz@bunkus.org>
* mkvmerge: change: mkvmerge will not write track header elements whose actual value equals their default value anymore.

2010-05-18Moritz 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-17Moritz 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 tracks 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 timecodes due to variables not being reinitialized.

2010-05-16Moritz Bunkus<moritz@bunkus.org>
* mkvinfo: bug fix: Binary elements shorter than 10 bytes were not output correctly.

2010-05-15Moritz 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-14Moritz 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-06Moritz 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-27Moritz 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-23Moritz Bunkus<moritz@bunkus.org>

* all: Added a translation into Russian by Serj (see AUTHORS).

2010-04-19Moritz 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-12Moritz 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-11Moritz 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-07Moritz 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-03Moritz Bunkus<moritz@bunkus.org>

* Build system: The LINGUAS environment variable determines which
man page and guide translations will be installed.

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

* mkvmerge: bug fix: Fixed a tiny memory leak. Fix for bug 481.


2010-03-24 Moritz Bunkus <moritz@bunkus.org>
* 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: Timecodes 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 timecode 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-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:UsersmbunkusAppDatamkvtoolnix'. 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-02-11Moritz Bunkus<moritz@bunkus.org>
* mmg, mkvpropedit: Fixed another bug causing a crash writing chapters/other elements to existing Matroska files.

2010-02-10Moritz Bunkus<moritz@bunkus.org>
* Build system: bug fix: Improved detection of Boost::Filesystem for newer Boost versions.

2010-02-09Moritz Bunkus<moritz@bunkus.org>
* docs: Added a Chinese Simplified translation for the man pages by Dean Lee (see AUTHORS).

2010-02-06Moritz 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-03Moritz 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:UsersmbunkusAppDatamkvtoolnix'. 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-28Moritz 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-24Moritz 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-22Moritz 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-20Moritz 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 timecodes will are not rejected anymore. Negative timecodes 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 timecode 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 FilesVideo toolsmkvtolnix") 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 timecodes 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 timecode (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 timecodes 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 timecodes 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: Timecodes 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 timecode and the current frame's timecode if a timecode 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 timecodes 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 timecodes 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 timecode extraction mkvextract wrote large timecodes 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 timecodes of the second and all following subtitle files were based on the last timecode in the first subtitle file instead of the last timecode 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 timecodes that contain spaces between the colons and the digits and timecodes 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 timecodes with more than three decimals were not allowed even though the docs say that they are. They are now, as mkvmerge supports such timecodes.

2008-11-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Changed the way mkvmerge calculates the timecodes 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 timecode lines do not have spaces around the arrow between the start and end timecodes.

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 timecodes 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 timecode 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 timecodes 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 timecode 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 timecode 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 timecode 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 timecodes 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 timecodes 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 timecode application code. Additionally force the "previous cluster timecodes" that libmatroska uses to the current timecode. This seems to get rid of libmatroska's assertions about the local timecode 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 timecode 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 timecodes 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 timecodes 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 timecode 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 timecodes 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 timecodes 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 timecode 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 timecodes' function accepts timecodes 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 timecodes 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 timecodes the timecodes were only used for the first track in a chain of tracks. This has been changed so that you must specify only one timecode file in such cases (e.g. "mkvmerge ... --timecodes 0:my_timecodes.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 timecodes) 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 timecodes 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: timecodes 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 timecodes in a timecode v2 format file. It is called "timecode_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 timecode files and video tracks with B frames was not working as intended. The user had to order the timecodes in the timecode file just like the frames were ordered (meaning the timecodes 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 timecodes" 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 timecode is used as the name instead of aborting.

2005-06-05 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added splitting after specific timecodes.

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 (rn 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 timecodes 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 timecodes 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 timecode handling to include the timecode 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 timecode 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 timecode 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: Timecodes 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 timecode files. This also fixes bug 99: The durations for the individual tracks were not correct for those tracks for which --timecodes 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 timecodes offset with the Matroska Stream Editor or other means may contain timecodes that caused mkvmerge to print a warning about "timecode < last_timecode". 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 "timecode < previous timecode" 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 timecodes correctly. Those can occur when the timecode 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 timecode for the whole block). mkvmerge did not recreate the timecodes 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 timecodes 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 timecodes 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 timecode 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 timecode 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 timecode 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 timecode 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 timecode 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 'timecodes' 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 timecode reader code and made it a bit more flexible. Added more documentation for this feature along with an example file (examples/example-timecodes.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 timecode 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 timecodes from text files which override the timecodes 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 timecodes 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 timecode 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 timecodes. 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 &, <, > and ".

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 timecode 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.

Hide changelog



Alternative to MKVtoolnix:
MKVcleaver
MKVExtractGUI & MKVE Wizard
OGMcleaver



Guides and How to's:
How to add subtitles to .mkv files using mkvmerge GUI - Read
How to convert MKV to DivX / Demultiplex MKV to video and audio files - Read
How to convert MKV to MPG (VCD,SVCD or DVD) - Read
How to convert MKV video files to AVI - Read
How to extract parts from a mkv including all audio and subtitle tracks - Read
How to rip a Blu-ray disc and remux it to MKV - Read
How to split MKV files using MKVToolnix - Read
Using Handbrake to Burn in Subtitles from MKV to MP4 - Read
View all guides with guide description here


Acronyms / Also Known As:
mkvmerge, mkvmerge gui,mmg, mkvmergegui, mkvextract, mkvpropedit, mkvinfo

Comments Post comment
74 comments, Showing 1 to 25 comments
 -  Next ->

Easy to use tool for multiplexing Matroska streams with a Windows native GUI. Flexible, logically organized, and supports almost all source formats well. De facto standard.

The existance of this GUI program is a major reason for the success of MKV. Creating files this format is so much easier and overall more reliable than working with AVIs or MPEG Programs, let alone MP4s. Last time I checked, MkvToolNix did not have a tag editor. And it is not a coincidence that very few other programs can display tags, and nearly no releases are actually tagged. (It is possible to use a recent version of foobar2000 for fast, customizable tagging.)

During its development, the author has made a number significant changes to the format of files written by MkvToolNix, such as the format of MPEG sequence headers, stream header compression, and presence of a seek element, which might not be immediately apparent. Some of these changes had since been reverted. I would excercise caution before upgrading to a new version, thoroughly read the changelog and test that the output files are working on all devices and players they are intended to work, and that no unexpected artifacts appear and seeking works.



Posted July 05, 2014 by . Tool version 2.2.0 using OS WinXP
Ease of use 9 of 10 Functionality 8 of 10 Value for money 10 of 10 Overall score 9 of 10


Great piece of software to remux!


Posted May 17, 2014 by . Tool version 6.9.1 using OS Windows 7 64-bit
Ease of use 9 of 10 Functionality 10 of 10 Value for money 10 of 10 Overall score 10 of 10
Guides: See homepage and program help file.


After a lot of searching I post two .bat files for batch convert and change aspect ratio of video files. If someone is interested here are the links http://www.4shared.com/file/jB20kg2Aba/MKV_Toolnix_x86.html and http://www.4shared.com/file/onaCN4pcce/MKV_Toolnix_x64.html. Also I would like to thank all the people here in videohelp.com. They helped me a lot when I first started back in 2009. And even though I haven't been here many times since then I feel very greatful.
*Please an administrator delete my previous comment in mkv toolnix section. Thank you.



Posted May 11, 2014 by . Tool version 6.9.1 using OS WinXP
Ease of use 9 of 10 Functionality 9 of 10 Value for money 9 of 10 Overall score 9 of 10
Guides: http://www.4shared.com/file/jB20kg2Aba/MKV_Toolnix_x86.html http://www.4shared.com/file/onaCN4pcce/MKV_Toolnix_x64.html


@ }{eywood, this is a GREAT Tool & a Life-Saver for a lot of people, why knock it down for something that Author does NOT even Claim to do. Read this < http://matroska.org/technical/guides/faq/index.html >

@ netmask56, I just went to Bunkus Site ... and Nothing about HeartBleed warning ... can you post the link.

MKVtoolnix 6.9.1 working just FINE for me as usual for me ... THANKS Bunkus! :)



Posted April 18, 2014 by . Tool version 6.9.1 using OS Vista 64-bit
Ease of use 10 of 10 Functionality 10 of 10 Value for money 10 of 10 Overall score 10 of 10


WARNING: If you go to the author's site rather than use the direct download provided by Videohelp there is a HeartBleed warning.


Posted April 18, 2014 by . Tool version 6.9.1 using OS Windows 7
Ease of use 8 of 10 Functionality 9 of 10 Value for money 10 of 10 Overall score 9 of 10


great tool, but I don't like the lack of .wmv support. Also, some videos are stuck in permanent pause mode. The video is all there, but it stays frozen. Advancing it by seeking brings you to wherever you want, but still no movement. Splitting by timecode is a great idea, but the program seems to split on keyframes rather than where you tell it. Many videos can only be split at 10 second intervals regardless of what timecode you enter


Posted March 10, 2014 by . Tool version 3.3.0 using OS Windows 7
Ease of use 8 of 10 Functionality 5 of 10 Value for money 10 of 10 Overall score 7 of 10


Great job switching to 64bits (at least for me it is), but it has a few bugs: if you had installed a previous version (I had v6.7.0 x32) it was (default) installed on a 64bits machine in C:\Program Files (x86)\MKVToolNix, but v6.8.0 x64 (also default) installs in C:\Program Files\MKVToolNix; so at first use MKVExtractGUI2 (which I use as GUI) doesn't seem to find the MKVToolNix executables, searching for the older path, and also demanding to be copied in the same directory as MKVToolNix (although is was copied in the new installed location). The only solution (that I've found) was to manually modify all the entries from the registry (C:\Program Files\MKVToolNix instead of C:\Program Files (x86)\MKVToolNix) and also modifying the Privilege Level of MKVExtractGUI2 (from file's Proprieties->Compatibility Tab->Privilege Level) to "Run this program as an administrator". From here, all seems to be back on the track...


Posted March 04, 2014 by . Tool version 6.8.0 using OS Windows 7 64-bit
Ease of use 10 of 10 Functionality 7 of 10 Value for money 10 of 10 Overall score 9 of 10


I'm having a problem in using the product.

when i had win xp it worked perfectly.
now i use win 7 64 bit, i use it the same with the old/newer versions and nothing works.
it shows that the finish the process but the file i get in the end is without the subs...

what should i do?



Posted February 22, 2014 by . Tool version mkvtoolnix-amd64-6.7.0-setup using OS Windows 7 64-bit
Ease of use 10 of 10 Functionality 1 of 10 Value for money 10 of 10 Overall score 10 of 10


I don't know what development of mkvtoolnix 6.5.0 did at this version but now if i simply re-sync any 3d mkv movie file my samsung 3d tv it regonise it is 3d and co AUTOMATIC at 3d mode.

CONGRAGTS FOR THAT.

And this is don't exist at oldest version of mkvtoolnix.

VERY NICE ADD AT NEW 6.5.0



Posted November 04, 2013 by . Tool version 6.5.0 using OS Windows 7
Ease of use 6 of 10 Functionality 6 of 10 Value for money 10 of 10 Overall score 8 of 10


As documented in the changelog OPUS now muxes properly and plays in MPC-HC like a charm. THANK YOU!


Posted October 14, 2013 by . Tool version 6.4.1 using OS Windows 7 64-bit
Ease of use 10 of 10 Functionality 10 of 10 Value for money 10 of 10 Overall score 10 of 10


tuco76 is right on the money. I've been looking for a tool to sort out audio/subs and it does just the job. Quick and easy to use. Many thanks to the developer.


Posted October 14, 2013 by . Tool version 6.4.1 using OS Windows 7 64-bit
Ease of use 10 of 10 Functionality 10 of 10 Value for money 10 of 10 Overall score 10 of 10


Re: Post #12 by hello_hello - turning on "disable header removal compression for audio and video tracks by default" to fix files not playing on hardware players muxed with newer versions.

That was one of the first things I tried, right from the first version to implement it, but it has never made any difference. All files muxed with versions 4.0.0 and up will not play on any of my devices whether this setting is on or off. So something else is at fault. I've stayed with version 3.0.0 and have no problems.



Posted September 27, 2013 by . Tool version 3.0.0 using OS Windows 7
Ease of use 8 of 10 Functionality 8 of 10 Value for money 8 of 10 Overall score 8 of 10


First off: Its a great tool.-@ Post #2 by b8375629: Really? So, you cant download it from some site [which has nothing to do with the tool or its developer,besides, others obviously could)- and thats why you rate it down? SAY,HOW OLD ARE YOU? -
Anyway, I use this tool frequently, for years now. Never had any issue, everythings just fine.
While its steadily updated, its extremely versatile, as you can throw AVI, FLV, MP4 at it, set time delay, edit chapters, join MKVs etc. I use it mainly to dump unwanted audio-streams and for adding subs, at times for sync audiotracks. Its one small piece of essential, free software, it works like a charm and Im really thankfull M.Bunkus provided it. BTW if it wasnt for putting down one guys great work, it would be sort of amusing some comments I read.
GO LEARN INSTEAD OF BABYCRY, and BE THANKFULL, for its PROVIDED FOR FREE and ITS GREAT! ;)



Posted August 18, 2013 by . Tool version 6.3.0-1 using OS Windows 7 64-bit
Ease of use 10 of 10 Functionality 10 of 10 Value for money 10 of 10 Overall score 10 of 10


I just went to fosshub.com and downloaded 6.3.0-1 with no issues with firefox 22.0.


Posted August 03, 2013 by . Tool version 6.3.0-1 using OS Windows 7 64-bit
Ease of use 10 of 10 Functionality 10 of 10 Value for money 10 of 10 Overall score 10 of 10


Wow, you go to the fosshub.com and they've disabled direct downloads using Firefox. I have the HTTP Referer enabled and yet I have to use IE to download it. What kind of bandwidth horseshit is that?

At least I can download it directly from videohelp. Still I'm rating it 1 = Bad for sending me to a download link that's disabled. Poor way to handle this.



Posted August 03, 2013 by . Tool version 6.3.0 using OS Windows 7
Ease of use 7 of 10 Functionality 7 of 10 Value for money 1 of 10 Overall score 1 of 10


For those who have seeking problems with VLC or with some hardware players, read solution here:
https://trac.bunkus.org/wiki/FAQ%3APlaybackDoesNotWorkVLCCannotSeekMkvmerge590



Posted April 12, 2013 by . Tool version 6.1.0 using OS Windows 7 64-bit
Ease of use 10 of 10 Functionality 10 of 10 Value for money 10 of 10 Overall score 10 of 10


I have a sony bdp-s380 and when i use the latest mkvmerge the mkv will not ff or rew,the fix i found was to use mkv chapterizer.


Posted April 11, 2013 by . Tool version 6.10 using OS Windows 7 64-bit
Ease of use 10 of 10 Functionality 10 of 10 Value for money 10 of 10 Overall score 10 of 10


I am using mkvmerge GUI for adding subtitle and creating of chapters on my movies collection. I found problem that after muxing fast forward functionality of mkv files disturbed. I played that file with vlc 2.0.5. It take much time in chapter skipping. And on the my SONY BDP-S380 its does not fast forward. I have not changed anything except subtitle adding on files. Before adding subtitle its work fine on my sony palyer and on vlc also. I need to fix this problem. I believe there is some problem with tool. Kindly check on it


Posted April 08, 2013 by . Tool version 6.1.0 using OS Windows 7 64-bit
Ease of use 9 of 10 Functionality 9 of 10 Value for money 9 of 10 Overall score 9 of 10


Excellent program that I have been using weekly for nearly 12 months. Mostly embedding SRT subs within MKV files and/or loading in other file formats to repackage in MKV container. For the newbie the ease of use is probably down near 3 so the assistance of someone who does know how to use could be a help. I didn't have that luxury so I simply experimented trying all the functions to see what would happen. It often amuses me when I see questions like "will this fix ...etc" Well my reaction is "just do it and find out for yourself"




Posted December 23, 2012 by . Tool version 5.9.0 using OS Windows 7
Ease of use 8 of 10 Functionality 9 of 10 Value for money 10 of 10 Overall score 9 of 10


The tool is not a scam you just have to know how to use it>by the way awesome tool will like to thank the author's for it!


Posted December 23, 2012 by . Tool version 5.9.0 using OS Windows 8 64-bit
Ease of use 10 of 10 Functionality 9 of 10 Value for money 10 of 10 Overall score 10 of 10


this software sucks. i thought it'll works. dont download it...it's a scam!!!


Posted December 23, 2012 by . Tool version 5.9.0 using OS Windows 7
Ease of use - of 10 Functionality - of 10 Value for money - of 10 Overall score 5 of 10


Great program Please don't post complaints or questions here. If you have problems and can't find an answer in the forums here then go to the 'Visit developer's site link" above.
will take you to this
15 Dec 2012: Closed the forum again and moved the "FAQ over to trac." (link)
Follow the link and search MKVToolNix bug tracker and FAQ.

The development team is very active and many bugs are fixed and versions are updated every 2 or months. (NOTE: I am just a user and not a member of the development team).



Posted December 18, 2012 by . Tool version 5.9.0 using OS Windows 7 64-bit
Ease of use 10 of 10 Functionality 9 of 10 Value for money 10 of 10 Overall score 10 of 10


Header Stripping should be disabled by default in the next release. It would make it a lot easier for those having issues. The software works 100%. You just need to know what you are doing. Excellent work to the developers!


Posted October 31, 2012 by . Tool version 5.8.0 using OS Windows 7 64-bit
Ease of use 10 of 10 Functionality 10 of 10 Value for money 10 of 10 Overall score 10 of 10


For those people who've left comments complaining about later versions of MKVMergeGUI creating MKVs which won't play on standalone devices, 99.99% of the time it's due to header removal compression. This feature is part of the MKV spec but it's not supported by many/most standalone devices. The solution is to go into MKVMergeGUI's options and to check "disable header removal compression for audio and video tracks by default". Once that's done MKVMergeGUI should once again create MKVs which will play on standalone devices.

Why header removal compression is enabled by default I don't know. It's probably the number one reason for "MKVs created by MKVMergeGUI won't play using my device" threads being started in forums. If not, it's maybe the only reason.

For those wishing to extract streams from MKV files, MKVCleaver is a nice companion tool to MKVMergeGUI.



Posted October 27, 2012 by . Tool version 5.8.0 using OS WinXP
Ease of use 10 of 10 Functionality 10 of 10 Value for money 10 of 10 Overall score 10 of 10


This is now working on EVERY FILE I try it with. I need to remove DTS or HD audio from files and replace with AC3 for my Samsung HDTV.
This is so simple a kid could use it.
GREAT UTILITY!



Posted July 01, 2012 by . Tool version 5.6.0 using OS Windows 7 64-bit
Ease of use 10 of 10 Functionality 10 of 10 Value for money 10 of 10 Overall score 10 of 10

74 comments, Showing 1 to 25 comments
 -  Next ->

1 tool hits, Showing 1 to 1 tools
 - 
Explanation:
NEW SOFTWARE= New tool since your last visit
NEW VERSION= New version since your last visit
NEW COMMENT= New comment since your last visit

Type and download
NO MORE UPDATES? = The software hasn't been updated in over 2 years.
NO LONGER DEVELOPED = The software hasn't been updated in over 3 years.
RECENTLY UPDATED = The software has been updated the last 31 days.
Freeware = Free software.
Free software = Free software and also open source code.
Freeware/Adware = Free software but supported by advertising, usually with a included browser toolbar. It may be disabled when installing or after installation.
Free software/Adware = Free software and open source code but supported by advertising, usually with a included browser toolbar. It may be disabled when installing or after installation.
Trialware = Also called shareware or demo. Trial version available for download and testing with usually a time limit or limited functions.
Payware = No demo or trial available.
v1.0.1 = Latest version available.
Download beta = It could be a BETA, RC(Release Candidate) and even a ALPHA version of the software.
Download (direct link) = A direct link to the software download.
Download (developer's site) = A link to the software developer site.
Download (mirror link) = A mirror link to the software download. It may not contain the latest versions.
Download old versions = Free downloads of previous versions of the program.
Download 64-bit version = If you have a 64bit operating system you can download this version.
Download portable version = No installation is required, just extract the files to a folder and run directly.
Windows = Windows version available.
Mac OS = Mac OS version available.
Linux = Linux version available.
Our hosted tools are virus and malware scanned with several antivirus programs using www.virustotal.com.

Rating
Rating from 0-10.

Browse software by sections
All In One Blu-ray Converters (10)
All In One DVD Converters (17)
All In One MKV to MP4/Blu-ray (11)
All In One Video Converters (31)
Animation (3D & 2D animation) (6)
Audio Editors (17)
Audio Encoders (62)
Audio Players (6)
Authoring (Blu-ray/AVCHD) (20)
Authoring (DivX) (5)
Authoring (DVD) (36)
Authoring (SVCD/VCD) (11)
Bitrate Calculators (7)
Blu-ray to AVI/MKV/MP4 (13)
Blu-ray to Blu-ray/AVCHD (9)
Burn (CD,DVD,Blu-ray) (22)
Camcorders/DV/HDV/AVCHD (32)
Capture (34)
CD/DVD recovery (4)
Codec Packs (7)
Codec/Video Identifiers (33)
Codecs (63)
Decrypters (Blu-ray Rippers) (7)
Decrypters (DVD Rippers) (14)
DigitalTV/DVB/HDTV (36)
DVD to AVI/DivX/XviD (19)
DVD to DVD (22)
DVD to MP4/MKV/H264 (19)
DVD to VCD/SVCD (5)
ISO/Image (15)
Linux video tools (96)
MacOS video tools (145)
Media (Blu-ray/DVD/CD) (9)
Media Center/HTPC/PS3/360 (40)
Other useful tools (100)
Photo Blu-ray/DVD/VCD (9)
Portable/Mobile/PSP/iPod (41)
Region free tools (5)
Screen capture/Screenshots (22)
Subtitle (52)
Video De/Multiplexers (51)
Video Editors (Advanced/NLE) (45)
Video Editors (Basic) (45)
Video Editors (H264/MP4/MKV/MTS) (17)
Video Editors (MPG/DVD) (20)
Video Editors (WMV/AVI) (15)
Video Encoders (AVI/WMV) (39)
Video Encoders (H264/H265/MP4/MKV) (42)
Video Encoders (MPG/DVD) (26)
Video Encoders / Converters (145)
Video Frameservers (7)
Video Players (27)
Video Repair/Fix (16)
Video Streaming (23)
Video Streaming Recording (48)
Virtualdub tools (10)
Search   Contact us   About   Advertise   Forum   RSS Feeds   Statistics   Tools   

Site layout: Default Classic Blue

Affiliates: codecs.com   VSO Software

©1999-2014 videohelp.com