Log in

View Full Version : MKVToolNix v24.0.0 released


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 [62] 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

Reino
1st March 2015, 17:02
2015-02-25 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: added a new checkbox »reduce to audio core« on the »format-specific options« tab that passes the new --reduce-to-core option to mkvmerge if enabled. Part of the implementation of #1107.
Thanks Mosu, but especially Moritz! My Samsung SMART TV has trouble playing DTS-HD MA; the audiotrack is always a little behind and therefore not in sync (for which I hope some future firmware-update could help). Now I can remux in one single step, instead of first having to run eac3to (or ffmpeg) to extract the core and remux afterwards. Works great!

Mosu
1st March 2015, 17:10
@Thunderbolt: so far I haven't done anything in that direction. mkvmerge's TrueHD and AC3 handling code might work with the Atmos extensions, but it isn't explicitly supported (not even tested).

@Corone: mosu == Moritz Bunkus

Lathe
5th March 2015, 21:02
Does the newer MKVMerge strip out the encode data?

Perhaps it has done this in earlier builds, but I hadn't noticed it. I found out recently when I took MKV files that DID have the full x264 encode data in the stream and I used the most recent version of MKVMerge to slice it into 10 second snippets (to send to Selur for analysis as to why certain MKV files weren't playing on my OPPO BDP-83 player) And, lo and behold, the resulting 10 second snippets had the x264 encode data stripped out!

Has this always been the case or is this something new?

Thank you!

Oh... and if so, IS there some way to use MKVMerge and still keep the x264 encode data?

sneaker_ger
5th March 2015, 21:34
x264's custom SEI is in the beginning of the file, only the first part will have it if you cut a file into pieces. It's always been this way. To answer the question: not with mkvtoolnix.

Lathe
5th March 2015, 21:42
x264's custom SEI is in the beginning of the file, only the first part will have it if you cut a file into pieces. It's always been this way. To answer the question: not with mkvtoolnix.

Oh..... right.....! I forgot about that :) Thanks m8!

v0lt
11th March 2015, 04:16
@Mosu
mkvmerge v7.7.0 incorrectly fills the biSize field in the BITMAPINFOHEADER structure for RGB8 and RGB565 format ("V_MS/VFW/FOURCC").

http://msdn.microsoft.com/en-us/library/windows/desktop/dd318229%28v=vs.85%29.aspx
biSize
Specifies the number of bytes required by the structure. This value does not include the size of the color table or the size of the color masks, if they are appended to the end of structure...

