On Dec 6, 2007 10:57 AM, mike lewis <lachlanlewis@...> wrote:
> Hi Everyone,
> I've been following the ps3 linux devlopement quite closely and the
> guys over at ps2dev forums have just released some test code for ps3
> based rsx acceleration for xv.
> To cut a long sotry short; mplayer seems to work ok but xine is
> crashing with "-vo xv". Initial feedback is that it looks like xine
> is failing because the rsx driver doesn't support YV12. I'm just
> wondering what the feeling is here on this? Is xine meant to display
> the correct picture format or should the vo driver convert picture
> formats? If xine is meant to convert; does the video_out_xv.c driver
> already have the capability (i've browsed the source and it doesn't
> *look* like it to me (but I can't code which means I can't really read
> code either). If it does have the capability is there some trick to
> telling xine to use use it?
> Here is the thread on ps2dev:
> It's probably a bit non-technical for you guys just jump to page 10
> and see comments from Glaurung directed at mick. OK OK. Here is
> copy and paste:
> @mickfromperth, I glad to hear the new kernel module fixed your
> display issue. Concerning xine, I've tested it here and it seems it
> won't use xv because the driver (and RSX hardware) does not support
> YV12 (only YUYV). Conversion between those two formats is relatively
> straightforward so adding support for YV12 should not be a problem.
> However, it should be the application responsibility to do it, not the
> driver.. Anyway, I'll have a look at it eventually. Video data is
> copied to ioif region anyway, so converting to YV12 on-the-fly should
> not impact performance much. X11 (Shm) video output will not be
> accelerated compared to fbdev, since the conversion from YUV to RGB
> and the scaling is done by the application (xine here).
To the limit of my abilities; I've done some basic research and
discovered the following:
-) Xine "calls" it's YUYV YUY2. But they are one in the same.
Xinelib has a "xine-utils" package which includes a file called
color.c. Inside color.c are the following conversions:
I cut out the "capabilities check" for the xv video out driver; and
the resultant crash seemed to indicate to me that the vo driver wasn't
using the above color conversion?
I'm afraid i've hit the limit of my development skills ;-). Am I
going down the right path here? Can someone offer some guidelines on
what should happen in xine when the vo hardware has limited color