Description:
This update for mkvtoolnix fixes the following issues:
mkvtoolnix was updated to version 59.0.0 (fixes boo#1188209)
New features and enhancements:
* mkvmerge: WebVTT parser: the parser now follows the specs'
rules for parsing timestamps more closely by being more
lenient: it allows arbitrary number of spaces & tabs at the
start of the line & around the arrow; it allows any number
of digits for the hours.
* MKVToolNix GUI: multiplexer: when adding a Blu-ray playlist
without scanning for other playlists the GUI will now look
for disc library information & let the user select which one
to use if there's more than one entry.
* MKVToolNix GUI: multiplexer: added an option for sorting
files & tracks by track types when adding them to multiplex
settings. The order is: video first followed by audio,
subtitles and other types. Files & tracks can still be
reordered manually later. The option is enabled by default &
can be found in the preferences → "Multiplexer" page →
"Adding files" section.
* MKVToolNix GUI: multiplexer: added an option for recognizing
file name sequences such as `movie.001.mp4`, `movie.002.mp4`,
`movie.003.mp4` when adding multiple files at once. If a
sequence is detected, the only first file will be added while
the second and following file names will be appended to the
first one. The option is enabled by default & can be found
in the preferences → "Multiplexer" page → "Adding files"
section.
* MKVToolNix GUI: multiplexer: added small colored boxes for
each file & track in order to indicate from which file each
track is read. The colors used can be configured in the
preferences → "Multiplexer" page → "File & track colors"
section.
Bug fixes:
* build system: fixed compilation with fmt v8. Fixes #3151.
* mkvmerge: SRT subtitle reader: characters that aren't valid
according to the assumed encoding of the file will now be
replaced by the Unicode "Replacement Character" U+FFFD
instead of keeping the invalid characters, potentially
violating the Matroska specs.
* mkvmerge: WebVTT parser: the parser now accepts timestamps
with hours larger than 99.
* mkvextract: TTA extraction, only on Windows: fixed removing
the temporary file created during extraction.
* mkvmerge, mkvpropedit, MKVToolNix GUI's multiplexer & header
editor: MIME type detection is now done using Qt instead of
the `magic` library. The main impact is the MIME types of
TrueType & OpenType fonts are now detected correctly.
* MKVToolNix GUI: multiplexer: when adding files to the
multiplexer by running the GUI's executable with file names
as command line arguments, the source directory will be
remembered as the "last open directory" again, causing
subsequent uses of the "open file" dialog to start in the
same directory.
* MKVToolNix GUI: multiplexer: the "default track flag" column
in the track list was missing its icons. Additionally it
contained text even for things that aren't regular tracks
and therefore do not actually have that flag (e.g. chapters
or tags).
* MKVToolNix GUI: multiplexer: the default for the dialog
asking the user what to do with dragged & dropped files if
they've never seen the dialog is back to adding the files to
the current multiplex settings instead of "add as additional
parts" which was an unintentional default.
* MKVToolNix GUI: multiplexer: the "show command line" dialog
will now always use backward slashes for the "Windows
(cmd.exe)" mode and forward slashes for the "Linux/Unix
shells" mode, regardless of the operating system it's
currently running on.
Build system changes:
* The Qt library is now required for building all
applications, even the command-line ones, as they use Qt's
MIME type detection capabilities. In turn this means that
you cannot disable the Qt usage anymore; either Qt5 or Qt 6
is required. You can still chose not to build MKVToolNix
GUI, though. A new option has been added to `configure`
for this purpose: `--disable-gui`.
* The `gmp` library is now required.
* The `magic` library is not used anymore.
* The `PCRE2` & `JPCRE2` libraries are not used anymore. The
bundled version of `JPCRE2` was removed.
* Boost's "rational" library is not used anymore.
* `configure`: the option `--enable-appimage` has been
removed. The location of the relevant directories within an
AppImage is now detected automatically.
* The bundled `fmt` library was updated to v8.0.0.
- Use system version of utfcpp
- Update to version 58.0.0
New features and enhancements:
* mkvmerge, MKVToolNix GUI's multiplexer: the handling of the
"default track" flag has been changed to match the recent
changes to the Matroska specifications. The new semantics
are that if it is set, it is supposed to signal to the
player that this track is eligible for being played by
default, potentially taking other factors such as user
preferences regarding languages into account.
This implies that more than one track of each type can have
this flag set. For example, a Blu-ray disc with three audio
tracks might have the main audio in both English and
Japanese, whereas the third audio track contains the
director's comments. In such a case the first two tracks
should have the "default track" flag set, the third one
shouldn't.
Earlier `mkvmerge` was enforcing that only one track of each
type could have the flag set. This restriction has been
removed, both in `mkvmerge` and in the GUI's multiplexer.
`mkvpropedit` and the GUI's header editor are unaffected as
they've always allowed to set the flag on as many tracks as
the user wanted.
* mkvmerge: AVC/H.264 & HEVC/H.265 identification: added the
stream's pixel dimensions (AVC only; were present for HEVC
already) & default duration.
* mkvmerge, mkvextract: HEVC/H.265: added support for reading
single-layer Dolby Vision from Annex B type bitstreams
(elementary streams, MPEG transport streams).
* mkvinfo: the option `-X`/`--full-hexdump` now affects all
binary elements, not just the frame data in `SimpleBlock`
and `BlockGroup` elements.
* MKVToolNix GUI: multiplexer: the "delay" and "sync" options
can now be used for chapters in source files, too.
* MKVToolNix GUI: when moving list entries up & down with the
optional buttons or the keyboard shortcuts (instead of using
drag & drop), the GUI ensures that the top-most selected
entry remains visible after the move.
* MKVToolNix GUI: added an option in the preference to use
legacy MIME types for font attachments instead of the current
standard ones (e.g. 'application/x-truetype-font' instead of
'font/sfnt' and 'font/ttf').
Bug fixes:
* build system: fixed filtering out optimization options when
compiling the file `iso639_language_list.cpp` (before only
numeric optimization levels were filtered out and only if it
wasn't the last option in the list of flags).
* build system: when libmagic was detected via `pkg-config`,
MKVToolNix was actually compiled without support for
libmagic due to a preprocessor symbol not being defined.
* mkvmerge: MP4 reader: fixed an issue with timestamps
overflowing when the file's or the track's time scale is
large.
* mkvmerge, mkvextract: fixed key frame handling for
`BlockGroup` elements with a forward reference but no
backward references.
* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: the
programs will no longer omit writing mandatory elements set
to their default value if other elements of the same type
are present in the same master. This affects mostly the
"chapter language" element which may occur multiple times
within the same "chapter display" master. If it does occur
multiple times and one of them is set to "English" (which is
that element's default value), that element will now be
written, too.
* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: when
parsing chapter files IETF & legacy language elements as
well as legacy country elements will now be properly
generated depending on which exist already, especially when
there's more than one language and/or country element
in a "chapter display" element.
* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor:
fixed reading OGM-style chapter files with timestamps that
don't have exactly three decimal places. Any number of
decimal places between one and nine is now supported for
nanosecond precision.
* MKVToolNix GUI: chapter editor: added/fixed support for
"chapter display" elements with multiple languages or
countries.
Build system changes:
* Qt 6: added support for building with Qt 6. `configure` will
look for Qt 6 first and only continue looking for Qt 5 if Qt
6 isn't found or disabled via `--disable-qt6`.
Qt 6 detection works by first looking for the `qmake6`
binary. Its location can be specified with the
`--with-qmake6=…` option.
All other Qt 6 related facts (such as compiler & linker
flags or the position of the other required tools such as
`lconvert`, `moc`, `rcc` and `uic`) will be derived from
the output generated by `qmake6`.
Note that at this point Qt 6 is not yet supported for the
cross-compilation build to Windows, nor is a static Qt 6
build supported yet. Note that the command line options
`--enable-static-qt`, `--with-qt-pkg-config-modules` and
`--without-qt-pkg-config` only apply to the Qt 5 and have
no effect on Qt 6.
* Qt 5: the options for specifying the position of the tools
(`--with-moc=…`,`--with-rcc=…` and `--with-uic=…`) have been
removed. Their position will now be derived from the output
generated by `qmake`.
* `configure`: completely disabling the GUI now requires
passing both `--disable-qt6` and `--disable-qt` options.
* Boost's multi-precision library is now required.
* Boost v1.66 or newer is now required.
- Up date to version 57.0.0
New features and enhancements:
* mkvmerge: MP4 reader: added support for reading Dolby Vision
from MP4 files (FourCCs `dvh1` and `dvhe`; configuration
records `dvcC`, `dvvC` and `hvcE` will be converted into
block addition mappings).
* mkvmerge: SRT subtitles: mkvmerge now accepts empty text
files with the extension `.srt` as SRT subtitle files,
enabling the creation of empty SRT tracks.
* mkvmerge, mkvextract: HEVC/H.265: access unit delimiter
NALUs will no longer be discarded, neither during muxing nor
during extraction.
* MKVToolNix GUI: preferences: switched the order & wording of
controls in the "enabling items" panel to make it clearer
that certain controls define exceptions.
Bug fixes:
* mkvmerge: HEVC/H.265 parser: several NALU types, notably the
Dolby Vision-specific NALUs ("unspecified 62" and
"unspecified 63") and suffix SEI NALUs, are now stored with
the frame they belong to instead of with the next frame.
* mkvmerge: HEVC/H.265 packetizer: fixed setting the track's
default duration when reading HEVC/H.265 from Matroska files
that don't have a default duration set.
* mkvmerge: HEVC/H.265 packetizer: fixed the calculation of
the duration of frames so that `SimpleBlock` elements can be
used again instead of `BlockGroups` with `BlockDuration`
elements.
* mkvmerge, mkvextract: HEVC/H.265 parser: fixed issues with
ordering & duplication of certain NALUs (parameter set &
prefix SEI NALUs).
* MKVToolNix GUI: multiplexer: when dragging & dropping files
to the multiplexer, the source directory will be remembered
as the "last open directory" again, causing subsequent uses
of the "open file" dialog to start in the same directory.
* mkvinfo: fixed the position of frames in block groups
containing "block duration" elements in summary mode (e.g.
for subtitle tracks).
Build system changes:
* `configure` will now try to detect `libmagic` via
`pkg-config` and fall back to including & linking directly if
it cannot be found via `pkg-config`.