For this reason, I did not work Color Space Converter (http://msdn.microsoft.com/en-us/library/windows/desktop/dd387892%28v=vs.85%29.aspx). I had to make a patch for MPC-BE (http://sourceforge.net/p/mpcbe/code/197/).

Mosu
11th March 2015, 13:25
Do you have a sample file? Please upload one to my FTP server (see signature).

The thing is that a LOT of AVIs have biSize include the codec's private initialization bytes and not just the size of BITMAPINFOHEADER. As the MS specs don't say anything about codec private data other than color tables and masks this is very much a grey area.

v0lt
13th March 2015, 20:39
twogradients_RGB8_RGB565.7z (http://www.mediafire.com/download/07on6gsf6w8o4gp/twogradients_RGB8_RGB565.7z) (AVI files made in VirtualDub).
I also uploaded to FTP server.

mastrandrea
21st March 2015, 14:30
Is mkvmerge the right tool to remux a .mkv with multiple chapters EditionEntry (movie with different cuts) so that I can reorder/keep the chapters of the edition I'm interested and strip the others?

Mosu
21st March 2015, 15:26
Not really, no.

kuchikirukia
22nd March 2015, 09:35
Is this flipping the audio? One is PCM extracted with mkvmerge 7.7.0, the other is with eac3to 3.28

http://s1.postimg.org/h50ag9sr3/untitled.png (http://postimage.org/)
screen shot windows (http://postimage.org/app.php)

The mkvmerge extracted one errors out all of MeGUI's input decoders.

Here's the log, starting off with the eac3to extraction and then moving on to trying to encode using the mkvmerge extracted file:


--[Information] [3/22/2015 3:59:32 AM] Input: D:\magicalmirai_2014_in_OSAKA\magicalmirai_2014_in_OSAKA_t01.mkv
--[Information] [3/22/2015 3:59:32 AM] Arguments: "D:\magicalmirai_2014_in_OSAKA\magicalmirai_2014_in_OSAKA_t01.mkv"
--[Information] [3/22/2015 3:59:35 AM] (core: DTS, 5.1 channels, 1509kbps, 48kHz)
--[Information] [3/22/2015 3:59:35 AM] Feature Retrieval Completed
-[Information] Log for job3 (ext, magicalmirai_2014_in_OSAKA_t01.mkv -> )
--[Information] [3/22/2015 3:59:46 AM] Started handling job
--[Information] [3/22/2015 3:59:46 AM] Preprocessing
--[Information] [3/22/2015 3:59:46 AM] Job commandline: "C:\Program Files\MeGUI_2507_x86\tools\eac3to\eac3to.exe" "D:\magicalmirai_2014_in_OSAKA\magicalmirai_2014_in_OSAKA_t01.mkv" 4:"e:\T4_Audio - Japanese.wav" -progressnumbers
--[Information] [3/22/2015 3:59:46 AM] Process started
--[Information] [3/22/2015 3:59:46 AM] Standard output stream
--[Information] [3/22/2015 3:59:46 AM] Standard error stream
---[Information] [3/22/2015 3:59:49 AM] MKV, 1 video track, 3 audio tracks, 1:55:18, 60i /1.001
---[Information] [3/22/2015 3:59:49 AM] 1: h264/AVC, English, 1080i60 /1.001 (16:9)
---[Information] [3/22/2015 3:59:49 AM] 2: DTS Master Audio, Japanese, 5.1 channels, 24 bits, 48kHz
---[Information] [3/22/2015 3:59:49 AM] (core: DTS, 5.1 channels, 1509kbps, 48kHz)
---[Information] [3/22/2015 3:59:49 AM] "Surround 5.1"
---[Information] [3/22/2015 3:59:49 AM] 3: DTS, Japanese, 5.1 channels, 1509kbps, 48kHz
---[Information] [3/22/2015 3:59:49 AM] "Surround 5.1"
---[Information] [3/22/2015 3:59:49 AM] 4: RAW/PCM, Japanese, 2.0 channels, 24 bits, 48kHz
---[Information] [3/22/2015 3:59:49 AM] "Stereo"
---[Information] [3/22/2015 3:59:49 AM] a04 Extracting audio track number 4...
---[Information] [3/22/2015 3:59:49 AM] a04 Reading RAW/PCM...
---[Information] [3/22/2015 3:59:49 AM] a04 Writing WAV...
---[Information] [3/22/2015 3:59:49 AM] a04 Creating file "e:\T4_Audio - Japanese.wav"...
---[Information] [3/22/2015 4:09:10 AM] a04 The original audio track has a constant bit depth of 24 bits.
---[Information] [3/22/2015 4:09:10 AM] Video track 1 contains 207330 frames.
---[Information] [3/22/2015 4:09:10 AM] eac3to processing took 9 minutes, 22 seconds.
---[Information] [3/22/2015 4:09:10 AM] Done.
--[Information] [3/22/2015 4:09:11 AM] Postprocessing
---[Information] [3/22/2015 4:09:11 AM] Deleting intermediate files
--[Information] [3/22/2015 4:09:11 AM] Job completed
-[Information] Log for job3 (audio, 1.mka -> 7.opus)
--[Information] [3/22/2015 4:36:34 AM] Started handling job
--[Information] [3/22/2015 4:36:34 AM] Preprocessing
--[Information] [3/22/2015 4:36:34 AM] MediaInfo
---[Information] [3/22/2015 4:36:34 AM] File: E:\1.mka
-[Information] Format: Matroska
-[Information] FormatString: Matroska
-[Information] FileSize: 1992837852
-[Information] PlayTime: 01:55:17.910
---[Information] General
-[Information] ID: 1
-[Information] StreamOrder: 0
-[Information] Format: PCM
-[Information] FormatProfile:
-[Information] FormatSettingsSBR:
-[Information] FormatSettingsPS:
-[Information] SamplingRate: 48000
-[Information] SamplingRateString: 48.0 KHz
-[Information] Channels: 2
-[Information] ChannelsString: 2 channels
-[Information] ChannelPositionsString2:
-[Information] BitRateMode: CBR
-[Information] Delay: 0
-[Information] Title: Stereo
-[Information] Language: ja
-[Information] LanguageString: Japanese
-[Information] Default: No
-[Information] DefaultString: No
-[Information] Forced: No
-[Information] ForcedString: No
---[Information] Audio
--[Information] [3/22/2015 4:36:34 AM] Trying to open the file with NicAudio
--[Information] [3/22/2015 4:36:34 AM] Failed opening the file with NicAudio()
--[Information] [3/22/2015 4:36:34 AM] Trying to open the file with BassAudioSource()
--[Information] [3/22/2015 4:36:36 AM] Failed opening the file with BassAudioSource(). File could not be opened!
--[Information] [3/22/2015 4:36:36 AM] Trying to open the file with FFAudioSource()
--[Information] [3/22/2015 4:36:37 AM] Successfully opened the file with FFAudioSource()
-[NoImage] LoadPlugin("C:\Program Files\MeGUI_2507_x86\tools\ffms\ffms2.dll")
-[NoImage] FFAudioSource("E:\1.mka")
-[NoImage] # detected channels: 2 channels
-[NoImage] # detected channel positions:
-[NoImage] return last
--[Information] [3/22/2015 4:36:37 AM] Avisynth script
--[Information] [3/22/2015 4:36:37 AM] Commandline used: --ignorelength --vbr --bitrate 256 - "{0}"
--[Information] [3/22/2015 4:36:37 AM] Avisynth script environment opened
--[Information] [3/22/2015 4:36:37 AM] Script loaded
--[Information] [3/22/2015 4:36:37 AM] Output Decoder
---[Information] [3/22/2015 4:36:37 AM] Channels: 2
---[Information] [3/22/2015 4:36:37 AM] Bits per sample: 32
---[Information] [3/22/2015 4:36:37 AM] Sample rate: 48000
--[Information] [3/22/2015 4:36:37 AM] Job commandline: C:\Program Files\MeGUI_2507_x86\tools\opus\opusenc.exe --ignorelength --vbr --bitrate 256 - "E:\7.opus"
--[Information] [3/22/2015 4:36:37 AM] Process started
--[Information] [3/22/2015 4:36:37 AM] Standard output stream
--[Information] [3/22/2015 4:36:37 AM] Standard error stream
---[Information] [3/22/2015 4:36:37 AM] ERROR: Unsupported WAV sample size.
---[Information] [3/22/2015 4:36:37 AM] Must be 8, 16, or 24 bit PCM or 32 bit floating point PCM.
---[Information] [3/22/2015 4:36:37 AM] Error parsing input file: -
-[Error] [3/22/2015 4:36:37 AM] Exception message: The pipe has been ended.
-[NoImage] at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
-[NoImage] at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
-[NoImage] at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
-[NoImage] at MeGUI.AviSynthAudioEncoder.encode()
-[Error] [3/22/2015 4:36:37 AM] Stacktrace
-[Error] [3/22/2015 4:36:37 AM] Inner exception: null
--[Error] [3/22/2015 4:36:37 AM] An error occurred
--[Information] [3/22/2015 4:36:37 AM] Job completed

sneaker_ger
22nd March 2015, 09:54
I cannot reproduce that. Muxed a wav file with mkvmerge then demuxed with mkvextact and eac3to. All three files had the same "orientation". Any sample?

kuchikirukia
22nd March 2015, 10:09
Ok, it's the eac3to one that's flipped, since if I read the mkv with audacity I get the same orientation as mkvmerge's extracted mka. So now the question is why is it still resulting in a file that can't be read by these decoders when it plays just fine?

Sample:
http://s000.tinyupload.com/?file_id=22495506543564835263

E: Dude, what the heck are you using?
http://s3.postimg.org/m5xdphqoz/untitled.png (http://postimage.org/)
image upload with preview (http://postimage.org/)

sneaker_ger
22nd March 2015, 11:01
I cannot reproduce, something's off about your test setup.

kuchikirukia
22nd March 2015, 11:20
Well, mkvmerge is working fine so I'll take this elsewhere. May be an incompatibility with XP.

73ChargerFan
24th March 2015, 03:10
It's been a while since I've remuxed DVD VOB files, but I seem to remember mmg automatically appending all the subsequent VOB files when I dragged the first into the file list. Am I mistaken or is there an option I missed?

Edit: Never mind, it worked, just didn't show the additional files in the file list like I remembered.

filler56789
24th March 2015, 13:39
@Mosu: now that there exists libdcadec

( https://github.com/foo86/dcadec ),

¿how much time until MKVtoolnix supports A_DTS/LOSSLESS and A_DTS/EXPRESS? :)

nevcairiel
24th March 2015, 13:42
There is no need for extra DTS codec ids, just shove them all in A_DTS and enjoy support in every player that exists today?
Not that any sources for core-less DTS lossless even exist.

filler56789
24th March 2015, 18:14
@nev: AFAIK, MKVtoolnix does not recognize DTS Express yet, the only way to make LBR DTS Matroska-compatible still is through the ACM-compatibility mode.

Mosu
24th March 2015, 18:18
That is correct. I don't have any concrete plans for adding support at the moment.

filler56789
24th March 2015, 18:26
Thanks for answering.

Mosu
25th March 2015, 22:57
I've spent the day trying to implement support for DTS Express. DTS Express is basically a DTS stream without core elements (just the HD extensions). I've got this pretty much under control safe for one thing – determining the number of samples in each packet.

For DTS core packets this is trivial. For HD extensions? Not so much. In ffmpeg there's no decoder for such streams, and the dcadec library linked to by filler56789 is no help either.

The DTS Express sample files I have make dcadec choke with the error message »Unsupported feature«. Browsing through the source code of dcadec leads me to believe that dcadec can only determine the number of samples in an HD extension of type XLL – but my sample files don't use XLL, they use LBR. (dcadec can determine the number of samples from core packets, of course, but DTS Express doesn't use core packets.)

Why do I need the number of samples? In order to calculate a packet's duration and with that information each packet's timecode. No timecodes, no go.

So basically: we're still screwed wrt DTS Express and will likely continue to be for the foreseeable future.

nevcairiel
25th March 2015, 23:15
The timing is in the ExSS headers (Extension Substream). In the DTS specification (http://www.etsi.org/deliver/etsi_ts/102100_102199/102114/01.03.01_60/ts_102114v010301p.pdf), its nuRefClockCode and nuExSSFrameDurationCode which you want to look at.

Mosu
26th March 2015, 07:22
Thanks for the info & the pointer to the DTS specs; I only had v1.2.1 which didn't describe LBR. I'll look into it.

Mosu
26th March 2015, 12:30
Thanks to nevcairiel's information mkvmerge supports DTS Express now.

filler56789
26th March 2015, 14:28
Thanks to nevcairiel's information mkvmerge supports DTS Express now.

:goodpost: , many :thanks: for that! :)

SeeMoreDigital
26th March 2015, 16:43
Thanks to nevcairiel's information mkvmerge supports DTS Express now.Nice one Mosu...

Out of interest, does anyone have any DTS Express samples?

Mosu
26th March 2015, 16:58
I have three files: two raw ones, one inside an MPEG transport stream. I'll send you a download location via PM.

hubblec4
26th March 2015, 18:09
Thanks to nevcairiel's information mkvmerge supports DTS Express now.

is DTS Express from direct load of Bluray/mpls also supported?

Mosu
26th March 2015, 18:11
In MPEG transport streams? Yes.

filler56789
26th March 2015, 18:24
The next step is, the Linux folks convince foo86 that LBR-decoding *is* important for libdcadec ;-)

https://github.com/foo86/dcadec/issues/8#issuecomment-85062370

hubblec4
26th March 2015, 19:25
In MPEG transport streams?

yes, m2ts.

Thanks a lot for your continuous work.

Mosu
27th March 2015, 21:32
Hey,

I've released MKVToolNix v7.8.0. Tons of bug fixes, among them an important one that fixes a corruption when dealing with HEVC tracks without aspect ratio information. New features include support for DTS Exrepss and a Swedish translation (work in progress).

Changes for package maintainers: Boost's Math library is now required.

Here are the usual links: the MKVToolNix home page (https://www.bunkus.org/videotools/mkvtoolnix/), the Windows installer and portable version (http://www.fosshub.com/MKVToolNix.html) and the source code (https://www.bunkus.org/videotools/mkvtoolnix/source.html).

All binaries that I provide have been uploaded already.

Here's the full ChangeLog (https://www.bunkus.org/videotools/mkvtoolnix/doc/ChangeLog) since the previous release:

2015-03-27 Moritz Bunkus <moritz@bunkus.org>
* Released v7.8.0.
* build system: Boost's »Math« library is now required.
* mkvmerge: bug fix: HEVC tracks which did not have an aspect ratio present in their sequence parameter set were copied incorrectly; the resulting sequence parameter set was invalid. Fixes #1081 (https://github.com/mbunkus/mkvtoolnix/issues/1081).
* mkvextract: bug fix: When extracting HEVC tracks mkvextract will use the same start code lengths that x265 uses (four bytes 0x00000001 for the first and video/picture/sequence parameter set NALs and three bytes 0x000001 for all others).

2015-03-26 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: File type identification will output a more detailed description of the DTS type for DTS audio tracks (DTS-HD Master Audio, DTS-HD High Resolution, DTS Express or just plain DTS). Implements #1109 (https://github.com/mbunkus/mkvtoolnix/issues/1109).
* mkvmerge: new feature: Implemented support for DTS Express.

2015-03-25 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The number of channels in DTS tracks with more than six channels is now recognized correctly by parsing the DTS HD extensions, too. Fixes #1139 (https://github.com/mbunkus/mkvtoolnix/issues/1139).

2015-03-24 Moritz Bunkus <moritz@bunkus.org>
* all: new feature: added a Swedish translation of the programs by Kristoffer Grundström (see AUTHORS).

2015-03-24 Mats Peterson <matsp888@yahoo.com>
* mkvmerge: bug fix: Fixed handling of the BITIMAPINFOHEADER extra data size handling during merging and extraction for codecs like HuffYUV.

2015-03-23 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: When appending unframed HEVC/h.265 tracks and setting the default duration the second and all following source parts will use the same default duration as set for the first part. Fixes #1147 (https://github.com/mbunkus/mkvtoolnix/issues/1147).

2015-03-17 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: enabled the use of tags in WebM files. Tagging elements not supported by the WebM specs are removed. Fixes #1143 (https://github.com/mbunkus/mkvtoolnix/issues/1143).

2015-03-13 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed detection of audio tracks in QuickTime files whose FourCC code is unknown to mkvmerge.

2015-03-11 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed detection of video tracks in QuickTime files whose FourCC code is unknown to mkvmerge.

2015-03-10 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: Fixed VobSub file naming when mkvextract is built against Boost::Filesystem older than 1.50.0. Fixes #1140 (https://github.com/mbunkus/mkvtoolnix/issues/1140).

2015-03-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed detection of Cinepak video tracks in QuickTime files.
* mkvmerge: bug fix: fixed detection of PCM audio tracks in QuickTime files using the »raw « FourCC.
* mkvmerge: bug fix: fixed detection of tracks in Flash Video files for which the headers do not signal a track.
* mkvmerge: bug fix: fixed a segfault in the Flash Video file format reader.

2015-03-03 Moritz Bunkus <moritz@bunkus.org>
* mmg: The change making the window wider by default has been reverted.
* mkvmerge: bug fix: Fixed file type detection for MP3 files with big ID3 tags at the start of the file (e.g. if they contain cover images).
* mkvinfo (Qt interface): enhancement: implemented support for opening files via drag & drop.

2015-03-01 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: added an option (--engage no_delay_for_garbage_in_avi) for disabling deriving a delay from garbage in audio tracks in AVI files. Requested in #1137 (https://github.com/mbunkus/mkvtoolnix/issues/1137).
* mkvmerge: bug fix: The formula used for calculating the audio delay for garbage data at the start of tracks in AVI files has been fixed. Fixes #1137 (https://github.com/mbunkus/mkvtoolnix/issues/1137).

Have fun.

filler56789
27th March 2015, 21:57
^ Many :thanks: for the new version.

filler56789
28th March 2015, 13:49
Testing the latest MKVmerge and the latest LAV Filters...

Re: DTS Express — muxing went fine, and playback went fine :)

Re: "Pure Lossless" DTS —
mmg says "everything went fine", BUT the original 35.9MB .dts(hd) file became a 5KB .mka file :p

LAV Splitter and LAV Audio do play the "pure lossless" source, BUT at the wrong speed :D

Mosu
28th March 2015, 14:00
I'll need that file you're trying to mux in order to debug it. Please upload it to my FTP server. Thanks.

filler56789
28th March 2015, 14:53
^ Done
(archive's name = "MARINA_LIMA~Criancza.zip").

Mosu
28th March 2015, 14:59
That's an interesting file, haven't seen such a one yet. ffmpeg generally knows about the format (see here (https://www.ffmpeg.org/doxygen/trunk/dtshddec_8c-source.html)), but cannot decode it either.

Meaning: this kind of DTS-HD container is currently not supported by mkvmerge. Maybe I'll add support for it, but don't count on it.

SeeMoreDigital
28th March 2015, 15:09
I'll need that file you're trying to mux in order to debug it. Please upload it to my FTP server. Thanks.^ Done
(archive's name = "MARINA_LIMA~Criancza.zip").May I have that sample too please for my collection?

filler56789
28th March 2015, 15:34
@SMD:

http://www.mediafire.com/download/g7dzip5a350e75b/MARINA_LIMA~Criancza.zip

sneaker_ger
28th March 2015, 15:42
That's an interesting file, haven't seen such a one yet. ffmpeg generally knows about the format (see here (https://www.ffmpeg.org/doxygen/trunk/dtshddec_8c-source.html)), but cannot decode it either.
The native ffmpeg decoder can't, but ffmpeg can decode it when compiled with (lib)dcadec.

SeeMoreDigital
28th March 2015, 15:54
@SMD:

http://www.mediafire.com/download/g7dzip5a350e75b/MARINA_LIMA~Criancza.zipMany thanks...

Well I managed to mux the 'core-less' DTS-HD MA stream into the .m2ts container, in the hope that it might trick MKVmerge into muxing it into .mka, but it did not work.

I also tried playing the 'core-less' DTS-HD MA stream using my Oppo BDP-103 player, but it did not work either...

Mosu
28th March 2015, 15:58
mkvmerge has two problems with that file The first is that it uses that strange DTSHDHDR file format. This is not really a big problem as mkvmerge can skip the first 112 bytes and treat the rest as a pure DTS elementary stream. However, even if there weren't a second problem one result of this file format is that mkvmerge would emit a warning about garbage at the beginning of the file. So this has to be fixed, too.

More important than that is that mkvmerge currently only supports core-less DTS files which use LBR extension substreams (that's what DTS Express is: a core-less extension substream consisting solely of LBR extensions). The file in question uses XLL extensions. These are currently not supported by mkvmerge if they're not accompanied by cores.

kasper93
28th March 2015, 17:57
That's an interesting file, haven't seen such a one yet. ffmpeg generally knows about the format (see here (https://www.ffmpeg.org/doxygen/trunk/dtshddec_8c-source.html)), but cannot decode it either.

Meaning: this kind of DTS-HD container is currently not supported by mkvmerge. Maybe I'll add support for it, but don't count on it.

You need to build ffmpeg with libdcadec (https://github.com/foo86/dcadec) which is superior to ffmpeg's dca decoder in every way. Simply do ./configure --disable-decoder=dca --enable-libdcadec :)

Mosu
28th March 2015, 20:26
Hmm, I've looked through the DTS spec and am somewhat unclear how to retrieve the sampling frequency from a core-less XLL extension sub-stream… The general EXSS headers do have a field called »nuMaxSampleRate« in the asset descriptor, but is that the actual sampling frequency? LBR extension sub-streams have an additional field »nLBRSampleRateCode« in their own headers (LBR audio asset), but there's no such field in the XLL sub-stream headers.

The libdcadec sources aren't helping either.

filler56789
28th March 2015, 21:04
Assuming I have not misunderstood everything...



sFreqIndex (original sampling frequency)

This is the sample rate of audio in a channel set. It corresponds to the resulting sampling frequency after interpolation by the nFsInterpolate factor, on the encode side. The 4-bit sFreqIndex field is interpreted as described in Table 8-5. Remember that certain extra fields are encountered in the data stream once the sample rate is greater than 96 kHz.

Mosu
28th March 2015, 21:36
That's the sampling frequency for one channel set, and I'm not so sure how to interpret that value.

Your FLAC file has a sampling frequency of 48000 Hz. Your XLL DTS file has sFreqIndex == 5 (meaning 22050 Hz) with a sFsInterpolate == 4. These just don't add up.

For some packets sFreqIndex is even == 8 (indicating 176400 Hz). Yikes?

At least nuMaxSampleRate from the EXSS header audio asset stays constant at 48000 Hz…

filler56789
28th March 2015, 22:34
My bad, it seems you are right.

Mosu
29th March 2015, 08:16
I've created pre-build 682 (https://www.bunkus.org/videotools/mkvtoolnix/win32/pre/) which can read your file just fine. It still relies on that »maximum sampling frequency« field, though, and like I've said I'm not certain at all that this is the right thing to do.

filler56789
29th March 2015, 12:13
^ Now I understand you; I had forgotten that almost two years ago, Kostya said to me:


...that specification is known to be incomplete and sometimes wrong.