+void plat_finish(void)
+{
+ plat_omap_finish();
+}
+
+static void apply_lcdrate(int pal)
+{
+ char buf[128];
+
+ snprintf(buf, sizeof(buf), "%s/op_lcdrate.sh %d",
+ pnd_script_base, pal ? 50 : 60);
+ system(buf);
+}
+
+static void apply_filter(int which)
+{
+ char buf[128];
+ int i;
+
+ if (pnd_filter_list == NULL)
+ return;
+
+ for (i = 0; i < which; i++)
+ if (pnd_filter_list[i] == NULL)
+ return;
+
+ if (pnd_filter_list[i] == NULL)
+ return;
+
+ snprintf(buf, sizeof(buf), "%s/op_videofir.sh %s",
+ pnd_script_base, pnd_filter_list[i]);
+ system(buf);
+}
+
+void plat_gvideo_open(int is_pal)
+{
+ static int old_pal = -1, old_filter = -1;
+
+ if (is_pal != old_pal) {
+ apply_lcdrate(is_pal);
+ old_pal = is_pal;
+ }
+ if (filter != old_filter) {
+ apply_filter(filter);
+ old_filter = filter;
+ }
+
+ plat_omap_gvideo_open();
+}