thanks for the reply.
here's what I did to get it working. It's really not pretty. I didn't know compiling from source would be so exasperating.
First install source libraries that you would like to have support for in mplayer. I installed the following list. You may install more or less.
next we need to get the mplayer source code. You can download it off the mplayer site, but I decided to go with the latest version from subversion.
sudo apt-get install build-essential debhelper libx11-dev libxv-dev libpng12-0 libpng12-dev checkinstall libavcodec-dev aalib1 libaa1-dev libaa1 caca-utils libcaca-dev libavcodec-dev libavifile-0.7-dev libsdl1.2debian-all libsdl1.2debian libsdl1.2-dev libesd0-dev libfaac-dev libfaad2-dev liblame-dev libice-dev libjpeg62-dev libmatroska-dev libmad0-dev libmp4v2-dev libmikmod2-dev libogg-dev libtheora-dev libvorbis-dev libxinerama-dev libxv-dev xlibs-dev x-dev cvs libquicktime1 libquicktime-dev libmjpegtools0 fakeroot libgtk2.0-dev libmpcdec-dev
You can store the code wherever you want, but I think ubuntu recommends you put it in /usr/local/src
I found out the hard way that you need to patch the source if you don't want gnome-screensaver to start while you are watching something with mplayer. I downloaded the patch from here and you can apply the patch by running the following command
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
next you need to run ./configure in the root of the mplayer source directory. You can run ./configure --help to find out what options you can enable before compile time. The key parameter to get joystick support is --enable-joystick so make sure you at least pass this parameter to ./configure
patch -p1 < mplayer-svn-gnome-screensaver.patch
after that you need to compile the source.
sudo ./configure --prefix=/usr --enable-joystick --enable-runtime-cpudetection --enable-gui --enable-largefiles --enable-menu --confdir=/etc/mplayer
**if you want to use the -j parameter for multithreading in a multiple cpu environment, it's recommended that you use 1 + the number of cpu cores you have on your box. So in my case I have 4 cores so the number becomes 5. You can ignore this if you want, it just takes longer to compile without it.
after mplayer compiles without error you can use checkinstall to install it.
follow the dialogs to install mplayer. This will make it aware to your package manager.
phew ... that's it I hope