[meta-freescale] PXP test applications

Carlos Rafael Giani dv at pseudoterminal.org
Sat Apr 11 09:30:20 PDT 2015


> The "official repository" is the one inside the package....
>
> There is nothing more I can help, sorry. I also failed on getting it to work.
>
> Daiane
>

Which is a pity, because PxP seems to be partially broken in the kernel. 
That, or the headers contain a whole lot of formats that will be 
supported in the future, but aren't right now.
A lot of source/destination format combinations produce erroneous 
content, just just plain black or green frames.

I attached the results of my findings. I did the tests with 
gstreamer-imx (current master) , Yocto Fido, kernel linux-imx 
3.14.28-1.0.0_ga+g91cf351 , on a Sabre SD DualLite with integrated 
touchscreen. Plain framebuffer, no X, no Wayland.

The first matrix is the full version - I tried all formats with all 
formats. The second matrix is the one reduced to the subset that works 
best. Unfortunately, BGRx/RGB16 as source and UYVY as target format 
produce reversed colors, otherwise this would be a matrix with all 
combinations working. Also unfortunate is the fact that I420 didn't work 
at all as target format. Since the VPU expects I420 as input for 
encoding, PxP would have been useful as a single conversion step for 
some webcams that deliver Y42B data.

If anybody can make sense about why PxP is so broken, I'd be happy to 
hear about it.

Carlos
-------------- next part --------------
       RGBx BGRx RGBA BGRA ABGR RGB BGR RGB16 RGB15 GRAY8 YUY2 UYVY YVYU v308 IYU1 I420 YV12 Y42B NV12 NV21 NV16 YUV9 YVU9
RGBx   n    n    n    n    n    n   n   n     n     n     g    g    g    g    g    g    g    g    g    g    g    g    g   
BGRx   n    X    n    X    n    r   n   X     l     X     g    r    g    g    g    g    g    g    g    g    g    g    g
RGBA   n    n    n    n    n    n   n   n     n     n     g    g    g    g    g    g    g    g    g    g    g    g    g
BGRA   n    n    n    n    n    n   n   n     n     n     g    g    g    g    g    g    g    g    g    g    g    g    g
ABGR   n    n    n    n    n    n   n   n     n     n     g    g    g    g    g    g    g    g    g    g    g    g    g
RGB    n    n    n    n    n    n   n   n     n     n     g    g    g    g    g    g    g    g    g    g    g    g    g
BGR    n    n    n    n    n    n   n   n     n     n     g    g    g    g    g    g    g    g    g    g    g    g    g
RGB16  l    X    l    X    l    r   l   X     l     X     g    r    g    g    g    g    g    g    g    g    g    g    g
RGB15  l    v    l    v    l    v   l   v     l     v     g    g    g    g    g    g    g    g    g    g    g    g    g
GRAY8  l    r    l    r    l    r   l   r     l     X     g    r    g    g    g    g    g    g    g    g    g    g    g
YUY2   l    X    l    X    l    r   l   X     l     X     g    X    g    g    g    g    g    g    g    g    g    g    g
UYVY   l    X    l    X    l    r   l   X     l     X     g    X    g    g    g    g    g    g    g    g    g    g    g
YVYU   l    X    l    X    l    r   l   X     l     X     g    X    g    g    g    g    g    g    g    g    g    g    g
v308   l    c    l    c    l    c   l   c     l     c     g    c    g    g    g    g    g    g    g    g    g    g    g
IYU1   l    g    l    g    l    g   l   g     l     n     g    g    g    g    g    g    g    g    g    g    g    g    g
I420   l    X    l    X    l    r   l   X     l     X     g    X    g    g    g    g    g    g    g    g    g    g    g
YV12   l    X    l    X    l    r   l   X     l     X     g    X    g    g    g    g    g    g    g    g    g    g    g
Y42B   l    X    l    X    l    r   l   X     l     X     g    X    g    g    g    g    g    g    g    g    g    g    g
NV12   l    X    l    X    l    r   l   X     l     X     g    X    g    g    g    g    g    g    g    g    g    g    g
NV21   l    r    l    r    l    r   l   r     l     r     l    r    g    g    g    g    g    g    g    g    g    g    g
NV16   l    f    l    f    l    t   l   f     l     X     l    f    g    g    g    g    g    g    g    g    g    g    g
YUV9   l    g    l    g    l    g   l   g     l     n     g    g    g    g    g    g    g    g    g    g    g    g    g
YVU9   l    g    l    g    l    g   l   g     l     n     g    g    g    g    g    g    g    g    g    g    g    g    g



test pipeline:
gst-launch-1.0 videotestsrc pattern=smpte ! "video/x-raw, format=BGRx" ! videoconvert dither=0 ! "video/x-raw, format=<SRCFORMAT>" ! imxpxpvideotransform ! "video/x-raw, format=<DESTFORMAT>" ! videoconvert dither=0 ! "video/x-raw, format=BGRx" ! imxg2dvideosink

reference pipeline:
gst-launch-1.0 videotestsrc pattern=smpte ! "video/x-raw, format=BGRx" ! videoconvert dither=0 ! "video/x-raw, format=<SRCFORMAT>" ! videoconvert dither=0 ! "video/x-raw, format=<DESTFORMAT>" ! videoconvert dither=0 ! "video/x-raw, format=BGRx" ! imxg2dvideosink

The reference pipeline converts all formats properly.


left column : source format (<SRCFORMAT>)
top row : destination format (<DESTFORMAT>)
examples:
  BGRx -> BGRA = X
  GRAY8 -> RGB = r


n = nothing (black)
g = green screen
X = okay
r = colors reversed
l = only one scan line at the top, rest black
v = first scanline is repeated all the way to the bottom of the screen
c = frameirecognizable, but corrupted
f = left half OK, right half color-corrupted
t = left half color reversed, right half color-corrupted



=== Reduced version ===

removed source formats: RGBx RGBA BGRA ABGR RGB BGR GRAY8[1] RGB15[2] v308[3] IYU1 NV21[4] NV16[5] YUV9 YVU9
[1] : spread like the others, but all colors were wrong except for the GRAY8->GRAY8 case
[2] : first scanline is repeated all the way to the bottom of the screen
[3] : screen corrupted
[4] : colors reversed ; perhaps improper PxP usage?
[5] : half ok, half colors corrupted ; perhaps improper PxP usage?

removed destination formats: RGBx BGRA ARGB RGB[6] BGR RGB15 YUY2 YVYU v308 IYU1 I420 YV12 Y42B NV12 NV21 NV16 YUV9 YVU9
[6] : r<->b reversed

       BGRx BGRA RGB16 GRAY8 UYVY
BGRx   X    X    X     X     r
RGB16  X    X    X     X     r
YUY2   X    X    X     X     X
UYVY   X    X    X     X     X
YVYU   X    X    X     X     X
I420   X    X    X     X     X
YV12   X    X    X     X     X
Y42B   X    X    X     X     X
NV12   X    X    X     X     X


More information about the meta-freescale mailing list