Sorry,
Yes I am. I was just using the 1280x1024 in the SetVideoMode to try to
find where the problem is. When I use 1368x768-16 in there
(SetVideoMode(dfb, 1368, 768, 16);) I get distorted graphics on the
framebuffer. In my test I had 3 sub surfaces with 3 gifs. One of them
was about 400 pixels in height. That was the only one to display as
it's y position was 0. It ended up being stretched the entire height of
the screen, and I could see blank lines from the interlacing (on the
graphic). It looks like it's doing interleaving.
When I use 1024x768, that works, but the graphics "repeat" after x =
1024. At first I thought this was a problem in the v4l driver, however
that appears to be behaving (aside from scaling currently) correctly.
When I switched the resolution of directfb to 1280x1024 that did not
happen. So I figure if I can get directfb to work with 1368x768 I
should have no problems.
DirectFB only cares that there is enough video memory for the surface at
a resolution correct? I have found a lot of limitations on the x
resolution in the nsc fb driver and the v4l2 driver which incorrectly
assume a 4x3 display however with those removed a 16x9 resolution works
on the hardware. I read through the driver dependant code in directfb
for the gx1, and there did not appear to be any limitations. Did I miss
something?
Setting that resolution in DirectFB may also be causing a side effect in
the video capture however I would expect that to happen just by setting
the framebuffer resolution to 1368x768 since that is the resoltion that
v4l2 reads, and had I not addressed all those instances I would see it
even when DirectFB was at 1024x768. Basically from my understanding,
DirectFB is a level removed from that.
I'll recheck the resolutions in all 3 parts tomorrow, it may be that
v4l2 doesn't think the x resolution is > 1024 unless directfb is in
1368x768. (though it worked at 1280x1024 ... but in 8 bit). So it may
be doing interleaving, which would cause the height to be doubled and
show that effect on my display.
On Sat, 2004-07-31 at 03:36 +0300, Ville Syrj�l� wrote:
> On Fri, Jul 30, 2004 at 11:20:24AM -0500, Brian G. Rhodes wrote:
> > The actual display I am using does 1368x768 and not 1366x768 (it uses a
> > scaler for 1366x768).
> >
> > My directfb code (0.9.20) is the following for init.
> >
> >
> > void
> > display_init()
> > {
> > DFBCardCapabilities card_caps;
> > IDirectFBSurface *image_area;
> > int ret;
> >
> > DirectFBInit(0, 0);
> >
> > DirectFBSetOption("bg-none", NULL);
> > DirectFBSetOption("no-cursor", NULL);
> > DirectFBSetOption("vsync-none", NULL);
> >
> > ret = DirectFBCreate(&dfb);
> >
> > dfb->SetCooperativeLevel(dfb, DFSCL_FULLSCREEN);
> >
> > dsc.flags = DSDESC_CAPS;
> > dsc.caps = DSCAPS_PRIMARY | DSCAPS_FLIPPING | DSCAPS_SYSTEMONLY;
> >
> > dfb->CreateSurface(dfb, &dsc, &primary_surface);
> > dfb->SetVideoMode(dfb, 1280, 1024, 8);
>
> So you're not using 1326x768 after all?
>
> --
> Ville Syrj�l�
> [EMAIL PROTECTED]
> http://www.sci.fi/~syrjala/
>