summaryrefslogtreecommitdiff
path: root/xine
diff options
context:
space:
mode:
Diffstat (limited to 'xine')
-rw-r--r--xine/osd_manager.c6
-rw-r--r--xine/vo_osdscaler.c16
-rw-r--r--xine/vo_props.h15
3 files changed, 22 insertions, 15 deletions
diff --git a/xine/osd_manager.c b/xine/osd_manager.c
index 39c5b3f4..c2e5dc56 100644
--- a/xine/osd_manager.c
+++ b/xine/osd_manager.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: osd_manager.c,v 1.21 2010-05-22 12:30:19 phintuka Exp $
+ * $Id: osd_manager.c,v 1.22 2010-05-30 20:31:18 phintuka Exp $
*
*/
@@ -260,7 +260,7 @@ static int exec_osd_size(osd_manager_impl_t *this, osd_command_t *cmd)
xine_video_port_t *video_out = this->stream->video_out;
- this->vo_scaling = !!(video_out->get_capabilities(video_out) & VO_CAP_OSDSCALING);
+ this->vo_scaling = !!(video_out->get_capabilities(video_out) & VO_XCAP_OSDSCALING);
return CONTROL_OK;
}
@@ -417,7 +417,7 @@ static int exec_osd_set_rle(osd_manager_impl_t *this, osd_command_t *cmd)
}
/* request OSD scaling from video_out layer */
- this->vo_scaling = !!(video_out->get_capabilities(video_out) & VO_CAP_OSDSCALING);
+ this->vo_scaling = !!(video_out->get_capabilities(video_out) & VO_XCAP_OSDSCALING);
if (this->vo_scaling) {
video_out->set_property(video_out, VO_PROP_OSD_SCALING, cmd->scaling ? 1 : 0);
}
diff --git a/xine/vo_osdscaler.c b/xine/vo_osdscaler.c
index 726b3b8e..92516764 100644
--- a/xine/vo_osdscaler.c
+++ b/xine/vo_osdscaler.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: vo_osdscaler.c,v 1.9 2010-05-16 11:59:58 phintuka Exp $
+ * $Id: vo_osdscaler.c,v 1.10 2010-05-30 20:31:18 phintuka Exp $
*
*/
@@ -169,6 +169,7 @@ typedef struct {
uint8_t unscaled_supported;
uint8_t custom_extent_supported;
uint8_t argb_supported;
+ uint8_t video_window_supported;
/* current output */
uint16_t output_width;
@@ -205,11 +206,12 @@ static void osdscaler_overlay_begin (vo_driver_t *self, vo_frame_t *frame, int c
LOGOSD("osdscaler_overlay_begin: changed = 1");
osd_data_clear(this->active_osds);
this->active_osds = NULL;
- this->unscaled_supported = !!(vo_def_get_capabilities(self) & VO_CAP_UNSCALED_OVERLAY);
- /* VO_CAP_OSDSCALING == VO_CAP_CUSTOM_EXTENT_OVERLAY */
- this->custom_extent_supported = !!(vo_def_get_capabilities(self) & VO_CAP_OSDSCALING);
- /* VO_CAP_ARGB == VO_CAP_ARGB_LAYER_OVERLAY */
- this->argb_supported = !!(vo_def_get_capabilities(self) & VO_CAP_ARGB);
+
+ uint64_t caps = vo_def_get_capabilities(self);
+ this->unscaled_supported = !!(caps & VO_CAP_UNSCALED_OVERLAY);
+ this->custom_extent_supported = !!(caps & VO_XCAP_OSDSCALING); /* == VO_CAP_CUSTOM_EXTENT_OVERLAY */
+ this->argb_supported = !!(caps & VO_XCAP_ARGB_LAYER_OVERLAY);
+ this->video_window_supported = !!(caps & VO_XCAP_VIDEO_WINDOW_OVERLAY);
}
/* redirect */
@@ -381,7 +383,7 @@ static void osdscaler_overlay_end (vo_driver_t *self, vo_frame_t *vo_img)
static uint32_t osdscaler_get_capabilities(vo_driver_t *self)
{
return vo_def_get_capabilities(self) |
- VO_CAP_OSDSCALING;
+ VO_XCAP_OSDSCALING;
}
/*
diff --git a/xine/vo_props.h b/xine/vo_props.h
index dc377dfc..12d5118e 100644
--- a/xine/vo_props.h
+++ b/xine/vo_props.h
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: vo_props.h,v 1.4 2009-03-17 12:20:33 phintuka Exp $
+ * $Id: vo_props.h,v 1.5 2010-05-30 20:31:18 phintuka Exp $
*
*/
@@ -18,18 +18,23 @@
/* output can scale OSD */
#ifdef VO_CAP_CUSTOM_EXTENT_OVERLAY
/* xine-lib 1.2 */
-# define VO_CAP_OSDSCALING VO_CAP_CUSTOM_EXTENT_OVERLAY
+# define VO_XCAP_OSDSCALING VO_CAP_CUSTOM_EXTENT_OVERLAY
#else
-# define VO_CAP_OSDSCALING 0x01000000
+# define VO_XCAP_OSDSCALING 0x01000000
#endif
/* Output can blend ARGB surfaces */
#ifdef VO_CAP_ARGB_LAYER_OVERLAY
-# define VO_CAP_ARGB VO_CAP_ARGB_LAYER_OVERLAY
+# define VO_XCAP_ARGB_LAYER_OVERLAY VO_CAP_ARGB_LAYER_OVERLAY
#else
-# define VO_CAP_ARGB 0x02000000
+# define VO_XCAP_ARGB_LAYER_OVERLAY 0x02000000
#endif
+#ifdef VO_CAP_VIDEO_WINDOW_OVERLAY
+# define VO_XCAP_VIDEO_WINDOW_OVERLAY VO_CAP_VIDEO_WINDOW_OVERLAY
+#else
+# define VO_XCAP_VIDEO_WINDOW_OVERLAY 0x04000000
+#endif
/*
* Extended vo properties