Polecam ffmpeg. Program jest pod konsolę, więc bez ładnego gui.
Postaram się przy okazji opisać jak go używać.
1) Pobieramy ffmpeg z adresu
http://darusuna.sakura.ne.jp/src/fumiFFMpeg20060721.zip - jest to jedyna jak do tej pory wersja którą znalazłem w sieci skompilowaną pod windowsa która posiada support do XviD. Po ściągnięciu wrzucamy go do jakiegoś folderu, np. C:\ffmpeg.
2) Do rzeczonego katalogu wrzucamy ofiarę, czyli plik do skonwertowania, w moim przypadku jest to plik test.avi.
3) Zanim zaczniemy, musimy znać wymiary (rozdzielczość pliku źródłowego). W moim przypadku jest to 624 x 352.
4) O ile szerokość filmu jest oczywista (320) to jego wysokość pozostaje do ustalenia. Odpalamy windowsowy kalkulator i liczymy:
320 : 624 * 352 = 180.... z kawałkiem

Gdzie wiadomo że 624 to szerokość pliku avi, a 352 to jego wysokość.
5) Odpalamy menu start -> uruchom -> wpisujemy cmd i enter
6) Wchodzimy do katalogu z ffmpeg (cd C:\ffmpeg)
7) odpalamy ffmpega:
ffmpeg.exe -i test.avi -b 360k -s 320x180 -ar 44100 -ab 96 -ac 2 -acodec mp3 -vcodec xvid test-pda.avi
A teraz opcje:
-i - czyli plik wejściowy
-b - bitrate pliku, pokombinuj z różnymi wartościami i bądź świadom tego, że to co na pececie wygląda makabrycznie, na dużo mniejszym ekranie może wyglądać okej.
-s - wymiary pliku wynikowego, które już obliczyliśmy. Pamiętaj że ffmpeg nie plinuje aspect ratio!
-ar - audio rate, czyli jakość dźwięku
-ab - audio bitrate - 96kbps
-ac - ilość kanałów audio (2 to stereo, 1 to mono)
-acodec - kodek audio, może być mp3 lub ac3 lub wiele innych
-vcodec - kodek wideo do którego film ma być skonwertowany
a na końcu nazwa pliku wynikowego.
BTW. Ja używam tego akurat pod linuksem i działa okej, bez problemów i wszystkie filmiki TCMP otwiera. Pozostaje sobie załatwić subtitle workshop i skonwertować napisy (koniecznie z wczytanym filmem, żeby przy klatkowych bzdur nie narobił

).
HTH
Baset
A w trakcie pracy ffmpeg wygląda tak:
C:\ffmpeg>ffmpeg.exe -i test.avi -b 360k -s 320x180 -ar 44100 -ab 96 -ac 2 -acodec mp3 -vcodec xvid test-pda.avi
ffmpeg version CVS, build 3342336, Copyright (c) 2000-2004 Fabrice Bellard
configuration: --enable-memalign-hack --enable-mingw32 --enable-amr_nb --enable-amr_wb --enable-mp3lame --enable-faad --enable-faac --enable-xvid --enable-x264 --enable-a52 --enable-gpl --enable-libogg --enable-vorbis
built on Jul 21 2006 04:29:58, gcc: 3.2.3 (mingw special 20030504-1)
Input #0, avi, from 'test.avi':
Duration: 00:42:58.6, start: 0.000000, bitrate: 1137 kb/s
Stream #0.0, 23.98 fps(r): Video: mpeg4, yuv420p, 624x352
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 112 kb/s
Output #0, avi, to 'test-pda.avi':
Stream #0.0, 23.98 fps(c): Video: xvid, yuv420p, 320x180, q=2-31, 360 kb/s
Stream #0.1: Audio: mp3, 44100 Hz, stereo, 96 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
frame=61834 q=2.0 Lsize= 146633kB time=2578.7 bitrate= 465.8kbits/s
video:112550kB audio:30219kB global headers:0kB muxing overhead 2.706159%