[MPlayer-dev-eng] Re: PATCH 4/5: substract surround from front in pl_surround
Stephen Davies
steve at daviesfam.org
Mon Dec 10 21:41:52 CET 2001
Hi Tobias,
Thanks for your effort and thought on this.
On Mon, 10 Dec 2001, Tobias Diedrich wrote:
> Now this would mean we have downgraded front to mono :-(
> But remembering that Surround is supposed to be low-pass filtered,
> this is not really true, as mostly the high frequency carry
> directional information, whereas you can't locate very low
> frequencies.
Surround should be filtered to 7kHz. That's hardly "non directional very
low frequencies"...
> But unless you can convince me otherwise, at least this part of the
> patch should be applied:
>
> out[2] = pl_surround.delaybuf[pl_surround.delaybuf_ptr];
> - out[3] = -out[2];
> + out[3] = out[2];
>
> Or alternatively (inverted sourround output):
>
> - out[2] = pl_surround.delaybuf[pl_surround.delaybuf_ptr];
> + out[2] = -pl_surround.delaybuf[pl_surround.delaybuf_ptr];
> - out[3] = -out[2];
> + out[3] = out[2];
>
> Otherwise you output surround to both rear-speakers and one is in
> anti-phase to the other, so low frequencies will cancel out each other...
My code drives the two rear channels in anti-phase deliberately. In this
I followed the Dolby Surround documents from Dolby, which recommend this
to create a "diffuse, non-localizable" sound at the rear.
Remember - this is not a Pro Logic style active decoder. In the Pro-Logic
case you would drive the speakers in-phase. The adaptive matrix would
steer the sound to attempt to localize it.
If you drive the rear in-phase with a passive decoder, rear sounds
localize always in the rear centre. For ambient sounds, reverb and such
typical surround sounds you want the diffuse effect.
Perhaps this should be configurable. I did listen to both ways - and I
think the out of phase sounds better.
Steve
More information about the MPlayer-dev-eng
mailing list