/* vo_ps3.c - video out interface utilizing spu-medialib * to offload scaling and yuv2rgb colorspace * conversion to the PS3's SPEs: * http://wiki.ps2dev.org/ps3:spu-medialib * * This is very experimental code which is not ready for * public consumption. Many todo:'s remain, and * many more mistakes still need to be corrected. * * Distributed AS IS. Use at your own risk. Author is not liable * in any way for any use, misuse, nonuse, expectation, failed * expectation, problem, or anything else. * * Notes: * needs to do direct rendering but enables it automatically * don't need -dr flag * * needs to double buffer - also automatic (no -double needed) * * doesn't do windows - takes over framebuffer for now * * h264 issues: * video currently doesn't "direct render" unless u post process * with -vf pp or something * broken on PS3 (regardless of vo) - too slow & audio strange * using -demuxer 35 -lavdopts fast:threads=2 will provide * improvement once ffmpeg uses threads for x264. Now it's too slow * try with -vo null and still broken (see, it's not vo's fault :) ) * * configure now autodetects spu-medialib and enables vo_ps3 * * use -vo ps3:snapshot to save current buffers in a .yuv file on pause * * Installation: * install ps3fb (http://forums.ps2dev.org/viewtopic.php?p=59150#59150) * install spu-medialib (http://forums.ps2dev.org/viewtopic.php?t=9109) * get & patch mplayer * svn co svn://svn.mplayerhq.hu/mplayer/trunk mplayer * cd mplayer & patch: * $ patch -p0 < mplayer-r24714-vo_ps3-r1.patch * patching file libvo/video_out.c * patching file libvo/vo_ps3.c * patching file configure * make normally (./configure; make && make install) * * Usage: * $ ps3videomode -v 5 -f * $ mplayer -vo ps3 /lost/video/watch-ppu-usage.mpg * * * Bugs (known): * Non direct rendered video is broken - on todo list * Lots more! :) * * Original version: Copyright 2007 by Bill Garrett (wgarrett@sc.rr.com) * * Credits: * Many thanks to the creators & contributors of spu-medialib * and especially to unsolo - a tireless genius who made all this * possible. * * Thanks also to _Demo_, jbit, and nomego for advice & testing, and * access to nomego's 32UL ps3! ;) * * Changelog: * * */