diff options
-rw-r--r-- | xine/osd_manager.c | 6 | ||||
-rw-r--r-- | xine/vo_osdscaler.c | 16 | ||||
-rw-r--r-- | xine/vo_props.h | 15 |
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 |