return( 0 );
}
+/*****************************************************************************
+ * vout_SDLSetPalette: sets an 8 bpp palette
+ *****************************************************************************
+ * This function sets the palette given as an argument. It does not return
+ * anything, but could later send information on which colors it was unable
+ * to set.
+ *****************************************************************************/
+void vout_SDLSetPalette( p_vout_thread_t p_vout, u16 *red, u16 *green, u16 *blue, u16 *transp)
+{
+ /* Create a display surface with a grayscale palette */
+ SDL_Color colors[256];
+ int i;
+
+ /* Fill colors with color information */
+ for( i = 0; i < 256; i++ )
+ {
+ colors[ i ].r = red[ i ] >> 8;
+ colors[ i ].g = green[ i ] >> 8;
+ colors[ i ].b = blue[ i ] >> 8;
+ }
+
+ /* Set palette */
+ if( SDL_SetColors(p_vout->p_sys->p_display, colors, 0, 256) == 0 )
+ {
+ intf_ErrMsg( "vout error: failed setting palette\n" );
+ }
+
+}
+
/*****************************************************************************
* vout_SDLDisplay: displays previously rendered output
*****************************************************************************
*/
/* init flags and cursor */
- flags = SDL_ANYFORMAT;
+ flags = SDL_ANYFORMAT | SDL_HWPALETTE;
if( p_vout->p_sys->b_fullscreen )
flags |= SDL_FULLSCREEN;