Log in

View Full Version : Playback of MLP and and TrueHD w/ MPC and ffdshow tryouts rev. 2275?


Inspector.Gadget
5th November 2008, 04:21
Before I ask my actual question, I'd like to thank all the developers and other experts here for their hard work and insights.

Using Media Player Classic (patched build rev. 82) and ffdshow tryouts (clsid's SVN rev. 2275) I've attempted to decode various audio formats. I've used Kurtnoise's samples and some provided by the CCCP Project and MPlayer to test E-AC3, TrueHD, MLP, and DTS-HD MA files playback on my system.

I have the ffdshow audio decoder set to use libavcodec to decode AC3, E-AC3, MLP, and DTS and have disabled the MPC internal filters except for the AC3/DTS source filter, which seems to be necessary for passing information to ffdshow in some way. Using this setup:


AC3 streams play with no obvious problems.
E-AC3 streams play with no obvious problems.
DTS streams play with no obvious problems.
DTS-HD MA streams are played back with only the core DTS stream decoded, as I would expect because I don't have any filters capable of decoding the rest of the stream.
MLP and TrueHD streams don't play at all; I get an error in MPC saying "Cannot render the file", even though I believe I've set ffdshow up to decode these streams.


All my test samples have been basic streams (not muxed to a container). Assuming that MLP and TrueHD decoding does work in this build of ffdshow, what do I need to do to play back these types of audio?

Adub
5th November 2008, 05:08
I think you may have answered your own question. You say that your streams are not muxed into a container. Well, as far as I know that are no splitters available that will process the raw MLP format. Try muxing to mkv, or mka if you are just using audio, and then try to play it again. Make sure that you have the latest Haali splitter installed. I know that I can play MLP formats, as I just recently watched 300 on the latest MPC-HC, SVN build, with the latest ffdshow-tryouts and Haali media splitter.

Inspector.Gadget
5th November 2008, 05:50
Thanks Merlin. What muxer and container do you suggest? MKVMergeGUI doesn't recognize the MLP or THD audio file ("file identification failed" error) and TSMuxerGUI can't detect the stream type. Both at least recognize E-AC3 and DTS-HD MA streams.

nautilus7
5th November 2008, 10:19
Mkvmerge doesn't support mlp or truehd, that's correct and tsmuxer is buggy. As far as i know, the only way to play truehd is inside m2ts files (blu-ray). Same for mlp. You can play them only isnide .aob (dvd audio).

Inspector.Gadget
5th November 2008, 13:37
Thanks Nautilus. Have you been able to re-mux a raw .THD or .MLP stream to an M2TS container? Which muxer did you use?

nautilus7
5th November 2008, 14:34
No, i haven't try. I use the blu-ray .m2ts untouched. But i think tsremux can mux truehd successfully. Have a look in that thread.

Inspector.Gadget
5th November 2008, 15:08
TSRemux doesn't seem to handle TrueHD unless it is already in a container. Any other ideas?

madshi
5th November 2008, 16:19
I've been told muxing with tsMuxer and then another pass with TsRemux works.

Inspector.Gadget
5th November 2008, 16:37
Thanks madshi. Here's what I did:

eac3to input.thd input.thd+ac3

TsMuxeR recognizes this as ac3 core + TrueHD. Muxed to m2ts, then remuxed to m2ts with TsRemux.

This plays in MPC and ffdshow reports 8-channel MLP, so it seems to be working. Haali Media Splitter throws two errors as the file is opened. Is this to be expected?

madshi
5th November 2008, 16:59
Thanks madshi, but TSMuxeR (at least the GUI) doesn't seem to accept THD streams outside of a container.
It doesn't accept TrueHD streams, but I think it does accept TrueHD+AC3 streams (eac3to can convert between those 2). Well, that's just what I've been told. Never tried it myself.

Inspector.Gadget
5th November 2008, 17:10
So TrueHD playback (as MLP component rather than AC3 core) works once processed with eac3to and muxed to M2TS. Any idea what I need to do with MLP? I gather that eac3to can't encode to TrueHD so I can't just recompress it. Transcoding to FLAC is easy enough with eac3to but I'd like to actually test the MLP decoder in ffdshow.