[MPlayer-dev-eng] Re: [RFC] 6-channel AAC and channel reordering
Frank Aurich
fa859178 at inf.tu-dresden.de
Tue Oct 31 02:25:48 CET 2006
Corey Hickey wrote:
> Dominik 'Rathann' Mierzejewski wrote:
>> Reviving an old, forgotten patch...
>
> Yeah, I have a bad habit of leaving old patches alone...
>
>> I've tested it on my 4.0 setup and I didn't hear the front center and lfe
>> channels until I downmixed it to 4ch:
>> mplayer -af
>> pan=4:1:0:0:0:0:1:0:0:0:0:1:0:0:0:0:1:0.25:0.25:0:0:0.25:0.25:0:0 \
>> return,_the_h720p.mov
>
> That makes sense, since mplayer is outputting 6 channels, and on your
> system the last two aren't hooked up to anything. One thing, though: do
> you have channels=6 in your config file, or did you specify -channels 6
> on your command line? If not, then I'm confused, since as far as I know
> mplayer tells libfaad to downmix to 2 channels be default.
>
> I have one or two ideas of ways to implement reasonably user-friendly
> upmixing and downmixing configurations (that can be specified in the
> config file). When I wrote the original patch, I was thinking it would
> be nice to use pan (instead of channels) to do the remapping and
> remixing at the same time, but now I think it would be better to remix
> as a second step in order to conserve programming sanity.
>
> Like this:
> decoder [1]---> channel-remap [2]---> remixing [3]---> output
> where:
> [1] is arbitrary channel order
> [2] is consistent channel order
> [3] is remixed the way the user wants
>
>> With that, it seems to be working fine (certainly the trailer sounds
>> better
>> than without it). Attached a version updated to current SVN, although the
>> old patch still applies.
>>
>> OK to apply?
>
> For some reason I have a nagging feeling that somebody else proposed a
> different approach and that it might have been committed, but I can't
> dig up the patch. Maybe I'm imagining things.
>
> In any case, the patch I posted was mostly a proof-of-concept, but I
> guess it works. Looking back, I see two things I might do differently.
>
> (a) The chan_map array could just be a string, with creation of *int
> pointers for af->control happening right before they're needed. This
> would obviate the need for a separate af_set_channel_map() funcion.
>
> (b) If (a) is done, then it would be easy to make sure the length of the
> array is as expected and prevent reading beyond the end.
>
> I'll go ahead and make those changes and see if it works.
>
> -Corey
There you go: http://thread.gmane.org/gmane.comp.video.mplayer.devel/36195/
Frank
More information about the MPlayer-dev-eng
mailing list