MKVToolNix v61.0.0 released
2021-08-30 — mosu
Greetings, gentle fellow humans!
Oh wow, time is moving very strangely for me during this pandemic, sometimes slowing to a crawl, sometimes just going by very quickly. It’s been four weeks since the last release already; so let’s get the August one out just in time: v61.
This release is on the smaller side. Couple of improvements to the IETF BCP 47 language tag handling, couple other things. Nothing earth shattering, though.
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/RFC 5646 language tags: implemented support for officially registered IANA language tag extensions.
- mkvmerge: track selection: when using language tags for selecting which tracks to keep, mkvmerge will now use component-based language tag matching instead of comparing them verbatim. This means that only those components (language, region etc.) the user specified will be required to exist and be equal. For example, if a file contains three subtitle tracks with languages
es
(generic Spanish),es-MX
(Spanish as spoken in Mexico) andes-ES
(Spanish as spoken in Spain), the user can use--stracks es
to match all three tracks or be more specific with e.g.--stracks es-MX
which would only match one track. Similarly inverting the selection with e.g.--stracks !es
would get rid of all three tracks, not just the one for the generic Spanish. - MKVToolNix GUI: multiplexer: deriving track languages from file names: the GUI can now detect full BCP 47/RFC 5646 language tags in file names. Part of the implementation of #3173.
- MKVToolNix GUI: multiplexer: deriving track languages from file names: the default list of boundary characters now includes
-
. Part of the implementation of #3173. - MKVToolNix GUI: multiplexer: the GUI now defaults to the “lower” process priority setting for new installations in order to leave more room for other applications, especially interactive ones. Up to and including v59 the default was the “normal” process priority. v60 changed that to “lowest”, which turned out to be much slower on Windows for no real gain over “lower”. The setting will be auto-corrected by the GUI if the settings file were saved last with a version between v60.0.0.0 & v60.0.0.17 & “lowest” & it is still set to “lowest”.
- HEVC dumper development tool: the tool has been renamed to
xvc_dump
and extended to be able to dump AVC/H.264 bitstreams, too. It now also detects the type of bitstream framing (ISO 14496-15 vs. ITU-T H.264/H.265 Annex B).
Bug fixes
- all: IETF BCP 47/RFC 5646 language tags: fixed a corner case of wrongfully allowing scripts/variants not listed in any of the entries in the prefix list when the prefix list contains prefixes restricting scripts/variants and a prefix solely with the language at the same time (example: the variant
ekavsk
with its prefixessr
,sr-Cyrl
andsr-Latn
where e.g.sr-ekavsk
andsr-Cyrl-ekavsk
should be allowed but notsr-Bali-ekavsk
). - mkvmerge: HEVC/H.265: the frame type of B frames was often wrongfully signalled as P frames instead, both with
BlockGroup
(missing second references) andSimpleBlock
(“discardable” flag not set) elements. - mkvmerge: SSA/ASS packetizer: the frame numbers will now be re-calculated when appending SSA/ASS tracks so that frame numbers of appended tracks are always strictly higher than frame numbers of the track they’re appended to.
- mkvmerge, MKVToolNix GUI’s chapter editor: BCP 47/RFC 5646 language tags: when BCP 47 language tags are used with a language code that isn’t part of ISO 639-2, the programs will now write a legacy language element set to
und
(“undetermined”) instead of not writing such an element at all or writing one with an invalid code. Fixes #3174. - mkvmerge, MKVToolNix GUI’s chapter editor: BCP 47/RFC 5646 language tags: the programs will ensure that the legacy and IETF language elements written will be unique within the scope of the same “chapter display” element.
- mkvinfo, MKVToolNix GUI’s info tool: in summary mode the frame type was reported wrong for
BlockGroup
elements in which theReferenceBlock
elements were located behind theBlock
element.
Build system changes
- all:
std::codecvt_utf8
is now used instead of Boost’sutf8_codecvt_facet
. The bundled copy the latter inlib/boost
has therefore been removed.
Have fun 😁