+ if( p_sys->posx < 0 || p_sys->posy < 0 )
+ {
+ p_sys->posx = 0; p_sys->posy = 0;
+
+ if( p_sys->pos & SUBPICTURE_ALIGN_BOTTOM )
+ {
+ p_sys->posy = p_vout->render.i_height - p_sys->i_height;
+ }
+ else if ( !(p_sys->pos & SUBPICTURE_ALIGN_TOP) )
+ {
+ p_sys->posy = p_vout->render.i_height / 2 - p_sys->i_height / 2;
+ }
+
+ if( p_sys->pos & SUBPICTURE_ALIGN_RIGHT )
+ {
+ p_sys->posx = p_vout->render.i_width - p_sys->i_width;
+ }
+ else if ( !(p_sys->pos & SUBPICTURE_ALIGN_LEFT) )
+ {
+ p_sys->posx = p_vout->render.i_width / 2 - p_sys->i_width / 2;
+ }
+ }
+