RE: DSS2 Video Overlay Scaling Patch

Fischer Steven-P27614
2009-08-04T22:22:30Z

I'll try out your patch, hopefully tomorrow, and let you know.

Thanks,

Steve.

-----Original Message-----
From: Tomi Valkeinen [mailto:tomi.valkeinen@nokia.com]
Sent: Tuesday, August 04, 2009 6:06 AM
To: Fischer Steven-P27614
Cc: linux-omap@vger.kernel.org
Subject: Re: DSS2 Video Overlay Scaling Patch

Hi,

ext Fischer Steven-P27614 wrote:
> Ugh, messed up morning, forgot the patch as well :(
>
> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org
> [mailto:linux-omap-owner@vger.kernel.org] On Behalf Of Fischer
> Steven-P27614
> Sent: Tuesday, July 07, 2009 8:05 AM
> To: linux-omap@vger.kernel.org
> Subject: RE: DSS2 Video Overlay Scaling Patch
>
> Sorry, missed the subject line.
>
> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org
> [mailto:linux-omap-owner@vger.kernel.org] On Behalf Of Fischer
> Steven-P27614
> Sent: Tuesday, July 07, 2009 7:54 AM
> To: linux-omap@vger.kernel.org
> Subject:
>
> All,
>
> The DSS2 code base seems to inadvertently prevent downscaling of video

> overlay frames. Attached is my attempt at a patch to resolve this
> issue.
>
> As I gather from the code, there is an attempt to limit the overlay
> output frame size (x, y, outw, outh) to the managers updated window
> (mc->x, mc->y, mc->w, mc->h). The problem is that the input frame
> size (w & h) is being used to instead of the output frame size (outw,
outh).
> Due to this, when the input frame size is large than the output frame
> size, the input frame is being cropped, thus no downscaling occurs.
> My patch corrects this issue and also attempts to properly scale the
> input frame size if indeed the output frame is cropped.
>
> In my particular case, the output frame size is never cropped, so I
> have not explicitly tested these equations, but I believe they are
> mathematically correct.
>
> With this patch overlay downscaling is functional.
>

It was indeed slightly broken. The code is there because we cannot use
partial update for scaled overlays, but we need to update the whole
overlay. Otherwise there could be visual errors on the screen.

However, your patch didn't apply to my tree, and I think it can be
solved in slightly more clear way. If the overlay in question is scaled,
we don't even need to run that code. All we have to do is to adjust x/y
depending on the x/y of the update area.

Here's a patch, can you check if it works for you?

Tomi