[JAM, MDA Compact, S100 Software Upgrading] anek_2002:
TCPMP new VS2008

TCPMP new VS2008 builds for WM6.1 with FLV built in

--------------------------------------------------------------------------------

I have been playing around getting TCPMP to compile in VS2008, it now builds and runs.

These new builds have 2 main advantages over the original builds:

1) They run on the latest Windows Mobile 6.1 ROMS where the original build crashes (crash.txt message).

2) They support the FLV format straight out of the CAB.

On the Kaiser you must use 'GDI' or 'Raw FrameBuffer' for decent performance, unless you have the latest WM6.1 roms which have Directdraw working at a reasonable pace.

Changelog

recomp-02

Added MPEG4.PLG from source found in TCPMP 0.66

FFMPEG updated

recomp-03 - 27/5/08

Installs and runs on WM2003 devices

Detects Kaiser, allows 'Direct' video output

Source zip now has ASM files

Small optimizations

Source Code - For Developers ONLY

The latest modified source for TCPMP and the VS2008 project is here:

http://rapidshare.de/files/39538681/...s2008.zip.html

ffmpeg.plg needs avcodec-51.dll and avutil-49.dll, couldn't get it to work linked in. The DLL's were built from the source available here:

http://ffmpeg.mplayerhq.hu/download.html

To get the ARM optimized assembler parts linked in your need to build it using CEGCC:

http://cegcc.sourceforge.net/

On Cygwin on Windows:

http://www.cygwin.com/

Using these configure options:

./configure --enable-memalign-hack --target-os=WinCE --arch=arm --cross-compile \

--cross-prefix=arm-wince-mingw32ce- --enable-small \

--enable-static --enable-shared --disable-mmx --disable-zlib --disable-ipv6 --disable-debug \

--disable-ffmpeg --disable-ffserver --disable-ffplay \

--disable-encoders --disable-network --disable-muxers --disable-decoders --disable-filters \

--disable-demuxers --disable-devices --disable-protocols --disable-bsfs --disable-parsers \

--enable-decoder=h263 --enable-decoder=mpeg4 --enable-decoder=flv --enable-decoder=flv1 \

--enable-decoder=h264 --extra-cflags="-march=armv4 -mtune=xscale"

libmad.plg was built in CEGCC with libmad linked in, using these configure options:

CFLAGS="-march=armv4 -mtune=xscale" ./configure --host=arm-wince-mingw32ce --enable-speed --enable-fpm=arm

I stopped doing this as it added little speed, now just compiled in VS2008.

Things done so far:

1) Fixed all warnings

2) Built a new installer

3) Built in the small changes made to the FFMPEG plugin that allow .FLV (flash videos) to play that were available as separate plugins, this is now built into the ffmpeg.plg and splitter.plg. The code was from: http://sourceforge.net/project/showf...roup_id=201449

4) Turned on all compiler optimizations in VS2008 - FLV playback is 10% faster than original build on my Kaiser.

5) Tided up some projects, not tested Win32 or Smartphone builds, just Pocket PC.

6) FFMPEG used in ffmpeg.plg updated to latest CVS build from March 2008 sometime and compiled with CEGCC and all ARM optimizations. Now in a DLL for easy updating.

7) Found some source from the 0.66 version TCPMP that still had the Core mpeg4.plg code in and got it to compile with 0.72. Now the normal MPEG4 & H263 decoding is nearly as fast as the original builds.

The new FFMPEG build adds another 5-10% speed to FLV decoding and also opens up the possibility to decode all the new formats FFMPEG can decode.

I really want to find out the specs for QTV.dll on the Qualcomms to get the same speed boost as Coreplayer has. If anyone can help please let me know.