Problems with yuv overlay. black screen

Hi,
I am trying to draw onto a yuv-overlay but the window stays black. has anyone an small example how to use the overlay
correctly? or could anyone look at my small program an tell me, what i have done wrong?

I am using Debian testing with SDL 1.2.7, XFree86 4.2.1 and i have a nvidia geforce 4MX with the nvidia 1.0 5336
drivers. I can paint on a normal rgb-surface without problems.

Here is my small program:

#include <SDL.h>
#include
#include

using namespace std;

int main(int argc,char **argv) {
int windowWidth = 360;
int windowHeight = 296;

 /the hardware accel works for normal rgb-surfaces.
 SDL_Surface* sdlScreen = SDL_SetVideoMode(windowWidth,windowHeight,32, SDL_HWSURFACE|SDL_DOUBLEBUF);
 SDL_Overlay* sdlOverlay = SDL_CreateYUVOverlay(windowWidth,windowHeight,SDL_YUY2_OVERLAY,sdlScreen);
 cout<<"planes:"<< (sdlOverlay->planes)<<endl; //tells me 1
 cout<<"pitches:"<< (sdlOverlay->pitches[0])<<endl; //tells me 720
 cout<<"hw_overlay:"<< (sdlOverlay->hw_overlay)<<endl; //tells me 1
 SDL_LockYUVOverlay(sdlOverlay);
 Uint8* pOutPixel = (Uint8*)sdlOverlay->pixels[0];
 SDL_Rect rect;
 rect.x=0;
 rect.y=0;
 rect.w=windowWidth;
 rect.h=windowHeight;
 //now try to write some values onto the yuv-overlay-surface
 for (int y=0;y<windowHeight;y++) {
     pOutPixel = (Uint8*)(((Uint8*)sdlOverlay->pixels[0])+y*sdlOverlay->pitches[0]);
     for (int x=0;x<windowWidth;x++) {
         pOutPixel[0] = 128;
         pOutPixel[1] = 0;
         pOutPixel+=2;
     }
 }
 SDL_UnlockYUVOverlay(sdlOverlay);
 SDL_DisplayYUVOverlay(sdlOverlay,&rect);
 SDL_Flip(sdlScreen);
 //now a window opens, but will only display a black background. :-(

 //just to pause the program
 string a;
 cin >> a;
 return 0;

}

Thanks in advance.
Greetings
Thomas Windheuser