[meta-freescale] gstreamer strange distorted image.

Dennis Han jshan at live.co.kr
Mon Sep 16 22:17:02 PDT 2013


Hi Eric.

It makes sense. And your patch work well too.
I'll take your patch.


-----Original Message-----
From: Eric Nelson [mailto:eric.nelson at boundarydevices.com] 
Sent: Tuesday, September 17, 2013 9:37 AM
To: Otavio Salvador; Sandoval Gonzalez Leonardo-B42214
Cc: Dennis Han; meta-freescale at yoctoproject.org
Subject: Re: [meta-freescale] gstreamer strange distorted image.

On 09/16/2013 05:23 PM, Eric Nelson wrote:
> On 09/16/2013 02:19 PM, Otavio Salvador wrote:
>> On Mon, Sep 16, 2013 at 5:34 PM, Dennis Han <jshan at live.co.kr> wrote:
>>> I tested you patch more detail and found a problem.
>>>
>>> In brief.
>>>
>>> 1. With original value
>>> IC_RSZ_MAX_RESIZE_RATIO = 0x00004000
>>>>> it's OK
>>>
>>>
>>> 2. With a new value
>>> IC_RSZ_MAX_RESIZE_RATIO = 0x00002000
>>>>> center pixels are overlapping
>>>
>>>
>>> I think this patch has to be ignored.
>>
>> Good for testing and letting us know about the result. Eric, does it 
>> also fails for you?
>>
>
> The re-sizing patch did nothing for me, while our patch fixed the 
> issue playing the file in both qtmediaplayer and gst-launch/playbin2.
>
> I'm not testing with qt-in-use-image, but another qt4e image with a 
> patched-up 4.0.0 kernel.
>
> This makes sense because the video is 1280x720 and the display is also 
> 1280x720.
>

I meant to add some details about what we're seeing.

It's very clear when playing full-screen that the issue is one of a missing color-space conversion.

Playing Dennis' video clearly shows that the data is in NV12 (YUV planar) format, with two instances of the video across the top of the screen, followed by a very distorted bottom 1/3 or so.

Our patch circumvents code elsewhere in the V4L2 driver that appears to be an optimization for the case where the YUV plane can be output directly and the display can somehow do the conversion.

	https://github.com/boundarydevices/linux-imx6/commit/c4eb189e1cae98c5535c0a26e859a010b0c70510

Also interesting is that when qmediaplayer starts up, it seems to tell V4L2 to start up a 1280x720 plane, but not at offset 0,0. In other words, it's not full-screen, so the "bypass CSC" logic seems to be missing another component in determining whether the YUV plane is "full screen".

Oh, and the Qt4 Phonon layer should probably be patched to shrink the overlay size if the initial window position doesn't allow the overlay to fit on the screen.

Regards,


Eric




More information about the meta-freescale mailing list