Introduction
The DXR3/Hollywood Plus is a MPEG2-Decoder-Card with TV out (Composite and S-Video). You can use it to display Freevo on your TV screen. If you have any questions concerning this documentation, contact me Schilling, Daniel.
Setting up the DXR3-Kernel-Drivers
See DXR3 / Hollywood Plus HOWTO
Creating ffmpeg
Homepage: http://ffmpeg.sourceforge.net/
At the moment, SDL 1.2.6 will only compile with 0.4.6 wget http://unc.dl.sourceforge.net/sourceforge/ffmpeg/ffmpeg-0.4.6.tar.gz tar xzfv ffmpeg-0.4.6.tar.gz cd ffmpeg-0.4.6 ./configure --enable-shared make make install
Creating SDL with DXR3-Support
Homepage: http://www.libsdl.org/
At first, see "Creating the runtime", section SDL under DocumentationPage/InstallDeps. The difference to that is, that before configuring the source you also have to apply the dxr3-patch from the contrib/DXR3 directory and regenerate the Makefiles with autogen.sh. You'll need the Version 1.2.6 of sdl to get the dxr3-patch working. See the webpage for instructions, or just hit:
At the moment, SDL 1.2.6 will only compile with 0.4.6 cvs -d :pserver:guest@libsdl.org:/home/sdlweb/libsdl.org/cvs login cvs -z3 -d :pserver:guest@libsdl.org:/home/sdlweb/libsdl.org/cvs checkout -r release_1_2_6 SDL12
Apply the patches:
cd path-to-your-SDL-source patch -p1 < path-to-your-freevo/contrib/rpm/SDL-1.2.6-nokeyboardpatch patch -p1 < path-to-your-freevo/contrib/rpm/SDL-1.2.6-dxr3-ffmpeg.patch
The dxr3-patch is outdated, you may get HUNK #3 failed, or something like that. Look at configure.in.rej to see what have failed and make the changes manually. To be able to compile your SDL you'll need some files from ffmpeg. This is probably a lame way to go, but hey, it works
cp path-to-your-ffmpeg/libavcodec/avcodec.h src/video/dxr3/ cp path-to-your-ffmpeg/libavcodec/common.h src/video/dxr3/
Atm it's just the Makefile of dxr3 you'll have to insert in you configure.in among the other video/ Makefiles.
./autogen.sh ./configure
Go ahead and compile your SDL.
make make install cd ..
Creating MPlayer with DXR3-Support
Homepage: http://www.mplayerhq.hu
wget ftp://ftp1.mplayerhq.hu/MPlayer/releases/MPlayer-0.90rc5.tar.bz2 tar xjfv MPlayer-0.90rc5.tar.bz2 cd MPlayer-0.90rc5 ./configure
Take a look at the configure-output, especialy the "Video Output" (dxr3 should be enabled):Config files successfully generated by ./configure ! Install prefix: /usr Data directory: /usr/share/mplayer Config direct.: /usr/etc/mplayer Byte order: Little Endian Optimizing for: pentium3 mmx mmx2 sse mtrr Enabled optional drivers: Input: streaming edl tv cdda mpdvdkit2 vcd Codecs: divx5linux libavcodec libvorbis Audio output: alsa9 arts oss sdl mpegpes(file) Video output: xvidix dxr3 sdl vesa jpeg mpegpes(file) fbdev opengl dga xv x11 Disabled optional drivers: Input: tv-v4l tv-bsdbt848 dvdnav dvdread dvdcss Codecs: qtx divx4linux xvid libdv real xanim dshow/dmo win32 libmad liblzo gif Audio output: sgi sun esd dxr2 nas win32 Video output: bl zr dxr2 directx gif89a png svga aa ggi xmga mga directfb tdfxfb 3dfx
If dxr3 doesn't appear in the "Video output" section, then the dxr3-header-files are missing. Have a look in the DXR3-FAQ mentioned above. If you think, that all header files are in their correct location, you possibly can enable DXR3-Support by appending "--enable-dxr3" to the configure-script. Now you can compile and install MPlayer:make make install
Setting up Freevo with DXR3-Support
- Get Freevo from CVS and make it run properly with your PC monitor.
- Edit freevo.conf in the CVS root directory and change the display and geometry parameter (in my case for PAL):
display = dxr3 geometry = 720x576
- You'll probably want to use your dxr3 card for sound too. Edit your freevo_config.py or local_config.py and change the mplayer ao to the dxr3 card.
MPLAYER_AO_DEV = 'oss://dev/em8300_ma-0'
Also you might want to use the dxr3 card to decode the sound, change MPLAYER_ARGS_DEF to -ac hwac3, instead of -ac mad, You may need to tweak the MPlayer command-line to get smooth playback, particularly of MPEG-4. The following has worked for several people:MPLAYER_ARGS['avi'] = '-cache 5000 -idx -vo dxr3:sync:prebuf -vop lavc=1:25:97' MPLAYER_ARGS['mpeg'] = '-cache 5000 -vo dxr3:sync:prebuf' MPLAYER_ARGS['default'] = '-cache 5000'
- Copy the SDL-Library to the runtime/dll directory
cp /usr/local/lib/libSDL-1.2.so.0 runtime/dll
- Copy MPlayer to the runtime/apps directory
cp /usr/local/bin/mplayer runtime/apps
- Run ./freevo and enjoy Freevo on your TV screen!
Outdated infos (moved from DocumentationPage)
There is support for the dxr3 card by "Creative Labs" (aka. "Hollywood Plus" by "Sigma Designs") in the current release of "freevo".
However Dischi said the following about the topic on IRC (on 2005-11-05):
"I'm not sure if it works at all with the latest versions of sdl. Simce we don't use sdl in freevo 2.0 anymore, you can't use the dxr3 card with 2.0. We need someone writing an output plugin for dxr3/freevo2"
You need, however, support for the dxr3 in your libSDL, too. First attemps to add dxr3 to libSDL were done by Michael Hunold using the "fame" mpeg-encoder. You can find this attempts at
Please don't use this code any more, it's outdated and not maintained any more -- it's just still there for completeness.
This support has lately been improved by Jens Axboe, he switched to the very populoar "libavcodec" mpeg-encoder, too. Have look at the mailing list archives for the latest version of his patch or send a mail to the mailing list.
If you compiled and installed this new version of libSDL, you should configure "freevo" to use the dxr3 as an output device, for example like this:
"./configure --display=dxr3 --geometry=640x480 --tv=pal", then do a "make".
Now you are ready to start it with "./freevo". Good luck and have fun!
For further questions, ask on the mailing list.