On Wednesday 02 May 2007 12:39, Daniel Stone wrote:
> On Wed, May 02, 2007 at 09:16:01AM +0300, ext Siarhei Siamashka wrote:
> > On Tuesday 01 May 2007 20:49, Siarhei Siamashka wrote:
> > > Results with unpatched xserver and some more explanations can be found
> > > in [3].
> > > Yes, now N800 is faster than Nokia 770 for video output performance at
> > > last :)
> >
> > Well, still not everything is so good until the following bug gets fixed:
> > https://maemo.org/bugzilla/show_bug.cgi?id=1281
> >
> > The patch for optimized Xv performance will not help to watch widescreen
> > video which triggers this tearing bug. If you see tearing on the screen,
> > you should know that the YUV420 color format conversion optimization
> > patch does not  get used at all and xserver most likely uses a slow
> > nonoptimized YUV422 fallback code with software scaling.
>
> Indeed.  And the reason the code is there is because Hailstorm can only
> downscale at fixed ratios (half and one-quarter), and even then, it
> locked up when we tried.  Similarly, the display controller's
> downscaling didn't work, either.  So we can optimise the fallback path,
> but you'll still be screwed by sending 16bpp (instead of 12bpp) through
> RFBI.

The only thing which is unclear here is that Hailstorm does not need to
downscale video in this situation. The bug can be reproduced with 512x288
video which just needs upscaling to 800x450. Also even standard 
Nokia_N800.avi video with proper aspect ratio causes a huge 
performance regression and tearing.

Please give this #1281 issue another look. It looks like a bug in xserver,
but not a hardware limitation. I can probably try to workaround it by
requesting not 512x288 buffer from Xv, but something like 512x308, use
only 512x288 part of it and artificially add black bands above and below.
After that, Xv can be asked to expand it to 800x480 to get expected result
But if it is a bug in xserver, it would be better to get it fixed, preferably
before the next firmware update :)

> > Fixing this bug is critical for video playback performance. I hope it
> > will be solved in the next version of N800 firmware too. But it we get
> > some patch to solve this problem for testing earlir, that would be nice
> > too.
>
> The only patch is optimising that function, really.  Even if we did work
> out a way to make Hailstorm happy, you can still only scale at those
> exact multiples, which doesn't make it a viable general solution.

I will do optimized software YV12->YUV420 JIT scaler a bit later (on next
weekend?). It will be only a minor modification of YV12->YUV422 scaler 
which already exists and works fine. If it can be useful for xserver, it might
be added there at any time.
_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers

Reply via email to