MKVToolNix v62.0.0 released

Hey y’all,

not a lot’s been happening over the last couple of weeks wrt. to coding for me, but I thought I’d publish the bug fixes I’ve amassed since the last release. So here you go, a fresh v62.

For package maintainers there was a small change. See the NEWS below.

You can download the source code or one of the binaries. The Windows and macOS binaries as well as the Linux AppImage are available already. The other Linux binaries are still being built and will be available over the course of the next couple of hours.

Here are the NEWS since the previous release:

New features and enhancements

  • all: IETF BCP 47/TFC 5646 language tags: all ISO 639 languages are now available, even the ones that aren’t of types “Constructed”, “Living” or “Special”.
  • mkvmerge, mkvpropedit: chapters: both programs will now write elements set to their default value, too (e.g. the legacy language element if it’s set to eng). This is done to be more consistent with how MKVToolNix GUI writes chapters. Implements #3210.
  • MKVToolNix GUI: multiplexer: when adding new files as attachments the GUI checks if there are other attachments with the same name. If so, the GUI would ask whether to skip the affected files or add them anyway. There’s now an option in the preferences to always skip such files, and it’s enabled by default. Implements #3213.
  • MKVToolNix GUI: chapter editor: removed the support for explicitly setting the legacy country elements. Instead the legacy country elements are derived from the region parts of the IETF BCP 47 languages. Part of the implementation of #3193.

Bug fixes

  • mkvmerge: fixed a crash when splitting by chapters is enabled but there are no chapters at all. Part of the fix of #3198.
  • mkvmerge: the error message when trying to split by a chapter number that doesn’t exist contained the wrong number of chapters that actually do exist. Part of the fix of #3198.
  • mkvmerge: AVC ES parser: fixed mkvmerge aborting due to uncaught exception when encountering bad SPS data. Part of the fix of #3176.
  • mkvmerge: AVC/H.264 parser: re-added the hack --engage all_i_slices_are_key_frames which was accidentally removed in release v61.
  • mkvmerge: AVI reader: fixed a crash trying to allocate too big of a memory chunk due to an integer overflows in check conditions. Part of the fix of #3176.
  • mkvmerge: HEVC ES parser: fixed another issue with frame type recognition. Certain frames were marked as B frames/discardable on the container level even though they could be reference pictures. Now only SLNR pictures (sub-layer non-reference) are marked that way. Fixes #3192.
  • mkvmerge: HEVC ES reader: improved file content detection for HEVC ES files with wrong file name extensions (e.g. .mkv), which fixes them being mis-detected as something else, e.g. DTS. Fixes #3201.
  • mkvmerge: HEVC ES parser: “end of sequence” NALUs are kept now, and no superfluous flushing will be done when one is found. This prevents splitting NALUs into two different Matroska blocks when they should really be part of a single one, also causing problems with erroneous timestamps. Mostly affects DoVi NALUs. Fixes #3202.
  • mkvmerge: Matroska reader, TrueHD: mkvmerge will now probe much more TrueHD frames trying to find the first sync frame. This fixes track detection in situations when a TrueHD doesn’t start with a sync frame, e.g. when the source file’s the result of splitting between sync frames.
  • mkvmerge, MKVToolNix GUI’s chapter editor: IETF BCP 47/RFC 5646 language tags: when reading chapters from MPLS playlist files, the ChapLanguageIETF element will now be set to the configured default chapter language, not just the legacy ChapterLanguage element. Part of the fix of #3193.
  • mkvmerge, mkvpropedit, MKVToolNix GUI’s chapter editor: IETF BCP 47 elements will now always be created before writing chapters unless IETF BCP 47 elements are disabled. Part of the fix of #3193.
  • mkvmerge, mkvpropedit, MKVToolNix GUI’s chapter editor: when a chapter display element contains legacy language & country elements but no IETF BCP 47 elements and IETF BCP 47 elements aren’t disabled, the IETF BCP 47 elements created will contain the region from the legacy element. Part of the fix of #3193.
  • mkvmerge, mkvpropedit, MKVToolNix GUI’s chapter editor: Legacy country elements are now created when IETF BCP 47 elements are present & contain a region code allowed in legacy country elements. Part of the fix of #3193.

Build system changes

  • The tools sub-directory is now always built. The corresponding configure option --with-tools has been removed. The install target still doesn’t install them, though.

Have fun ☺

2 thoughts on “MKVToolNix v62.0.0 released

  1. Peter

    Hi, what’s the new binary uploaded on the 16th day? I already updated to the “62.0.0-0~bunkus01” version on the 10th day and the new offered binary is “62.0.0-0~ubuntu2004bunkus01” version. The checksums are different so something has changed.

    I’m on Mint 20.2 (ubuntu fossa 20.04).

    1. mosu Post author

      This is solely a change in the version number scheme. I’m trying to switch to a scheme that works well when users upgrade their distribution, e.g. from Ubuntu 21.04 to 21.10.

      The problem was that in the past both of my packages for 21.04 and 21.10 had exactly the same name, the same version number. Therefore upgrading Ubuntu didn’t actually upgrade my 21.04 MKVToolNix package to the one from 21.10, often causing the still-installed 21.04 MKVToolNix to fail to run due to missing libraries or incompatibilities.

      The new schemes includes the distro name & version number in my package version number. 62.0.0-0~ubuntu2004bunkus01 compares lower than e.g. 62.0.0-0~ubuntu2204bunkus01.

      That’s the only difference in the package vs. the one you’ve currently installed: the version number, which is part of the “changelog” file.

Comments are closed.