Monthly Archives: May 2015

MKVToolNix v7.9.0 released

Hey,

I’ve released MKVToolNix v7.9.0.

First of all a note to all Windows users: I’ve renamed the downloads slightly. They’re now named e.g. mkvtoolnix-32bit-7.9.0-setup.exe etc. The difference is that 64bit builds use …-64bit-… instead of …-amd64-… and that the 32bit builds include their architecture (-32bit-) in their name for the first time. This was done in order to reduce the confusion sown by the term »amd64« which denotes the processor architecture but not the manufacturer. Many people weren’t aware of that differentiation.

As for the changes in this release: A couple of important bugs have been fixed, e.g. a very old bug in handling MPEG-1/2 video preventing the detection of such tracks; if --sync was used at the same time as --default-duration then --sync was ignored; mkvinfo’s exit codes were wrong (this may trip up frontends using mkvinfo!); handling of E-AC3 in MPEG transport stream in certain situations etc. See below for all the details.

Since the previous release a serious amount of work has gone into the new GUI, MKVToolNix GUI. It has reached a state in which I consider it fit for wider use. I’ve therefore removed the preview warning and included it in all the packages that I provide (both Windows and Linux).

If everything goes according to plan then the next release, 8.0.0, will see the old GUI (mmg, mkvmerge GUI) be marked as being deprecated – meaning there will be a popup message warning you about this fact when you start mmg. Two releases later, with 8.2.0, the old GUI will finally be removed among with all support for the wxWidgets toolkit.

Of course all of this depends on the number and seriousness of bugs found in the new GUI ;) Therefore these plans are not set in stone.

Changes for package maintainers: configure will now detect the presence of the Qt libraries version 5.2.0 or later by default and use them if they’re found. This means that at the moment both GUIs (mmg and MKVToolNix GUI) will be built unless you tell configure otherwise. There are several switches that deal with the various toolkits:

  1. --disable-gui – don’t build any GUI support, neither wxWidgets nor Qt based (same as for the previous releases)
  2. --disable-wxwidgets – don’t build wxWidgets-based GUIs (mkvinfo’s wxWidgets frontend, mmg)
  3. --disable-qt – don’t build Qt-based GUIs (mkvinfo’s Qt frontend, MKVToolNix GUI)
  4. --without-mkvtoolnix-gui – build mkvinfo’s Qt-based frontend but not MKVToolNix GUI

The two different frontends for mkvinfo are mutually exclusive with the Qt-based version taking precedence over the wxWidgets-based version.

You can download the source code or one of the binaries.

