la, 2006-09-16 kello 15:25 +0200, Stefan Lucke kirjoitti:
> On Samstag 16 September 2006 13:38, Heikki Lindholm wrote:
> > YV12 has different U/V plane order compared to I420. This patch fixes 
> > the YUV() method in the dfb driver accordingly. Without the patch YV12 
> > has wrong colours.
> 
> So you get wrong colors when YV12 is selected.

Yes.

> Do you get wrong colors too when I420 is selected ?

No. By the spec the U/V ordering is not the same for the I420 and YV12
color spaces, hence we need to swap pointers somewhere if the source
data (the video) is always in the same format. When looking at different
sources of information, there might well be some inconsistency in what
exactly is the U/V order for the YV12 (or I420.) Anyway, if my patch
works correctly for other hw (I have g400) then it's probably correct.

> In DirectFB is I420 vs YV12 is swapped. I know that video is YV12. But
> we have to specify I420 in DirectFB. With X11 it is YV12 :-).
> 
> Look at the code of gfxdriver/radeon/radeon_overlay.c, (line 661):
> 
> 661                     if (surface->format == DSPF_YV12) {
> 662                          __u32 tmp  = offsets[1];
> 663                          offsets[1] = offsets[2];
> 664                          offsets[2] = tmp;
> 665                     }
> 
> They swap U/V in case of YV12 :-( .
> 
> There is to my optinion no need to swap again.
> 

_______________________________________________
Softdevice-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/softdevice-devel

Reply via email to