[mythtv] Internal DVD Player multichannel support

Mark Spieth mark at dclabs.com.au
Wed May 3 13:25:05 UTC 2006

> This is fine, for stereo content, and what I'd want, though I'd add in 
> bass
> management to push the results of a low-pass-filter to the LFE.
yes this should be done eventually

> Well, my point is that some "plain stereo" signals *are* intended to 
> provide
> surround information.  Dolby Pro-Logic pulls 4 channels (Front
> Left/Center/Right, Mono Rear) from two by reversing the matrix encoding 
> done at
> production time.  I don't really want to listen to a "pseudo surround 
> signal"
> either, but there are stereo signals intended to be de-matrixed and played
> across more than two speakers.  Unfortunately, I don't know of a way to 
> detect
> them automatically - hence my suggestion to have a keystroke for switching
> between "bypass" and "surround."  Surround could simply be all 6 channels 
> from
> AC3/DTS if available or routing of the 4 channels from a de-matrixed 
> stereo
> signal to the 6 physical channels if all that is available is stereo. 
> Bypass
> would be stereo to the Front Left/Right and LFE given a stereo track, and
> stereo downmix of AC3/DTS routed to Front Left/Right and LFE given 
> AC3/DTS.

the thing is for other 2ch encoding techniques are lossy and though the 
original source may have been prologic encoded, the lossiness will distort 
the spatial encoding.
that said however, you can get the surround amp to dematrix to multi channel 
or it shouldnt be hard to dematrix in s/w. nice to have though not 

>> To downmix we simply steal the mplayer matrixing code...  It's just a
>> case of splitting the signal to the speakers you haven't got, eg if no
>> center then half the center signal and patch it to the two front
>> speakers.  No surround then just patch the surrounds to the front.  No
>> sub then split the sub signal and send it to the front channels.  To be
>> totally correct you should drop 3dB of attenuation if you merge two
>> channels together to avoid clipping

dont need to downmix, you just specify that you have 2 ch and the decoders 
all adjust appropriately (except for mono sources but then who cares).
this is what happens now. just need to upmix to 6ch from an assumed prologic 
encoded 2ch stream. could be the default mode if you have no passthru and 
6ch audio surround amp. though I suspect the surround amp would do a much 
better job.

>> Bass management is slightly harder, but mplayer uses a fast high quality
>> solution.  Essentially you generate a highpass/lowpass FIR filter and
>> convolve everything with this.  Take the outputs to the respective
>> speakers.  There is a fast convolver in lavc and from memory there is an
>> adequate if not optimal bit of code to generate filter coeffs in
>> mplayer, otherwise there is a slightly nice bit of code in brutefir  (or
>> write our own... *shock*)

fir is a bit computationally excessive for LPF when the ear is quite phase 
insensitive to bass signals.


More information about the mythtv-dev mailing list