Here’s the full ChangeLog since the previous release:

  • 2015-05-10 Moritz Bunkus <moritz@bunkus.org>
    • Released v7.9.0.
    • build system: configure will now check for Qt by default. If at least v5.2.0 is found then the Qt versions of mkvinfo’s GUI and the new mkvtoolnix-gui will be enabled. You can affect this detection with the options --disable-gui (turns off all GUIs; works the same as before), --disable-qt (will compile the wxWidgets GUI for mkvinfo and mmg) and --without-mkvtoolnix-gui (will compile the Qt version of mkvinfo’s GUI but no mkvtoolnix-gui).
  • 2015-05-07 Moritz Bunkus <moritz@bunkus.org>
    • mkvinfo: bug fix: mkvinfo would exit with the wrong return code (0 instead of 2) if a non-existing file name had been given. Fixes #1182.
  • 2015-05-05 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: Two more characters are now escaped in the container and track properties output in verbose identification mode: [ is replaced with \b and ] with \B. This is needed for reliable parsing by other programs, e.g. GUIs.
  • 2015-05-04 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: new feature: added context menu entries for tracks: »select all«, »enable all« and »disable all«.
  • 2015-05-02 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: new feature: implemented aborting the currently running job.
  • 2015-04-28 Moritz Bunkus <moritz@bunkus.org>
    • all: fix compilation on Mac OS in common/command_line.cpp due to boost::range::filtered requiring a copyable functor. Fixes #1175.
    • all: fix compilation on Mac OS in common/version.cpp due to wrong usage of std::stringstream and ostream operators. Fixes #1176.
  • 2015-04-27 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: new feature: implemented the »additional command line options« dialog.
  • 2015-04-25 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: new feature in the chapter editor: added features »set the language/country of the selected chapter and its sub-chapters«.
  • 2015-04-24 Moritz Bunkus <moritz@bunkus.org>
    • all: bug fix: fixed compilation with Boost 1.58.0. Fixes #1172.
    • mkvmerge: bug fix: Fixed a segmentation fault during cleanup after Ctrl+C was pressed. Fixes #1173.
  • 2015-04-23 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: new feature in the chapter editor: added features »clamping time stamps of sub-chapters to their parent’s time stamps«, »expanding time stamps of chapters to encompass their sub-chapters’ time stamps« and »shifting start and end time stamps by an offset«.
  • 2015-04-22 Moritz Bunkus <moritz@bunkus.org>
    • all: permanently removed the build times tamp from the version information and the corresponding configure option.
  • 2015-04-18 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: new feature: the main window’s size, position and state (maximized/minimized) is saved on exit and restored on startup.
    • MKVToolNix GUI: new feature: the GUI is now fully translatable. The German translation has been completed for the GUI, too.
  • 2015-04-17 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: fixed --sync not doing anything if --default-duration is used for the same track, too.
  • 2015-04-16 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: fixed aborting file identification with an error message about »aac_error_protection_specific_config« that happened for some files. Fixes #1166.
  • 2015-04-15 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: new feature: implemented changing the interface language.
  • 2015-04-13 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: enhancement: implemented often used subtitle character sets.
    • MKVToolNix GUI: enhancement: implemented setting a user configurable subtitle character set by default.
    • MKVToolNix GUI: enhancement: implemented the automatic removal of jobs configurable by the user.
    • mkvmerge: bug fix: fixed specifying track properties like language or name for AC3 cores embedded in TrueHD tracks when they’re read from raw thd+ac3 files. Fixes #1158.
    • mkvmerge: enhancement for MPEG program stream handling: mkvmerge will only look for additional files automatically if the source file begins with »VTS_…« and just if it ends in a number. E.g. when reading »video_1.mpg« another file called »video_2.mpg« will no longer be read automatically. Implements #1164.
  • 2015-04-12 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: enhancement: display country names in addition to country codes.
    • MKVToolNix GUI: enhancement: implemented often used languages and country codes.
    • MKVToolNix GUI: chapter editor enhancement: implemented defaults for the language and country settings for newly created chapter names.
    • MKVToolNix GUI: merge tool enhancement: added controls for mkvmerge’s »reduce audio to its core« and »force NALU size length« features.
    • MKVToolNix GUI: new feature: implemented the »Preferences« dialog (not all of the functionality the options refer to has been implemented yet, though).
  • 2015-04-11 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: MPEG-1/2 parser: fixed a long-standing issue that prevented mkvmerge from recognizing certain MPEG-1/2 video tracks and files if the frame’s sequence numbers didn’t follow a certain expected pattern. Fixes #1162 and probably others like #1145 or #1099.
    • MKVToolNix GUI: merge tool enhancement: Implemented adding and append files and adding files as additional parts via drag & drop from external applications.
    • MKVToolNix GUI: merge tool bug fix: fixed the column headers on the »attachments« tab.
  • 2015-04-10 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: chapter editor enhancement: implemented opening files via drag & drop from external applications.
    • MKVToolNix GUI: enhancement: The portable Windows version will store its settings in a file in the same folder instead of the registry.
    • MKVToolNix GUI: enhancement: Qt’s »Windows Vista« style is now used on Windows instead of the old, Windows 98-like »Windows« style.
    • MKVToolNix GUI: merge tool enhancement: The merge tool has been re-written to be tabbed like the header and chapter editors allowing for multiple merge job settings to be open at the same time.
  • 2015-04-08 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: chapter editor enhancement: implemented re-ordering chapters and editions with drag & drop.
  • 2015-04-06 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: new feature: implemented the chapter editor.
  • 2015-04-04 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: merge tool enhancement: implemented adding attachments via drag & drop from external applications.
    • MKVToolNix GUI: new feature: implemented the header editor.
  • 2015-04-03 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: enhancement: Implemented proper type output during identification for DTS-ES (extended surround) tracks. Implements #1157.
  • 2015-03-31 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: new feature: implemented the online update check.
  • 2015-03-29 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: The calculation of the width and height of h.265/HEVC video tracks did not take the conformance window (cropping) into account. Fixes #1152.
    • mkvmerge: bug fix: Fixed the value of the DocTypeVersion header field if any of the Matroska elements CodecDelay, DiscardPadding or SeekPreRoll is used. This is the case for Opus tracks.
    • mkvmerge: bug fix: Fixed the handling of E-AC3 tracks in M2TS files if the AC3 core and the extension are stored in separate packets.
    • mkvmerge: new feature: Implemented support for the DTS-HD container format.
  • 2015-03-28 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: new feature: Implemented support for core-less DTS streams consisting solely of XLL extension sub-streams.
    • mkvmerge: new feature: track selection can be done by language codes as well. Affects the options --audio-tracks, --button-tracks, --subtitle-tracks and --video-tracks. Works only for containers that actually provide a language tag. Implements #1108.
    • source code: bug fix: Accidental uses of the »long double« type have been converted to normal »double«s. This fixes compilation on platforms which don’t support the »long double« type in combination with Boost::Math. Fixes #1150.

Have fun.