[vlc-devel] Re: WinCE port of VLC

Jean-Paul Saman jean-paul.saman at planet.nl
Fri Mar 19 16:54:17 CET 2004

Hello Cédric,

Great that you picked up the port to WinCE. I hope to be of some help to 
you, but my experience with cross-compiling under Windows is 
non-existing. I always use Linux for that. So here it goes:

 tre31 at etu.enseeiht.fr wrote:

>I am Cédric Marodon, French student of a computer engineering school
>ENSEEIHT. Since one month and half, I am trying to pursue the WinCE port
>of VLC. I'll ask you because you have already made a great work on PDA.
Thanks ;-)

>Of course WinCE is not Familiar Linux. But the platform is the same
>(XScale processor running at 400mhz, ARM family, Pocket Loox 600).
>In one month, I succeeded to port libVLC and some plugins (PCM, ADPCM
>works very fine !). I am also trying to create a native GUI.
A native GUI that would be nice. My I suggest to do a skins one ;-)

>But I found some problem with the biggest extern library : FFmpeg, Flac,
>Mpeg2dec, MAD, theora.
Compiling FFMpeg is always a nightmare in cross-development 
environments. Every time again I end of modifying the Makefiles for it. 
All the other libraries work like a charm, except Theora which I have 
not done yet.

>Actually I am trying to play mp3. I compile libMAD for the mpegtofixed32
>plugin. Once compilation was done, the mp3 plays BUT with an horrible
>sound ! I am trying to identify the problem and it seems to come from
>libMAD (bit.c, frame.c and synth.c) !
Which version of libmad? I use mad 0.15.0b now. Did you change the code 
in mpegtofixed32?

Here is my libmad configure line:

./configure --prefix=/usr --host=armv4l-linux --enable-static 

I didn't need any patches for libmad. But you have to know that the 
libmad decoder does not consume the entire buffer you feed it, it only 
does a frame. You have to take that in account and update/copy the 
remaining part of your buffer. I know Meuuh wrote that audio decoder and 
he did that AFAIK.

If you haven't modified the VLC source code in that area, then I suspect 
it to be a problem of non-consistent datatypes.

>As I didn't optimize this for ARM, maybe you know what to do for this
>platform ! I would like to know if there were special compilation option
>(-03 for gcc ? what do this do ?). Or if you directly modify the source
>code of libMAD.
Under linux configure with --host=armv4l should trigger all ARM 
optimizations in the compiler and if present in the library. Also look 
in doc/arm-cross-compile-howto.sgml

>I would really like MAD, FFMPEG and THEORA to be working and I would be
>pleased if you have some more information on the compilation of these
As I told above, that is basically it. But do read the document I 
pointed to above, it does have more detail on exact libraries.

>Moreover there is another open source project called PocketDivX
>(PocketMVP) who succeeded to use libMAD, libTheora and FFMPEG on PocketPC.
I know this. It has an interesting optimization on YUV to RGB in ARM 
assembly, which is still on my list of things todo. Whenever I get 
around to it this century ;-)

>So it looks like PocketPC port seems realizable. In this project some part
>of these library has been compiled with EVC (Visual Studio for WinCE). But
>there are a lot of changes. That's why I wonder if you modified the
I did not modify the libmad library or any other library needed for ARM.


Many greetings,
Jean-Paul Saman

VLC iPAQ maintainer                    http://www.videolan.org
RedHat Certified Engineer         RHCE number: 807202745005548

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 252 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20040319/bdc04019/attachment.sig>

More information about the vlc-devel mailing list