On Mittwoch, 16. Juni 2004 00:17, Ville Syrj�l� wrote:
>
> Your code looks correct to me. Have you checked with
> IDirectFBSurface::GetPixelFormat() that the surface is really YV12/I420?
Yes :-(
With:
videoSurface->Lock(DSLF_WRITE, (void **)&dst, &pitch);
if (pitch != old_pitch)
{
switch(videoSurface->GetPixelFormat()) {
case DSPF_YV12: fprintf (stderr, "surface format: YV12\n"); break;
case DSPF_I420: fprintf (stderr, "surface format: I420\n"); break;
case DSPF_YUY2: fprintf (stderr, "surface format: YUY2\n"); break;
default: fprintf (stderr, "surface format: unknown\n"); break;
}
fprintf (stderr, "pitch change %d -> %d\n", old_pitch, pitch);
old_pitch = pitch;
I get:
[dfb] (re)configuring Videolayer to 720 x 576
todo I420 format now: I420
[dfb] (re)configured 0x08100609
surface format: I420
pitch change 0 -> 1472
y values done line dst = 0x50745000
(!) [ 6153: 0.000] --> Caught signal 11 (at 0x50745000, invalid permissions) <--
Stefan Lucke