[MPlayer-dev-eng] libdca decoder bugs

Uoti Urpala uoti.urpala at pp1.inet.fi
Fri Sep 28 22:23:22 CEST 2007


The decoder always claims to output exactly the number of channels the
user requested. However libdca only guarantees this for stereo. I
suppose it might also be true for mono, but certainly not for arbitrary
speaker arrangements. You need to check what the output for a given
input/requested_output pair really is.

The function convert2s16_multi which interleaves the samples seems to
still assume the input_format->output_channels mapping the old FFmpeg
decoder used, and adds empty channels in some cases. How much this
matters in practice depends on what channel configurations libdca will
output for given requested output configurations.

According to http://bugzilla.mplayerhq.hu/show_bug.cgi?id=897 the
channel order of 5.1 is wrong (at least compared to some other codecs as
the standard in MPlayer isn't too well specified). I haven't verified
that myself.

libdca normally outputs floats; I think ad_libdca.c should not force
conversion to int16_t.




More information about the MPlayer-dev-eng mailing list