+ g_layer_x, g_layer_y, g_layer_w, g_layer_h);
+}
+
+void plat_omap_gvideo_open(void)
+{
+ omap_enable_layer(1);
+
+ // try to align redraws to vsync
+ vout_fbdev_wait_vsync(layer_fb);
+}
+
+void *plat_gvideo_set_mode(int *w_in, int *h_in, int *bpp)
+{
+ int l = 0, r = 0, t = 0, b = 0;
+ int w = *w_in, h = *h_in;
+ void *buf;
+
+ if (g_scaler == SCALE_1_1 || g_scaler == SCALE_2_2) {
+ if (w > g_menuscreen_w) {
+ l = r = (w - g_menuscreen_w) / 2;
+ w -= l + r;
+ }
+ if (h > g_menuscreen_h) {
+ t = b = (h - g_menuscreen_h) / 2;
+ h -= t + b;
+ }
+ }
+
+ buf = vout_fbdev_resize(layer_fb, w, h, *bpp,
+ l, r, t, b, 3, 1);
+
+ vout_fbdev_clear(layer_fb);
+
+ omap_enable_layer(1);
+
+ return buf;
+}
+
+void *plat_gvideo_flip(void)
+{
+ return vout_fbdev_flip(layer_fb);
+}
+
+void plat_gvideo_close(void)
+{
+ omap_enable_layer(0);