MKVToolNix v28.1.0 released

Hey,

due to an unfortunate bug in the AV1 sequence header parser in release 28.0.0, here’s a small bug fix update: MKVToolNix v28.1.0.

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

Here are the NEWS since the previous release:

Bug fixes

  • mkvmerge: AV1 parser: fixed an error in the sequence header parser if
    neither the reduced_still_picture_header nor the
    frame_id_numbers_present_flag is set. Part of the fix for #2410.
  • mkvmerge: AV1 parser: when creating the av1C structure for the Codec
    Private element the sequence header OBU wasn’t copied completely: its common
    data (type field & OBU size among others) was missing. Part of the fix for
    #2410.
  • mkvmerge: Matroska reader, AV1: mkvmerge will try to re-create the av1C
    data stored in Codec Private when reading AV1 from Matroska or WebM files
    created by mkvmerge v28.0.0. Part of the fix for #2410.
  • MKVToolNix GUI: info tool: the tool will no longer stop scanning elements
    when an EBML Void element is found after the first Cluster element. Fixes
    #2413.

Have fun :)

MKVToolNix v28.0.0 released

Hey,

here is MKVToolNix v28.0.0: the first release to support AV1 in its finalized form. mkvmerge can read it from Matroska/WebM, MP4, IVF container files and from raw OBU streams. mkvextract will extract it to IVF files. Apart from that a couple of bugs were fixed and usabitliy enhancements made.

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

Here are the NEWS since the previous release:

New features and enhancements

  • mkvmerge: AV1 parser: updated the code for the finalized AV1 bitstream
    specification. Part of the implementation of #2261.
  • mkvmerge: AV1 packetizer: updated the code for the finalized AV1-in-Matroska
    & WebM mapping specification. Part of the implementation of #2261.
  • mkvmerge: AV1 support: the --engage enable_av1 option has been removed
    again. Part of the implementation of #2261.
  • mkvmerge: MP4 reader: added support for AV1. Part of the implementation of
    #2261.
  • mkvmerge: DTS: implemented dialog normalization gain removal for extension
    substreams. Implements #2377.
  • mkvmerge, mkvextract: simple text subtitles: added a workaround for simple
    text subtitle tracks that don’t contain a duration. Implements #2397.
  • mkvextract: added support for extracting AV1 to IVF. Part of the
    implementation of #2261.
  • mkvextract: IVF extractor (AV1, VP8, VP9): precise values will be used for
    the frame rate numerator & denominator header fields for certain well-known
    values of the track’s default duration.
  • mkvmerge: VP9: mkvmerge will now create codec private data according to the
    VP9 codec mapping described in the WebM specifications. Implements #2379.
  • MKVToolNix GUI: automatic scaling for high DPI displays is activated if the
    GUI is compiled with Qt ≥ 5.6.0. Fixes #1996 and #2383.
  • MKVToolNix GUI: added a menu item ("Help" → "System information") for
    displaying information about the system MKVToolNix is running on in order to
    make debugging easier.
  • MKVToolNix GUI: multiplexer, header editor: the user can enter a list of
    predefined track names in the preferences. She can later select from them in
    "track name" combo box. Implements #2230.

Bug fixes

  • mkvmerge: JSON identification: fixed a bug when removing invalid UTF-8 data
    from strings before they’re output as JSON. Fixes #2398.
  • mkvmerge: MP4/QuickTime reader: fixed handling of PCM audio with FourCC
    in24. Fixes #2391.
  • mkvmerge: MPEG transport stream reader, teletext subtitles: the decision
    whether or not to keep frames around in order to potentially merge them with
    the following frame is made sooner. That avoids problems if there are large
    gaps between teletext subtitle frames which could lead to frames being
    interleaved too late. Fixes #2393.
  • mkvextract: IVF extractor (AV1, VP8, VP8): the frame rate header fields
    weren’t clamped to 16 bits properly causing wrong frame rates to be written
    in certain situations.
  • mkvpropedit, MKVToolNix GUI’s header editor: fixed file corruption when a
    one-byte space must be covered with a new EBML void element but all
    surrounding elements have a "size length" field that’s eight bytes long
    already. Fixes #2406.

Have fun :)

MKVToolNix v27.0.0 released

Hey,

