[MPlayer-dev-eng] [PATCH] liba52 problems with 2-ch vob, 6-ch output

eric at lammerts.org eric at lammerts.org
Thu Dec 27 14:03:25 CET 2001


On Thu, Dec 27, 2001 at 04:50:10AM +0200, Arpi wrote:
> look at dec_audio.c:
<snip>
> it will setup channel mode depending on user-spefied number of channels.
> liba52 should down/upmix any format to this mode.

It won't. From liba52.txt:
: The good news is that when you downmix to stereo you dont have to
: worry about this, you will ALWAYS get a stereo output no matter what
: was coded in the stream. For more complex output configurations you
: will have to handle the case where liba52 couldnt give you what you
: wanted because some of the channels were not encoded in the stream
: though.


> you mean, it fails here? (you request A52_3F2R|A52_LFE, but it does A52_DOLBY ?)
> if yes, then it's liba52's bug/limitation. i think it's bug, as downmix.c
> seems to have lots of conversion for all possible cases (even for mono->6ch)

I didn't examine the liba52 code very well since this behavior is documented.
It certainly is a limitation.


> you should add printf to print value of 'flags' before and after the call to
> decoder:
>         if (a52_frame (&a52_state, sh_audio->a_in_buffer, &flags, &level, bias))
> to see if it changes 'flags'.

Yeah, I already did that.
before -> 0x37 (A52_3F2R|A52_LFE|A52_ADJUST_LEVEL)
after  -> 0xa  (A52_DOLBY)

Eric



More information about the MPlayer-dev-eng mailing list