[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