I’ve just released MKVToolNix v27.0.0. This release is smallish but important due to two bug fixes. The first is an annoying crash easily triggered on Windows simply by using the program for a while. The second is indubitably more important: mkvmerge was corrupting E-AC-3 frames when the “dialog normalization gain removal” functionality was used.

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

Here are the NEWS since the previous release:

New features and enhancements

  • mkvmerge: chapters: the timestamps of chapters read from containers or from
    chapter files can be adjusted (multiplication and addition) with the new
    --chapter-sync option or using the special track ID -2 for the existing
    --sync option. Part of the implementation of #2358.
  • MKVToolNix GUI: multiplexer: adjusted & added controls for mkvmerge’s new
    feature of being able to adjust chapter timestamps. Part of the
    implementation of #2358.
  • MKVToolNix GUI: multiplexer: the GUI can now ask for confirmation when the
    user is about to create a file that won’t contain audio tracks. It does this
    by default if at least one source file contains an audio track. Implements
    #2380.

Bug fixes

  • mkvmerge: AC-3: dialog normalization gain removal was corrupting E-AC-3
    frames irreversibly by writing checksums in places where they didn’t
    belong. Additionally only the first E-AC-3 frame in a Matroska was processed
    but not additional dependent frames in the same block. Fixes #2386.
  • MKVToolNix GUI: fixed a leak of Windows font resources leading to a general
    slowdown and subsequent crash. Fixes #2372.

Have fun :)

MKVToolNix v26.0.0 released

Hey,

time for another release of MKVToolNix, v26.0.0. It’s on the smaller side regarding the number of changes.

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

Here are the NEWS since the previous release:

New features and enhancements

  • mkvmerge: chapter generation: if the name template given by
    --generate-chapters-name-template is empty, no names (ChapterDisplay
    master elements with ChapterString/ChapterLanguage children) will be
    generated for the chapter atoms. Part of the implementation of #2275.
  • mkvmerge: chapters: chapter names generated from MPLS files will now use the
    name template if one is set via --generate-chapters-name-template. Part of
    the implementation of #2275.
  • mkvmerge: mkvmerge will no longer abort with an error message if no audio,
    video and subtitle tracks should be multiplexed. This allows copying of
    chapters from non-chapter source files (e.g. Matroska or MP4 files).
  • MKVToolNix GUI: the font size in the tool selector on the left will scale
    with the font size the user selects in the preferences.
  • MKVToolNix GUI: the GUI will no longer automatically resize the columns in
    tree and list views to match the content size. Instead it remembers and
    restores the widths set by the user. Implements #2353.
  • MKVToolNix GUI: multiplexer: the chapter name template will now be set
    automatically to the name template in the preferences’ "chapter editor"
    section. Additionally the option --generate-chapters-name-template … will
    be passed to mkvmerge in situations when mkvmerge will generate chapters
    (either because automatic generation is enabled or if chapters are generated
    for MPLS playlists). Part of the implementation of #2275.
  • MKVToolNix GUI: chapter editor: if the chapter name template is empty,
    chapters will be generated without names. Part of the implementation of
    #2275.
  • MKVToolNix GUI: chapter editor: added an option to remove all chapter names
    to the "additional modifications" dialog. Part of the implementation of
    #2275.

Bug fixes

  • mkvmerge: Matroska reader: fixed wrong timestamps when appending Matroska
    files where the second Matroska file’s first timestamp is bigger than 0.
    Fixes #2345.
  • mkvmerge: MP4 reader: fixed division by zero errors during file
    identification if the timescale is 0 in the MVHD atom.
  • mkvmerge: Windows Television DVR files are now recognized as an unsupported
    file type. This prevents mis-detection as MPEG-2 with an accompanying flood
    of error messages. Fixes #2347.
  • MKVToolNix GUI: info tool: under certain circumstances "cues" were shown at
    the wrong level (inside the previous master element instead of on level
    1). Fixes #2361.
  • MKVToolNix GUI: job queue: fixed invalid memory handling and consequent
    crashes when using the "edit in corresponding tool & remove from job queue"
    option if one of the files in that job contained attached files. Fixes
    #2368.

Build system changes

  • An AppStream metadata file will be installed in $prefix/share/metainfo.

Have fun :)