[MPlayer-dev-eng] [PATCH] Fixed-point WMA decoder adapted from ROckbox

Matt Campbell mattcampbell at pobox.com
Tue Apr 29 18:49:09 CEST 2008


I'm sorry, I didn't mean to remove the libdca check in configure; I was 
merely using the libdca check as a template for what I needed to add for 
libwma.  Here's a corrected patch.

As for patching libavcodec, the problem is that libwma includes modified 
versions of the FFT and MDCT functions from libavcodec, since the WMA 
decoder requires the MDCT function.  So if I patch libavcodec, then I'll 
also have to fix all of the other codecs in libavcodec that use MDCT 
and/or FFT, to use fixed-point numbers for these functions instead of 
floats.  And I'm not sure what else was changed in libwma relative to 
libavcodec; as I said before, I took libwma from Rockbox.

Matt

compn wrote:
> On Tue, 29 Apr 2008 10:48:25 -0500
> Matt Campbell <mattcampbell at pobox.com> wrote:
> 
>> Hello:
>>
>> Attached is a patch for MPlayer which adds a fixed-point WMA decoder 
>> that I adapted from Rockbox.  Rockbox's fixed-point WMA decoder was in 
>> turn adapted from the one in libavcodec, so it would seem that the best 
>> approach is to port the modifications from the Rockbox WMA decoder back 
>> to libavcodec.  But I didn't want to break libavcodec.  So instead, I 
>> turned the libwma library from ROckbox into a stand-alone library which 
>> can run outside of Rockbox, then added it to the MPlayer build system 
>> and wrote an audio decoder plug-in for libwma (based on ad_ffmpeg.c). 
>> The attached patch also includes some changes to etc/codecs.conf.
> 
> this would be better off in libavcodec. if you can, submit a diff of svn libavcodec to ffmpeg-devel. at least it will be a starting point. i'll add it to the ffmpeg small projects wiki.
> 
> as for your patch, it seems to remove the check for libdca for some reason.
> 
> -echocheck "libdca support"
> -if test "$_libdca" = auto ; then
> -  _libdca=no
> -  cat > $TMPC << EOF
> -#include <inttypes.h>
> -#include <dts.h>
> -int main(void) { dts_init (0); return 0; }
> -EOF
> -  cc_check -ldts $_ld_lm && _libdca=yes
> -fi
> -if test "$_libdca" = yes ; then
> -  _def_libdca='#define USE_LIBDCA 1'
> -  _ld_extra="$_ld_extra -ldts"
> -  _codecmodules="libdca $_codecmodules"
> 
> 
> -compn
> _______________________________________________
> MPlayer-dev-eng mailing list
> MPlayer-dev-eng at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libwma.patch.gz
Type: application/gzip
Size: 82030 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20080429/844511d5/attachment.bin>


More information about the MPlayer-dev-eng mailing list