SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for mkvtoolnix-87.0-326.1.x86_64.rpm :

* Sat Sep 07 2024 Luigi Baldoni - Update to version 87.0 New features and enhancements:
* mkvmerge: chapters: added support for specifying MPLS files with `--chapters`, too, not just as regular source files. The documentation stated this was possible already, but that wasn\'t actually the case.
* MKVToolNix GUI: multiplexer: added a progress dialog that is shown during file identification.
* MKVToolNix GUI: jobs: the status bar now differentiates between numbers of warnings/errors that occurred in the current session and those that occurred before the current session. Bug fixes:
* mkvmerge: AAC parser: LOAS/LATM streams: if the first `AudioSpecificConfig` element is not found within the first LOAS/LATM frame, `mkvmerge` will no longer discard the frames before it but defer parsing them until after it has found the `AudioSpecificConfig` element.
* MKVToolNix GUI: job queue: fixed the GUI crashing when re-ordering the jobs in the job queue. Build system changes:
* The bundled `fmt` library was updated to v10.2.1.
* Sat Jul 13 2024 Luigi Baldoni - Update to version 86.0 New features and enhancements:
* mkvmerge: Matroska reader: track statistics tags are included in the JSON identification output just like other tags had already been included: as part of the track properties, prefixed with `tag_`.
* mkvmerge: MPEG TS reader: mkvmerge will now detect teletext subtitle tracks even if they\'re not listed in the PMT as long as it can find teletext pages flagged as subtitles in the header within the probed ranged of the file.
* MKVToolNix GUI: multiplexer: the default mode for escaping the arguments in the \"Show command line\" dialog can now be set in the preferences.
* MKVToolNix GUI: multiplexer: the \"Show command line\" dialog now includes the command lines for all currently open multiplex settings, switchable with a combo box.
* MKVToolNix GUI: multiplexer: some users add the option `--regenerate-track-uids` to the \"additional options\", even though `--regenerate-track-uids` is a file-specific option, and you can only use global options in the \"additional options\". However, the GUI currently doesn\'t have an option for specifying additional file-specific options. The GUI now detects the use of this option in the \"additional options\" & adds it for each of the source files instead.
* MKVToolNix GUI: multiplexer: the option `--regenerate-track-uids` has been added to the \"additional command line options\" dialog.
* translations: added a Norwegian Bokmål translation of the man pages. Bug fixes:
* mkvmerge: when using timestamp files for subtitle tracks, mkvmerge will no longer set a default duration for the track.
* mkvmerge: when using timestamp files for subtitle tracks, mkvmerge will no longer queue frames longer than necessary, which resulted in the frames sometimes being written much later than they should have been according to their timestamps.
* mkvmerge: when using timestamp files for subtitle tracks, mkvmerge will now write the packets\' duration properly.
* MKVToolNix GUI: job queue: the shortcut from the \"Job queue\" menu are now enabled correctly whenever the number of jobs in the queue changes (e.g. by adding new jobs).
* Sun Jun 02 2024 Luigi Baldoni - Update to version 85.0 Bug fixes:
* fixed compilation of `src/common/sorting.h` with certain compilers due to the deprecation & removal of `std::result_of<>` in C++20.
* fixed compilation with the `gtest` library when `gtest` requires additional libraries by querying `pkg-config` for the correct flags & libraries to build with.
* MKVToolNix GUI: multiplexer: restored the keyboard shortcut for switching to the \"Attachments\" tab (Alt+C for the English interface).
* MKVToolNix GUI: multiplexer: fixed several cases when the keyboard shortcuts for copying the first source file\'s name/the destination file\'s name to the title (Ctrl+F & Ctrl+D) and the one for copying the title to the destination file name (Ctrl+T) were not enabled.
* Sun Apr 28 2024 Luigi Baldoni - Update to version 84.0 New features and enhancements:
* mkvmerge: added a new file-specific option `--regenerate-track-uids`. When used for Matroska files, `mkvmerge` will generate new random track UIDs instead of keeping existing track UIDs. This is done automatically when a Matroska file was created by MakeMKV.
* mkvmerge: MP4 reader: added support for FLAC in MP4.
* MKVToolNix GUI: multiplexer: the \"Attachments\" tab\'s title will now include the total number of attachments (both from source files & to newly attach).
* translations: added a Norwegian Bokmål translation of the programs by Roger Knutsen (see `AUTHORS`). Bug fixes:
* configure: when called with `--disable-gui` the build system still ran the check for the GUI libraries & failed if they weren\'t found. This check is now skipped when the option is given.
* mkvmerge: several color-related track header properties were parsed into & stored as a wrong integer type internally. This could result in wrong values being copied when very large values were present in source files, or in error messages when very large values were used as command-line parameters.
* MKVToolNix GUI: multiplexer: the keyboard shortcuts from the \"modify selected tracks\" sub-menu didn\'t work right after opening a file. They only started working after opening the \"multiplexer\" menu. Build system changes:
* Release v8.0.0 of the `fmt` library is now required. If not found, the bundled copy will be used.
* A C++20 compatible compiler is now required for several but certainly not all C++20 features. g++ v10 & clang++ v10 should suffice.
* Sun Mar 10 2024 Luigi Baldoni - Update to version 83.0 New features and enhancements:
* translations: added a Belarusian translation of the programs & the man pages by prydespar (see `AUTHORS`).
* mkvmerge, MKVToolNix GUI\'s chapter editor: added support for reading chapters from ffmpeg metadata files.
* MKVToolNix GUI: added a new action type for execution after jobs or the queue finishes: quitting MKVToolNix. Build system changes:
* The bundled `fmt` library was updated to v10.2.1. Other changes:
* Tons of changes were made to support the latest development versions of libEBML & libMatroska.
* Wed Jan 03 2024 Luigi Baldoni - Update to version 82.0 New features and enhancements:
* mkvmerge: Matroska reader: the \"video alpha mode\" track header property will be copied to the output file if present.
* mkvmerge: Matroska reader: the \"video alpha mode\" track header property will be reported in JSON identification mode as the track property `alpha_mode`.
* mkvmerge: Matroska reader: the file\'s timestamp scaling factor will be reported in JSON identification mode as the container property `timestamp_scale`.
* mkvmerge: MPEG transport stream reader: teletext subtitles intended for hearing impaired people (type 0x05) are now marked as such via the appropriate flag in the track headers.
* mkvmerge: file identification: the JSON identification output schema version has been bumped to 19.
* mkvmerge: added a new hack `always_write_block_add_ids` that can be used as a workaround for players that don\'t support the handling of missing \"Block Addition ID\" sub-elements of \"Block More\" elements in block additions properly. These are used for e.g. alpha channel data in VP9 with a \"Block Addition ID\" value of 1, which is also its default value.
* mkvinfo: added support for the \"video alpha mode\" track header element.
* mkvpropedit, MKVToolNix GUI\'s header editor: added support for the \"video alpha mode\" track header property. In `mkvpropedit` it\'s called `alpha-mode`.
* MKVToolNix GUI: multiplexer: when adding files the GUI can automatically enable the \"hearing impaired\" flag for audio and subtitle tracks if the file name contains the word \"cc\" or \"sdh\" delimited by certain characters (configurable). This feature is turned on by default.
* MKVToolNix GUI: multiplexer: when scanning for Blu-ray playlists the GUI will now ignore playlists that are likely meant for menus. Currently the GUI considers this to be the case when a playlist contains the same item at least five times. This behavior can be turned off in the preferences. Bug fixes:
* mkvmerge: MPEG transport stream reader: fixed a crash introduced in v81 that occurred when there was at least one PCM track that wasn\'t copied from the transport stream file.
* mkvmerge: when reading data from Matroska files damaged in a specific way, mkvmerge ended up trying to write various types of elements that aren\'t allowed to be written (so-called `EbmlDummy` elements as well as elements that don\'t have a value set) to the output file, which caused the underlying `libebml` library to abort. These types of broken elements are now filtered out. Build system changes:
* Qt 5 is no longer supported. Qt 6 is now required for building MKVToolNix. This implies that the options to `configure` revolving around configuring Qt 5 or choosing between the two have been removed (e.g. `--disable-qt6`).
* Qt 6 detection: if detection fails, error messages from `qmake` can now be found in `config.log`.
* Qt 6 detection: `configure` will only consider Qt 6.2.0 or newer, not 6.0.x or 6.1.y anymore, due to the lack of support for the multimedia module.
* Qt 6 detection: `configure` will now fail to detect Qt 6 if the \'multimedia\' module is not found by `qmake` (e.g. due to development packages not being installed).
* The bundled `fmt` library was updated to v10.1.1.
* Sat Dec 02 2023 Luigi Baldoni - Update to version 81.0 New features and enhancements:
* mkvmerge: MPEG transport stream reader: HEVC/H.265: added support for reading single-layer Dolby Vision from Annex B type bitstream read from MPEG transport streams.
* mkvmerge: MPEG transport stream reader, HEVC/H.265 elementary stream reader: added support for reading dual-layer Dolby Vision with both the base & enhancement layers in the same track from Annex B type bitstreams in MPEG transport files & elementary stream files.
* mkvmerge: MPEG transport stream reader: HEVC/H.265: implemented combining dual-layer Dolby Vision with base & enhancement layers in different tracks.
* MKVToolNix GUI: multiplexer: added a new option in the preferences for always enabling \'forced\' subtitle tracks. A subtitle track is considered to be \'forced\' if: the corresponding property is set in the source file; the track\'s name contains the word \'forced\' (in English); deriving the \'forced display\' flag from file names is active & the file name matches the corresponding pattern. The option is disabled by default.
* MKVToolNix GUI: multiplexer: the functionality for detecting file name sequences when adding files can now recognize the patterns used by GoPro\'s cameras for chaptered video files.
* xyzvc_dump: the end position of the current NALU will be output in non-portable format as well.
* xyzvc_dump: HEVC: the tool will now also output the inner NALU type of Dolby Vision NALUs (`unspec62` and `unspec63`). Bug fixes:
* mkvmerge: when the user requests processing be stopped after the video ends `mkvmerge` will now take appending files into account properly. It won\'t stop processing unconditionally after the first file ends anymore.
* mkvmerge: AV1 handling in readers: the readers will now provide the pixel dimensions to the AV1 packetizer as early as possible, just like for other video packetizers. That way the pixel dimensions are available for calculating the display dimensions when command-line options such as `--aspect-ratio` & `--aspect-ratio-factor` are used. Before the change the calculation was done based on initial pixel dimension values of 0x0, resulting in display dimensions of 0x0, too.
* mkvmerge: HEVC/H.265 packetizer: when reading & appending HEVC/H.265 from Matroska, MP4/MOV or FLV files the first frame of all the appended files was sometimes dropped, resulting in broken video at the point where video is appended.
* mkvmerge: MPEG transport stream reader: when reading MPEG transport streams from Blu-rays the four-byte long `TP_extra_header` structure in front of the transport packets are now skipped properly. Before the fix a stray byte with value of `0x47` inside that `TP_extra_header` structure could have thrown off the detection of where the transport packets start, leading to mkvmerge dropping a few audio and/or video frames at the start of the file.
* mkvextract: AAC extractor: when an invalid program config element in the GA-specific config element is encountered, the program config element will be disregarded, which avoids mkvextract aborting with an exception.
* xyzvc_dump: fixed the tool aborting with an exception when the last NALU in an Annex B type file was shorter than four bytes. Other changes:
* AVC & HEVC dumper development tool: the tool has been renamed from `xvc_dump` to `xyzvc_dump` as `xvc` is an abbreviation for an existing video codec (Extreme Video Coding), and the tool has nothing to do with that codec.
* Mon Oct 30 2023 Luigi Baldoni - Update to version 80.0 New features and enhancements:
* MKVToolNix GUI: if the system\'s locale uses one of the Han scripts, the GUI will force Arabic numerals to be used in spin boxes. This prevents Suzhou numerals from being used. Bug fixes:
* build system: fixed detection of Qt6 if `clang` is used for compilation on Linux. In that case Qt\'s `qmake` added a `gcc`-specific option that `clang` doesn\'t understand, `-mno-direct-extern-access`. `configure` will now pass the parameter `-spec linux-clang` to `qmake` so that it uses the correct compiler flags.
* build system: fixed the use of `mktemp` to be more portable.
* mkvmerge: if a video aspect ratio was given with `--aspect-ratio-factor`, the code would apply a second factor based on the pixel resolution, resulting in much too large values for the `DisplayWidth` element. For example, with a pixel resolution of 720x520 & an aspect ratio factor of 1/1 the result should be 720x520, but instead it was 900x520. Up until release 76.0 this has only happened when a track order was given (which unfortunately includes all invocations with MKVToolNix GUI as it always includes the track order). Starting with release 77.0 this has always happened due to the automatic sorting of tracks implicitly creating a track order, even if none was given.
* Tue Aug 22 2023 Luigi Baldoni - Update to version 79.0 New features and enhancements:
* mkvmerge: AV1: added support for reading Dolby Vision from AV1 IVF & OBU streams. Patches by Quietvoid.
* mkvmerge: MPEG TS reader: added support for colors in teletext subtitles.
* MKVToolNix GUI: multiplexer: when adding files the GUI can automatically enable the \"forced display\" flag for subtitle tracks if the file name contains the word \"forced\" delimited by certain characters (configurable). This feature is turned on by default.
* MKVToolNix GUI: multiplexer: added the option `--stop-after-video-ends` to the dialog for additional command line options.
* MKVToolNix GUI: multiplexer: when adding Blu-ray playlists the dialog allowing the user to select the playlist to add will now show audio & video track properties as well (pixel dimensions for video; sampling frequency, channels for audio).
* MKVToolNix GUI: header editor: in order to reduce confusion with users non that versed in Matroska elements, the naming of the two \"language\" track properties has been changed: the old element is now titled \"Language (obsolete)\" & the current, IETF BCP 47 based one is simply called \"Language\".
* MKVToolNix GUI: preferences: you can now use the \"delete\" key to remove entries from simple list widgets for strings (e.g. the list of recently used destination directories). Bug fixes:
* mkvmerge: DTS reader: if a DTS stream doesn\'t start with a DTS core but a sub-stream element (EXSS), the reader will now look for a core. If found, it\'ll start processing from there instead of from the start. This fixes the timestamp calculation if the sampling frequency in the core & in the extensions are different.
* MKVToolNix GUI: multiplexer: the \"emphasis\" and \"stereoscopy\" combo-boxes now have a much smaller minimum width, allowing to make the whole \"properties\" pane much smaller again.
* Mon Jul 03 2023 Luigi Baldoni - Update to version 78.0 New features and enhancements:
* MKVToolNix GUI: header editor: for files that only contain legacy track language elements but no IETF language elements the header editor will now derive the IETF language elements from the legacy elements. Bug fixes:
* all: Linux: if initializing the locale system based on the system\'s settings fails, e.g. if environment variables such as `LC_ALL` have been set to `fr_FR.UTF-8` but the locale for `fr_FR.UTF-8` hasn\'t been built, MKVToolNix will try to fall back to `en_US.UTF-8` first & `C.UTF-8` second. If neither of the three succeeds, an error message will be shown, and the program will abort. This fixes the programs not catching an exception from the `boost::filesystem` library which doesn\'t cope with mis-configured locale systems well.
* mkvmerge: sorting tracks by type did not work properly when some tracks weren\'t copied.
* mkvmerge: track numbers in the destination file were assigned out-of-order when the track order in the source files differs from the one in the destination file. Now they\'re assigned sequentially in the order the tracks appear in the destination file again.
* MKVToolNix GUI: under certain circumstances the GUI would try to display error messages from a secondary thread, which isn\'t allowed in Qt, causing to program to either hang or outright crash.
* MKVToolNix GUI: the GUI will check for several potential installation issues wrt. to having write access to certain directories (system\'s temporary directory, MKVToolNix\'s file identification cache directory and others) & display proper error messages if not.
* MKVToolNix GUI: header editor: fixed the application crashing whenever you change a property below the \"segment information\" node. This bug was introduced in v77.
* MKVToolNix GUI: header editor: when reading files that only contain legacy track language elements but no IETF track language elements, the header editor was showing all tracks as having \"English\" as the language. This bug was introduced in v77.
* MKVToolNix GUI: header editor: when a legacy track language element contains a country code (e.g. `fr-CA`), the header editor was wrongfully using `und` = \"undetermined\" as the language for that element. Now it\'ll use the language from the language/country pair, which would be `fr` in the earlier example.
* MKVToolNix GUI: header editor: the keyboard shortcuts from the \"modify selected track\" sub-menu didn\'t work right after opening a file. They only started working after opening the \"header editor\" menu. Build system changes:
* The compilation database (`compile_commands.json`) is now always built. The variable `BUILD_COMPILATION_DATABASE` is not evaluated anymore.
* Sun Jun 04 2023 Luigi Baldoni - Update to version 77.0 New features and enhancements:
* mkvmerge: tracks in the destination file will now be sorted by their type automatically unless the track order is specified with the `--track-order` option. The order is as follows: video tracks first followed by audio & subtitle tracks with other rarely used types of tracks last. Tracks of the same type will be sorted in the same order as their source files occur in the command-line arguments. Note that this doesn\'t affect file identification.
* MKVToolNix GUI: multiplexer: the default list colors used for distinguishing source files does not include the darkest tier anymore (the ones where one or two components are set to the value 0x3f) as they\'re hard to distinguish from each other. Only affects new installations, or when the user presses the \"reset to default colors\" button.
* MKVToolNix GUI: multiplexer: the GUI will now check the state of the \'track enabled\' flag of all video, audio & subtitle tracks when starting to multiplex or adding a job to the job queue. If there\'s no track with its flag turned on for a type, the GUI will turn on the flag for the first track of the type. This behavior can be turned off in the preferences.
* MKVToolNix GUI: header editor: the columns in the tracks/attachments view and the values on the \"track type\" page will now be updated each time a corresponding property is changed (e.g. when a track\'s name is changed) instead of showing what\'s in the file on disk.
* MKVToolNix GUI: Windows: a new settings in the preferences lets the user chose whether to use the light or the dark color palette, or to follow the system settings. Bug fixes:
* Fixed compilation with fmt v10.0.0.
* mkvmerge: fixed several instances of wrong format strings for `fmt::format` used in debug messages.
* mkvmerge: AV1 packetizer: the packetizer did not honor the aspect ratio (factor) given on the command-line via the `--aspect-ratio` or `--aspect-ratio-factor` options.
* mkvmerge: JSON identification: cropping parameters are reported again even if some of the four values are not present in the file or set to 0.
* MKVToolNix GUI: the defunct \"disable the dark mode\" checkbox was removed from the preferences.
* MKVToolNix GUI: language dialog: under certain conditions the controls for the individual components remained disabled when the dialog is opened even though editing of individual components is selected.
* MKVToolNix GUI: language dialog: the controls for the individual components weren\'t re-initialized properly after opening the dialog for the second & all following times, potentially leaving previously selected/entered entries intact, primarily when editing multiple tracks at once.
* MKVToolNix GUI: header editor: using the actions from the \"modify selected track\" context menu only worked if the user right-clicked on the first column in the view. They now work for clicks on any of the columns.
* MKVToolNix GUI: header editor: some of the actions toggling specific flags from the \"modify selected track\" did not work correctly if the flag wasn\'t currently present in the file, especially if the underlying value has a default value in the Matroska specs. Build system changes:
* The bundled `fmt` library was updated to v10.0.0.
* MKVToolNix GUI now uses an external Qt resource file instead of compiling it into the executable. The resource file has reached a size at which the C++ compiler exhausts available virtual memory on some 32-bit architectures. The GUI will look for the file in the directory set with `configure`\'s `--datadir` parameter on other systems (which usually means `/usr/share/mkvtoolnix`). The `install` build system commands installs it into that folder.
* Sun Apr 30 2023 Luigi Baldoni - Update to version 76.0 Important notes:
* mkvmerge: removed the option `--blockadd`. Removing block additional data is not possible anymore, as it is often required for proper decoding. New features and enhancements:
* mkvmerge: JSON file identification: added a child element called `num_index_entries` to the `properties` track element containing the number of index entries found for a track. Currently only implemented for Matroska files where it contains the number of cue points.
* mkvmerge: the maximum block addition ID track header value is now calculated automatically from both the existing mappings & the actually used block additions in the block groups.
* mkvmerge: Matroska reader: when reading WebM files that use block additions with ID 4 (HDR for VP9) an appropriate block addition mapping will be created automatically.
* mkvmerge: MP4 reader: the title/movie name meta data (content of the `udta.meta.ilst.©nam` atom) will now be copied over as the segment title track header attribute.
* mkvmerge: MP4 reader: the comment & encoder meta data (content of the `udta.meta.ilst.©cmt` & `….©too` atoms) will now be copied over as global tags `COMMENT` & `ENCODER` respectively.
* mkvmerge, MKVToolNix GUI\'s multiplexer: added an option to stop processing after the primary video track ends called `--stop-after-video-ends`. This discards any remaining packets of other tracks.
* MKVToolNix GUI: multiplexer: automatically setting the destination file name: added an option in the preferences for using the first source file\'s directory name instead of its file name as the basis for the destination file name.
* MKVToolNix GUI: multiplexer: double-clicking on certain columns in the \"tracks\" view will now toggle them directly (columns \"Default track\" & \"Forced track\") or activate the corresponding control (columns \"Language\", \"Name\" & \"Delay\"). Double-clicks on other columns will do what they\'ve done before, too: toggling the \"Copy item\" state.
* MKVToolNix GUI: the dialog for editing language tags is now created only the first time the user wants to edit a language tag & cached afterwards instead of creating a new instance each time. This makes subsequent uses instant. Bug fixes:
* mkvmerge: mkvmerge will now only try to probe for VobSubs if the name of the file to identify ends in either `.idx` or `.sub`, preventing mis-identification of other file types if VobSubs with the same base name exist in the same directory.
* mkvmerge: AC-3: mkvmerge will now skip certain types of garbage data (16 bytes starting with 0x01 0x10) that can occur before each sync frame, fixing the file not being identified as AC-3.
* mkvmerge: Matroska reader: when reading files that use block additions with IDs other than 1 (e.g. 4 for HDR for VP9) the IDs will now be kept & written to the output file. Before no ID would be written, effectively using 1 as that\'s the default value for the corresponding element.
* mkvmerge: mkvmerge will no longer write block addition mappings or the max block addition ID track header elements when creating a WebM file as those elements aren\'t supported there.
* mkvpropedit: fixed replacing chapters & tags in files that don\'t contain tracks.
* Sun Mar 26 2023 Luigi Baldoni :- Update to version 75.0.0 New features and enhancements:
* mkvmerge: MP4 reader: mkvmerge will now read Timed Text (FourCC `tx3g`) subtitle tracks & convert them on the fly to Matroska\'s simple text subtitle format (`S_TEXT/UTF8`; text only, no styles). Bug fixes:
* all: switched back to using `boost::filesystem` functions for creating directories instead of the ones introduced to work around bugs in `std::filesystem`. The latter didn\'t work correctly with UNC paths after the switch to `boost::filesystem::path` in v74.
* mkvmerge: VobSub reader: mkvmerge will now probe the `.idx` file during VobSub identification even if the `.sub` file is passed as the source. Avoids mis-detection of the `.sub` as MPEG program streams.
* MKVToolNix GUI: the GUI could abort with an exception on startup while looking for the `mkvmerge` or `mediainfo` executables due to inaccessible folders.
* MKVToolNix GUI: preferences: when opening the preferences the first time the UI might pre-select the first entry in the list of interface languages if the operating system\'s language is not available for MKVToolNix. This might also happen on Linux if e.g. `en_GB` is set, even though `en_US` is available. Now English (`en_US`) will be selected instead.
* MKVToolNix GUI: multiplexer: when adding files the GUI has special handling for chapter/tags/segment info files. This is done by comparing their content to certain patterns. This recognition could wrongfully be triggered if any such file was embedded in another file verbatim, e.g. with a chapter XML file attachment in a Matroska file. When trying to add that Matroska file, the GUI would treat it as a chapter file instead of a regular one. This content-based detection was fixed. Other changes:
* mkvpropedit, GUI\'s header editor: removed support for the deprecated \"minimum cache\" & \"maximum cache\" track header elements.
* Thu Mar 16 2023 Max Lin - Requires qt6-multimedia in Leap 15.5
* Sun Feb 12 2023 Luigi Baldoni - Update to version 74.0.0 New features and enhancements:
* mkvmerge: SRT handling: added a hack called `--engage keep_whitespaces_in_text_subtitles` which disables stripping whitespaces from the start & end of each line of SRT entries during muxing. Bug fixes:
* all: Windows: UNC paths of type `\\\\?\\C:\\…` are supported again by switching back to Boost\'s file system library instead of using C++17\'s file system library.
* mkvmerge: AVC/H.264 & HEVC/H.265 packetizers: when appending tracks the pixel dimensions will be checked & muxing will be aborted if they don\'t match.
* mkvmerge: file type detection: file types that can be detected unambiguously by their content (e.g. Matroska, MP4, WAV…) will now preferred in the detection order over file types based on their extension. Prevents certain cases of mis-detection, e.g. DTS in WAV but with a file name extension of `.dts` being detected as the wrong type of DTS.
* mkvmerge: SRT handling: whitespaces will now be stripped from the start & the end of each line of each entry, not just from the end of the last line.
* mkvextract: SRT extraction: whitespaces will not be stripped from the start & end of the whole entry anymore.
* MKVToolNix GUI: multiplexer: when adding multiple files that include certain file types (chapters, segment info and tag files) and when the choice where to add them is \"all files to a single new tab\", these certain file types will now be added in the newly added tab as well instead of the current tab that had already been open.
* build system: fixed compatibility with Ruby 3.2.0 by using `FileTest.exist?` instead of `File.exists?`, `Dir.exists?` & `FileTest.exists?` which were removed in that release. Build system changes:
* MKVToolNix is now using & requiring Boost\'s \"file system\" and \"system\" libraries again instead of C++17\'s file system library. This is due to gcc\'s library not supporting UNC paths of types `\\\\?\\C:\\dir\\file.ext`.
* Tue Jan 03 2023 Luigi Baldoni - Update to version 73.0.0 New features and enhancements:
* mkvmerge: greatly enhanced the speed of Base64 decoding which is used used e.g. when reading pictures embedded in Ogg or FLAC files or for binary data inside XML chapter & tag files. Even small blocks of data could take unreasonably long.
* mkvmerge: added support for reading HEVC/H.265 video from FLV containers. Bug fixes:
* mkvmerge: splitting: fixed a typo in the string output in GUI mode regarding the timestamps before which splitting was done.
* MKVToolNix GUI: job output: after having run multiple jobs the \"Clear output\" functionality only reset the visible parts. However, using the \"save output\" function would also save the output generated before the user used \"clear output\". Now only the output after the last use of \"clear output\" is saved.
* build system: when probing for the FLAC library the Ogg libraries will be linked with the compiled test program as well. This fixes detection if the `pkg-config` settings for FLAC don\'t list Ogg & the linker doesn\'t find the library automatically.
* Sun Nov 13 2022 Luigi Baldoni - Update to version 72.0.0 New features and enhancements:
* mkvmerge: AV1 parser: the variable-width OBU size field will be re-written with minimal length if it\'s encoded longer than necessary.
* mkvmerge: when splitting is active the program will output the timestamps actually used for making the decision when to split. If GUI mode is active, a specially formatted line `#GUI#splitting_before_timestamp ` is output as well. Lines prefixed with`#GUI#` are suitable for machine parsing, won\'t be translated and are guaranteed not to change in format.
* MKVToolNix GUI: multiplexer: when dragging & dropping directories to the \"attachments\" tab, the files contained in those directories will be attached.
* MKVToolNix GUI: info tool: added information about the file (directory, size, modification timestamp) at the top of each tab. Bug fixes:
* mkvmerge: AV1 parser: fixed the parser completely aborting when parsing the OBU size field fails due to there not being enough data to parse. Instead the parser will remember the last known-good position & restart from there after more data is available.
* mkvmerge: HDMV PGS subtitles: reverted the change that implemented a heuristic for detecting bogus timestamps & attempting to fix them. This was done to fix #3268. Unfortunately this affected valid subtitle files with intentional huge gaps in timestamps, e.g. forced subtitle tracks. The heuristic has simply been removed.
* mkvmerge: Matroska reader: fixed reading files with EBML Void elements before the Matroska Segment element.
* mkvmerge: fixed reversed attachment selection: `--attachments !4` would not copy any attachment instead of all attachments but the one with ID 4.
* mkvextract: IETF BCP 47/RFC 5646 language tags: mkvextract will now use & prefer IETF BCP 47 track language elements if they\'re present. Only affects the VobSub & USF subtitle extraction.
* mkvpropedit, MKVToolNix GUI\'s chapter & header editors: updated the list of deprecated Matroska elements. The applications will no longer try to write those elements, even if they\'re found in the file to be modified. The programs will no longer abort with error messages such as `assertion \"false\" failed`.
* mkvpropedit, MKVToolNix GUI\'s chapter & header editors: when the Matroska version numbers stored in the EBML Head element are updated, the updated EBML Head element might be smaller than the existing one. In that case the programs used to shrink the EBML Head & write a small EBML Void element between the updated EBML Head & the following element, usually a Matroska Segment element. This isn\'t widely supported by programs including MKVToolNix itself, causing them to declare such files as invalid. The programs will now create the EBML Void element inside the EBML Head element, making them a level 1 element instead of a level 0 element.
* mkvpropedit, MKVToolNix GUI\'s chapter & header editors: often the programs have to relocate the Master elements in which the modifications were done. In that case the Seek Head elements must also be updated to reflect to the Master elements\' new positions. If a file contained a Seek Head element at the start already and if that Seek Head was too small to contain the updated positions, the programs would end up in an endless loop trying to write data to the end, creating ever-growing files. This is now handled properly by voiding this too-small Seek Head & finding a proper space for a new one instead.
* MKVToolNix GUI: header editor: fixed pixelated icons on higher display scaling values. Build system changes:
* bug fix: libFLAC detection is now done via `pkg-config`, and the corresponding compiler flags are honored. Fixes static compilation with newer versions of libFLAC with MXE where a compiler definition is required to signal that it libFLAC wasn\'t built as a DLL.
* Sun Oct 09 2022 C J - Update to version 71.1.0 Bug fixes:
* Chapters DTD: added the new edition & chapter elements from Matroska v5.
* Chapters DTD: fixed EditionUID being mandatory. mkvmerge can auto-generate it if it\'s missing from the XML file.
* Chapters DTD: fixed the `example-chapters-1.xml` not validating against the DTD.
* Chapters DTD: corrected the old name `EditionManaged` to `EditionFlagOrdered`.
* Chapters DTD: fixed `ChapLanguageIETF` missing its element declaration & `ChapterLanguage` being required.
* XML DTDs: fixed elements representing binary data not allowing the `format` attribute.- Add Qt multimedia as a requirement for the GUI as it doesn\'t run without it.
* Sun Oct 09 2022 C J - Update to version 71.0.0 New features and enhancements:
* mkvmerge, MKVToolNix GUI\'s multiplexer: added support for the Emphasis audio track header element via the `--audio-emphasis` option. It is also read from Matroska files.
* mkvmerge: the options `--list-stereo-modes` and `--list-audio-emphasis` have been added to list all support numerical & textual values for the `--stereo-mode` & `--audio-emphasis` options.
* mkvpropedit, MKVToolNix GUI\'s header editor: added support for the Emphasis audio track header element via the `emphasis` property.
* MKVToolNix GUI: multiplexer: when the track properties are configured to be displayed in a tab widget below the files & tracks in the \"Input\" tab, the \"Color information\" tab will be laid out in two columns. This reduces the minimum height the whole tab widget requires. Implements #3401.
* MKVToolNix GUI: greatly sped up closing the preferences dialog by only re-running certain initialization functions when their corresponding settings have changed. Also fixes issues such as [#3406].
* mkvinfo, MKVToolNix GUI\'s info tool: added support for the following new elements from Matroska v5: Emphasis audio track header element; Chapter Skip Type; Edition Display; Edition String; Edition Language IETF.
* mkvmerge, mkvpropedit: added support for the following new chapter elements from Matroska v5: Chapter Skip Type; Edition Display; Edition String; Edition Language IETF. The GUI\'s chapter editor will receive support for them in the next release. Bug fixes:
* mkvmerge: Ogg/OGM reader: mkvmerge will now correctly skip tracks of unsupported types as well as tracks for which all track header pages haven\'t been found. Fixes #3394.
* Wed Aug 17 2022 Luigi Baldoni - Switch to Qt6 build for Tumbleweed (fixes boo#1202446)
* Sun Aug 14 2022 Luigi Baldoni - Update to version 70.0.0 New features and enhancements:
* MKVToolNix GUI: the user can now control where the job queue files & the preferences INI file are stored via environment variables. If set, the variable `MKVTOOLNIX_GUI_STATE_DIR` can point to a directory where the GUI stores both the job queue sub-directory and the preferences INI file. If you only want to relocate the preferences INI file, you can store the desired file name for the INI file in `MKVTOOLNIX_GUI_CONFIG_FILE`.
* MKVToolNix GUI: when adding directories via drag & drop/copy & paste the GUI will now offer the user the option to create one multiplex settings tab per directory & adding all files from that directory to the corresponding, newly created tab. Bug fixes:
* mkvmerge: AV1 OBU parser: fixed identifying files that only contain single frame.
* MKVToolNix GUI: multiplexer: when reading color parameters from identified files that are floating point numbers (minimum/maximum luminance, projection pitch/roll/yaw) the numbers will be formatted in floating-point notation instead of scientific notation as mkvmerge only supports the former.
* MKVToolNix GUI: multiplexer: color parameters that are floating point numbers (minimum/maximum luminance, projection pitch/roll/yaw) will only be set to a value during identification if the identification actually contains the property, and not to 0 anymore if it doesn\'t.
* Sat Jul 09 2022 Luigi Baldoni - Update to version 69.0.0 Important notes:
* all: the spelling of \"colour\" was changed to \"color\" throughout all programs to match the use of American English spelling in MKVToolNix. New features and enhancements:
* MKVToolNix GUI: the number of recently used entries (e.g. destination directories) remembered by the GUI can now be configured in the preferences.
* MKVToolNix GUI: multiplexer: when adding files the track properties regarding color information & color mastering meta information will be parsed & set in the corresponding GUI controls.
* MKVToolNix GUI: job queue: the job queue can now be sorted by clicking on the column headers.
* MKVToolNix GUI: job queue: when loading jobs from the queue directory that weren\'t previously known to the program those jobs will be sorted by their \"date added\" timestamp instead of using the order the operating system returns them in. Bug fixes:
* build system: fixed compilation with fmt v9.
* mkvmerge: HEVC ES parser: the parser will now parse at least the first full access unit before reporting that it has found all the required headers. Otherwise parsing might stop in the middle of the access unit due to the source reader not providing more data in the first call, leading to the parser not finding the `unspec62` and `unspec63` NALUs required for Dolby Vision.
* MKVToolNix GUI: preferences: the default actions added to the \"execute programs\" section on new installations now default to use WebM file names instead of Ogg, matching the format of the included audio files. Build system changes:
* The bundled `fmt` library was updated to v9.0.0.
* Mon May 23 2022 Luigi Baldoni - Update to version 68.0.0 New features and enhancements:
* mkvmerge: HDMV PGS subtitles: mkvmerge now tries to detect bogus timestamps (where the current timestamp is two hours or more after the previous timestamp) & correct them to something more sensible (1s after the previous timestamp). That way one bogus timestamp cannot cause the rest of the frames to not be interleaved properly with the other audio & video packets.
* mkvmerge: added colour information, colour mastering meta information & video projection information properties to the JSON identification format. The properties are reported for container types for which mkvmerge supports reading them (Matroska & MP4). The JSON identification format version number has been bumped to v15.
* MKVToolNix GUI: multiplexer: added controls for all the video colour information & the video projection information. Bug fixes:
* mkvmerge: SRT reader: entries with a duration of 0 or less will now be skipped.
* mkvpropedit, MKVToolNix GUI\'s chapter & header editors: fixed an invalid memory access when trying to update existing Matroska files whose EBML Head element had a \"size\" field length of eight bytes, and where rewriting said element would shrink the element by one byte. Files created by gstreamer fit the first part whereas the second depends on the changes requested by the user.
* mkvpropedit, MKVToolNix GUI\'s chapter & header editors: fixed the programs not handling having to remove EBML void elements at the end of the file correctly and consequently aborting.
* MKVToolNix GUI: the GUI now uses almost all SVG icons, allowing proper scaling even for scaling factors such as 125%.
* MKVToolNix GUI: when compiled with Qt 5 the character set of INI files is forced to UTF-8 in order to fix reading INI files written by a version compiled with Qt 6. Build system changes:
* Qt\'s SVG library is now required.
* Sat Apr 16 2022 Luigi Baldoni - Update to version 67.0.0 New features and enhancements:
* all: IETF BCP 47/RFC 5646 language tags: when deriving the legacy language element codes to use a language tag\'s ISO 639 code is also potentially interpreted as an & its prefix is used as the legacy language code. For example, \"Yue Chinese\" = `yue` is not part of ISO 639-2. However, there is an extlang subtag `yue` with a valid prefix of `zh` (\"Chinese\"), and for \"Chinese\" there is an ISO 639-2 language code: `chi`. In this example the IETF language element would be set to `yue` and the corresponding legacy element to `chi`.
* all: IETF BCP 47/RFC 5646 language tags: grandfathered language tags are now supported.
* all: IETF BCP 47/RFC 5646 language tags: all deprecated subtags from the IANA language subtag registry are now supported.
* all: IETF BCP 47/RFC 5646 language tags: all lists of valid subtags have been updated from their respective authoritative sources.
* all: IETF BCP 47/RFC 5646 language tags: all in the IANA language subtag registry are now supported, even those marked as deprecated and of type \'grandfathered\'.
* all: IETF BCP 47/RFC 5646 language tags: reduced the maximum number of extended language subtags that are present in a valid tag from 3 to 1 in compliance with RFC 5646 section 2.2.2.
* all: IETF BCP 47/RFC 5646 language tags: all language codes reserved for private/local use (`qaa`–`qtz`) are now supported.
* all: IETF BCP 47/RFC 5646 language tags: Digital Cinema Naming Convention language codes that fall into the IETF BCP 47 range of \"private use\" tags (`qaa`–`qtz`) are now replaced by their IETF BCP 47 equivalents during normalization (e.g. `QMS` → `cmn-Hans`).
* all: added a new translation to Chinese Simplified (Singapore) by Dian Li.
* mkvmerge, mkvpropedit: added a new command line option called `--enable-legacy-font-mime-types`. With this option on the two programs will use the same legacy MIME types for fonts whenever new attachments are added (both programs), when reading existing attachments (only `mkvmerge`) or when replacing existing ones (only `mkvpropedit`).
* mkvmerge, mkvpropedit: IETF BCP 47/RFC 5646 language tags: added a command line option `--normalize-language-ietf ` which turns on normalization of IETF BCP 47 language tags to either their canonical (mode `canonical`) or extended language subtags form (mode `extlang`) or turns it off (mode `off`). If the option isn\'t given, language tags will now be normalized to the canonical form.
* MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: ISO 639-3 and 639-5 languages will now be used by default.
* MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language editor dialog will now show warnings in several cases: when deprecated tags are used; when the tag\'s canonical and/or extlang forms differ from the user input.
* MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language editor now has a button to replace the current tag with a normalized form (canonical or extlang) if those differ from the current tag.
* MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: added an option in the preferences to always normalize all language tags to their canonical or extlang forms or to turn normalization off. Can also be enabled from the language editor dialog.
* MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language dialog now shows a warning if a variant is used with a prefix that isn\'t in the variant\'s list of suitable prefixes. It\'ll also say if the corresponding canonical/extlang forms would have a suitable prefix.
* MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language dialog now shows a warning if a script is used with a language for which it should be suppressed.
* MKVToolNix GUI: multiplexer: the track property group boxes in the scrollable pane are now collapsible & expandable, saving their state over restarts of the GUI. This is in preparation of adding many more track properties in future releases, allowing the user to hide parts they don\'t use all that often.
* MKVToolNix GUI: multiplexer: if the option \"use legacy font MIME types\" is enabled in the preferences, the new command line option `--enable-legacy-font-mime-types` will be passed to `mkvmerge` in order to have it remap the MIME types of existing attachments, too. Bug fixes:
* all: IETF BCP 47/RFC 5646 language tags: variants aren\'t validated wrt. to prefixes anymore as BCP 47 doesn\'t actually pose restrictions on them, saying only that prefixes \"are suitable sequences\" for use with the variants. What is now verified, though, is that no variant is used multiple times within the same language tag.
* build system & MKVToolNix GUI: fixed detecting the presence of & the compilation with the multimedia module of Qt version 6.2.0 and newer.
* MKVToolNix GUI: job queue: fixed compiling in the audio player code for the the \"play audio\" end-of-job action.
* MKVToolNix GUI: multiplexer: recognizing added XML chapter, segment info or chapter files required the XML declaration & root node (e.g. `` for chapters) be located within the first 1 KB, which wasn\'t enough for files that contain a lot of comments at the start like the included `example-chapters-2.xml`. The detection range was extended to 10 KB. Build system changes:
* The bundled `fmt` library was updated to v8.1.1.
* The bundled `nlohmann-json` library was updated to v3.10.5.
* The bundled `pugixml` library was updated to v1.12.1.
* Sun Mar 13 2022 Luigi Baldoni - Update to version 66.0.0 New features and enhancements:
* mkvpropedit: added a new option `--chapter-charset` allowing the user to specify the character set to use when reading the following chapter file.
* MKVToolNix GUI: each language shortcut can now be associated with an optional track name that is set along with the language when the shortcut is used. Bug fixes:
* mkvmerge: Ogg/OGM reader: mkvmerge will no longer abort with an exception when it encounters Vorbis comments that contain data that isn\'t valid UTF-8.
* MKVToolNix GUI: multiplexer: fixed several issues with the tab order of elements in the \"properties\" pane and the \"output\" tab. Also fixed the language display widgets (e.g. \"track language\" in the \"properties\" pane) never receiving tab focus.
* MKVToolNix GUI: multiplexer: the chapter name template will now be passed to `mkvmerge` if a chapter file is selected on the \"output\" tab.
* Sun Feb 06 2022 Luigi Baldoni - Update to version 65.0.0 New features and enhancements:
* mkvmerge: the options `--default-track` and `--forced-track` have been renamed to `--default-track-flag` and `--forced-display-flag` respectively for improved consistency with other option names & the wording used in the GUI. However, the old names will be supported and recognized indefinitely. What will remain unchanged is the property names for those flags in mkvmerge\'s identification output. Existing third-party programs will continue working as they are.
* mkvmerge: added a new option `--track-enabled-flag` to set or unset the \"track enabled\" track header flag.
* mkvmerge: MP4 reader: `mkvmerge` will now evaluate the `flags` field of the track header atom (`tkhd`) and set the track\'s \"enabled\" flag accordingly.
* MKVToolNix GUI: multiplexer: added support for the \"track enabled\" track header flag.
* MKVToolNix GUI: multiplexer, header editor: added several menu entries & keyboard shortcuts for toggling various track flags of the currently selected tracks, e.g. `Ctrl+Alt+F, D` (that\'s `Ctrl` and `Alt` with `F` simultaneously followed by `D` without any other key pressed) for toggling the \"default track\" flag.
* MKVToolNix GUI: multiplexer, header editor: added menu entries & keyboard shortcuts for setting the language of the currently selected tracks to one from a configurable list of languages. The shortcuts used are `Ctrl+Alt+A, 1` through `Ctrl+Alt+A, 0` for the first ten entries of that list (that\'s `Ctrl` and `Alt` with `A` simultaneously followed by a digit without any other key pressed).
* MKVToolNix GUI: chapter editor: if the user enters commas in start or end timestamps they will automatically be changed to points as the decimal separator, allowing for easier copy & paste from other programs/sources.
* MKVToolNix: header editor: the selected track or attached file can now be moved up & down with the keyboard shortcuts `Ctrl+Up` & `Ctrl+Down` respectively. Bug fixes:
* mkvmerge: Matroska reader: DVB subtitle tracks with a codec private data size of more than five bytes are accepted now, too.
* Mon Jan 10 2022 Guillaume GARDET - Update _constraints to cover all architectures, not only ppc64
* Mon Dec 27 2021 Luigi Baldoni - Update to version 64.0.0 New features and enhancements:
* MKVToolNix GUI: language dialog: when the user switches between the two edit modes, the mode\'s corresponding first control is automatically focussed. Bug fixes:
* all: language lists: the entries for \"Ancient Greek (to 1453)\" and \"Modern Greek (1453-)\" have been renamed to \"Greek (ancient, -1453)\" and \"Greek (modern, 1453-)\" respectively in order to be easier to find.
* mkvmerge: VobSub reader: files containing `id: --` lines to indicate that the track language isn\'t known were rejected by `mkvmerge`. Now they\'re accepted, and `und` (undetermined) is used as the language.
* MKVToolNix GUI: chapter editor: the \"Save to Matroska or WebM file\" function was using the wrong standard file dialog (the \"open file\" one instead of \"save\"), leading to confusing button names.
* MKVToolNix GUI: high DPI scaling: fixed the icons in the tool selector having the wrong size for scaling factors other than 100% or 200%. Build system changes:
* The bundled `fmt` library was updated to v8.0.1.
* The bundled `nlohmann-json` library was updated to v3.9.1.
* The bundled `pugixml` library was updated to v1.11 revision 6a76cac.
* The bundled `utf8-cpp` library was updated to v3.2 revision b85efd6.
* Sun Nov 14 2021 Luigi Baldoni - Update to version 63.0.0 New features and enhancements:
* mkvmerge: AC-3 parser: E-AC-3 with BSID values > 10 and ≤ 15 are recognized now, too.
* mkvmerge: when using language codes for track selection (e.g. `-a und,en`) all tracks that do not have a language property (due to their container not providing one, e.g. AVIs) will be treated as if they did have one set to `und` (\"undetermined\") as that is the language the track will have in the Matroska file anyway. Before this change it wasn\'t possible to match such tracks via language codes.
* MKVToolNix GUI: the spinner in the bottom right corner will now be hidden when no jobs are currently running.
* MKVToolNix GUI: header editor: a new column has been added to the tree view showing the status of the \"track enabled\" flag. The information is also shown on the track overview page on the right.
* MKVToolNix GUI: header editor: users can now reorder tracks by dragging & dropping. Bug fixes:
* mkvmerge: AVI reader: fixed reading AVI files that contain `vprp` video properties header chunks; reading aborted too early.
* Sun Oct 10 2021 Luigi Baldoni - Update to version 62.0.0 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.
* 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.
* 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. Bug fixes:
* mkvmerge: fixed a crash when splitting by chapters is enabled but there are no chapters at all.
* 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.
* mkvmerge: AVC ES parser: fixed mkvmerge aborting due to uncaught exception when encountering bad SPS data.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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. 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.- Add tools subpackage
* Mon Aug 30 2021 Luigi Baldoni - Update to version 61.0.0 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) and `es-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.
* MKVToolNix GUI: multiplexer: deriving track languages from file names: the default list of boundary characters now includes `-`.
* 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 prefixes `sr`, `sr-Cyrl` and `sr-Latn` where e.g. `sr-ekavsk` and `sr-Cyrl-ekavsk` should be allowed but not `sr-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) and `SimpleBlock` (\"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.
* 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 the `ReferenceBlock` elements were located behind the `Block` element. Build system changes:
* all: `std::codecvt_utf8` is now used instead of Boost\'s `utf8_codecvt_facet`. The bundled copy the latter in `lib/boost` has therefore been removed.- Drop mkvtoolnix-use-system-boost.patch (no longer necessary)
* Sat Jul 31 2021 Luigi Baldoni - Update to version 60.0.0 New features and enhancements:
* all: IETF BCP 47/RFC 5646 language tags: added support for language families from ISO 639-5 that aren\'t part of 639-2.
* all: IETF BCP 47/RFC 5646 language tags: implemented support for Alpha 2 country codes of the \"user-defined\" category: `AA`, `QM`–`QZ`, `XA`–`XZ` and `ZZ`.
* all: IETF BCP 47/RFC 5646 language tags: updated the various lists of valid subtags from the official specs.
* MKVToolNix GUI: multiplexer: pressing the keyboard shortcut for the track\'s \"Language\" label (Alt+L for English) will now open the language dialog.
* MKVToolNix GUI: multiplexer: added an option in the preferences for turning off the colored boxes indicating which file each track belongs to. Bug fixes:
* all: IETF BCP 47/RFC 5646 language tags: fixed validating extended language & variant subtags against their allowed prefixes (e.g. a valid tag with a country code as in `de-CH-1996` is recognized as valid while two generally known variants that aren\'t allowed together as in `de-1901-1996` is recognized as invalid).
* all: IETF BCP 47/RFC 5646 language tags: when looking up a language for a two- or three-letter code, the programs will no longer compare that code with language names as that was unintended, ambiguous (e.g. the code \"Ga\" could be interpreted as the 639-2 alpha-2 code for \"Irish\" or as the name of the language called \"Ga\") and only worked with languages whose name was at most three letters long.
* mkvmerge: HEVC/H.265: appending Matroska files with HEVC tracks might lead to the loss of the first couple of frames from each of the second and all following files.
* mkvmerge, mkvextract: HEVC/H.265 parser: fixed the programs aborting when parsing VPS or SPS NALUs with invalid content due to unhandled exceptions.
* MKVToolNix GUI: multiplexer: when the option \"use legacy MIME types for font attachments\" is enabled, the GUI will now use `application/x-truetype-font` for font collection files.
* MKVToolNix GUI: multiplexer: when adding multiple files at once, the GUI will sort file names with numbers the way a human would expect it to. For example, `1.mp4`, `9.aac`, `10.srt`, `11.srt` are now sorted exactly that order instead of `1.mp4`, `10.srt`, `11.srt`, `9.aac`.
* MKVToolNix GUI: header editor: the header editor will now honor the \"use legacy MIME types when adding font attachments\" setting when adding new attachments.
* Sat Jul 10 2021 Luigi Baldoni - Update to version 59.0.0 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
* Sun Jun 13 2021 Luigi Baldoni - 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.
* Sat May 22 2021 Luigi Baldoni - 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`.
* Fri Apr 09 2021 aloisioAATTgmx.com- Update to version version 56.1.0 New features and enhancements:
* mkvmerge: AAC: added support for LOAS/LATM files with channel configuration indexes 9–21 (e.g. channel count 22.2 for index 13) according to Rec. ITU-R BS.1196-7 & ISO/IEC 23008-3:2019. Bug fixes:
* mkvmerge: HEVC/H.265 parser: fixed invalid memory access that could happen when reading certain types of HEVC data (e.g. with changing parameter sets mid-stream) from certain containers (e.g. Matroska). This bug was introduced in release 56.0.0.
* mkvextract: AAC: mkvextract will now abort with an useful error message when the user tries to extract a track whose \'audio-specific config\' element in `CodecPrivate` signals a number of channels of 7 or greater than 8 as that isn\'t supported by the ADTS format. Build system changes:
* configure: the `--enable-ubsan` option hasn\'t actually enabled anything since release 39.0.0.
* Mon Apr 05 2021 Luigi Baldoni - Update to version 56.0.0 New features and enhancements:
* mkvmerge, mkvpropedit: tags: the programs will no longer write tag elements that are mandatory and set to their default value (e.g. \"tag language\" set to `und` = undetermined).
* mkvmerge, mkvpropedit, MKVToolNix GUI chapter editor: chapters: the programs will no longer write chapter elements that are mandatory and set to their default value (e.g. \"chapter language\" set to `eng` = English or \"Chapter flag enabled\" = 1).
* mkvextract: chapters: mkvextract will no longer add a `ChapterLanguage` element set to `eng` to the generated XML content if the source file doesn\'t contain such an element.
* MKVToolNix GUI: multiplexer: when using the \"tab widget below the files & tracks\" layout option for the track properties the elements in the \"general options\" tab will use six rows à four columns instead of twelve rows à two columns, greatly reducing the required height. Bug fixes:
* mkvmerge: AAC reader: fixed mkvmerge aborting to read AAC files bigger than 2 GB with a message about not being able to allocate memory.
* mkvmerge: chapters: `ChapLanguageIETF` elements were still created when the option `--disable-language-ietf` was given after an option leading to the creation of chapters. Now the position doesn\'t matter anymore.
* mkvmerge: chapters: when the option `--disable-language-ietf` is used, `ChapLanguageIETF` elements won\'t be written even when sources are read (Matroska files or XML chapters files) that do contain those elements.
* mkvmerge: tags: when the option `--disable-language-ietf` is used, `TagLanguageIETF` elements won\'t be written.
* mkvmerge: tags: mkvmerge will no longer write language elements for the track statistics tags it creates, making the effective language \"undetermined\" due to `und` being the default value for the legacy tag language element.
* mkvmerge: tags: the XML tag parser will now validate all `` children of `` elements, not just the first for each ``.
* mkvmerge: tags: the XML tag parser now uses the spec-compliant `und` (\"undetermined\") as the default language for `` tags instead of `eng`.
* mkvmerge, mkvpropedit: tags: mkvmerge will no longer set the \"target type\" for track statistics tags (earlier it used `MOVIE`). The \"target type value\" will still be set to `50`.
* mkvmerge, mkvextract: HEVC/H.265: both programs will now normalize the placement of VPS, SPS and PPS NALUs. Each key frame is prefixed with exactly one copy of the currently active parameter sets. This fixes certain classes of bugs related to splitting/appending.
* mkvinfo: when compiled with newer versions of the `fmt` library, certain numbers were not output correctly (e.g. a track\'s audio sampling frequency of 48000 might be output as 48).
* MKVToolNix GUI: multiplexer: deriving the track language from the file name will match languages case insensitively again (like versions prior to v55).
* MKVToolNix GUI: multiplexer: under certain circumstances keyboard shortcuts such as `Ctrl+W` for closing the active tab or `Ctrl+R` for starting to multiplex ceased to work until the user did certain other things (such as switching to a different tool & back to the multiplexer or opening the multiplexer menu). This started with v54.
* MKVToolNix GUI: chapter editor: the editor will no longer create empty `ChapterCountry` elements when adding a chapter name with no default country selected in the preferences. Build system changes:
* The bundled `fmt` library was updated to v7.1.3.
* Sat Mar 06 2021 Luigi Baldoni - Update to version 55.0.0 Bug fixes:
* MKVToolNix GUI: multiplexer: the user can now configure what to do when using the \"Add source files\" button independently of the setting for what happens when files are dragged & dropped onto the GUI. The same options are available, but they\'re distinct settings, allowing for different use cases.
* MKVToolNix GUI: multiplexer: deriving the track language from file names doesn\'t use one big regular expression of all enabled languages anymore. Instead, the file name is split into parts on a list of characters (such as `.` or `(` and `)`; configurable in the preferences). This prevents the regular expression becoming too big for the regular expression library to handle when many languages are enabled.
* MKVToolNix GUI: preferences: the language lists for \"deriving track languages\" and \"enabling items by language\" always included all the ISO 639-3 languages, even if those weren\'t enabled in the \"often-used languages\" pane. Other changes:
* mkvmerge, MKVToolNix GUI multiplexer: the functionality for changing the length of the NALU \"size\" field for AVC/H.264 and HEVC/H.265 tracks has been removed. The corresponding command-line option will continue to be recognized by mkvmerge as not to break existing third-party applications, but it won\'t actually do anything.
* Fri Feb 26 2021 Luigi Baldoni - Update to version 54.0.0 New features and enhancements:
* mkvmerge: added support for using ISO 639-3 language codes in IETF BF47 language tags.
* mkvmerge: AC-3 parser: added support for byte-swapped AC-3 data.
* mkvmerge: Matroska reader: for audio tracks that have the bit depth track header set mkvmerge will now keep that header even for codecs that don\'t require it for decoding.
* mkvmerge: MPEG transport stream reader, PCM audio tracks: mkvmerge will now re-order the channels for 5.1, 7.0 and 7.1 channel tracks from the Blu-ray layout to the WAVEFORMATEXTENSIBLE layout expected in Matroska.
* mkvmerge, mkvinfo, mkvpropedit, MKVToolNix GUI: added support for the following new track header elements: \"hearing impaired\" flag, \"visual impaired\" flag, \"text descriptions\" flag, \"original\" flag, \"commentary\" flag.
* MKVToolNix GUI: added support for using ISO 639-3 language codes in IETF BF47 language tags. As there are several thousand of them, they\'re deactivated by default and must be activated in the preferences (\"GUI\" → \"Often used selections\" → \"Languages\").
* MKVToolNix GUI: multiplexer: when adding Blu-rays the user can select multiple playlists to add simultaneously in the \"select playlist to add\" dialog.
* MKVToolNix GUI: multiplexer: the file name extensions \"eb3\" and \"ec3\" were added for Dolby Digital Plus & \"mpl\" for Dolby TrueHD in the file dialogs.
* MKVToolNix GUI: multiplexer: when adding multiple files the dialog asking the user what to do with them has gained a new checkbox. If enabled, all files containing at least one video track will always be placed in newly created multiplex setting.
* MKVToolNix GUI: multiplexer: added a menu entry in the \"Multiplexer\" for adding all files that are currently in the clipboard. Bug fixes:
* mkvextract: AAC: fixed wrong channel mask field in the ADTS headers for 7.1 channel layouts.
* mkvextract: h.265/HEVC extraction: if the first frame starts with the parameter sets (SPS, PPS & VPS), the ones from CodecPrivate aren\'t written and the ones from the first frame are kept.
* mkvmerge: fixed the calculation of chapter timestamps read from NTSC DVDs.
* MKVToolNix GUI: IETF BCP 47 language widget: the language combo box will now always contain the language code the user enters in the free-form field, even if it isn\'t in the list of often-used languages the user configured in the preferences.
* MKVToolNix GUI: multiplexer: when browsing for the destination file name the default directory is now chosen according to the preferences regarding how the destination file name should be formed. For example, if the policy is set to \"fixed output directory\" then that output directory will be the one initially set when the directory selection dialog is opened.
* MKVToolNix GUI: multiplexer: fixed the removal of appended source files if the \"delete source files\" end-of-job action is enabled.
* MKVToolNix GUI: chapter editor: when importing chapters from DVDs the IETF BCP 47 language elements will be set, too, not just the legacy language elements. Build system changes:
* libEBML v1.4.2 and libMatroska v1.6.3 are now required. The optional, bundled copies of both libraries have been updated to those versions. This bump in requirements fixes several heap overflow bugs in libEBML.
* MKVToolNix is now using the C++17 library feature \"file system library\" instead of Boost\'s \"file system\" and \"system\" libraries. For the GNU Compiler Collection (gcc) libstdc++ this means v8 or newer is required; for clang\'s libc++ it means v7 or newer.
* Sat Jan 30 2021 Luigi Baldoni - Update to version 53.0.0 New features and enhancements:
* mkvmerge: AVI reader: added support for reading the video aspect ratio from the video properties header (`vprp` chunk) if present and setting the display dimensions accordingly.
* mkvmerge: MP4 reader: for h.264/AVC tracks that don\'t have an `AVCConfigurationBox` (`avcC` atom) in their sample description (`stsd`) atom or whose `avcC` atom contains no content `mkvmerge` will now re-derive the `AVCConfigurationBox` from the bitstream.
* mkvextract: mkvextract will now check if any of the destination file names is the same as the source file name and abort with an error if that\'s the case.
* MKVToolNix GUI: when querying the user for a file name for saving things (e.g. multiplexer settings or an attachment in the header editor), the automatically suggested file name will now be based on the situation-specific file names (e.g. the destination file name for multiplexer settings or the attachment\'s name when saving an attachment in the header editor) instead of the directory\'s name.
* MKVToolNix GUI: multiplexer: when deriving track languages from file names the GUI will now select the right-most match instead of the left-most one. For example, \"La.vie.en.rose.(fr).srt\" will now be detected as French (fr) instead of English (en).
* MKVToolNix GUI: preferences: the items in the \"pre-defined …\" lists can now be renamed by double-clicking with the mouse or pressing the F2 key. Bug fixes:
* mkvmerge: stretching chapter timestamps with `--chapter-sync` now works correctly with floating point values including fractions of floating point numbers (e.g. `12.3/45.67`). The tooltips in the GUI have been adjusted accordingly.
* mkvmerge: MPEG 1/2 video handling: the \"default duration\" header field was often half the value it actually should be, resulting in all video frames having an explicit block duration with the correct value.
* mkvmerge: MPEG 1/2 video handling: the data stored in `Codec private` and `Codec state` doesn\'t contain extensions other than sequence & sequence display extensions anymore.
* mkvmerge: tag handling: when remuxing a Matroska file with the `--no-track-tags`, existing `SOURCE_ID` track tags are now skipped, too.
* MKVToolNix GUI: multiplexer: the drop-down boxes with pre-defined track names now follow the order set in the preferences instead of sorting the entries alphabetically.
* Tue Jan 05 2021 aloisioAATTgmx.com- Update to version 52.0.0 New features and enhancements:
* MKVToolNix GUI: job queue: the maximum number of jobs to run concurrently can now be increased in the preferences. The default remains at 1.
* MKVToolNix GUI: the GUI will now add a context-specific default extension to file names selected for saving on platforms that don\'t add one itself (e.g. GNOME). For example, when saving multiplexer settings the extension `.mtxcfg` will be added.
* MKVToolNix GUI: added an option to the preferences for the window to stay on top of other windows. Bug fixes:
* mkvextract: h.265/HEVC extraction: the code for skipping extraction of prefix SEI NALUs in the first frame was skipping two bytes too few, resulting in broken processing of all following bytes.
* libEBML: the optional, bundled version of libEBML was updated to v1.4.1. Build system changes:
* libEBML v1.4.1 is now required due to a bug in libEBML that caused pointers to just-freed memory being returned to the caller under certain invalid data constellations, causing use-after-free errors in all of MKVToolNix\'s programs.
 
ICM