summaryrefslogtreecommitdiff
path: root/src/xine-engine/video_out.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/xine-engine/video_out.h')
-rw-r--r--src/xine-engine/video_out.h42
1 files changed, 18 insertions, 24 deletions
diff --git a/src/xine-engine/video_out.h b/src/xine-engine/video_out.h
index 0e9c366d8..fbe2b9c60 100644
--- a/src/xine-engine/video_out.h
+++ b/src/xine-engine/video_out.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out.h,v 1.15 2001/07/25 23:26:14 richwareham Exp $
+ * $Id: video_out.h,v 1.16 2001/08/13 12:52:33 ehasenle Exp $
*
*
* xine version of video_out.h
@@ -95,6 +95,13 @@ struct vo_frame_s {
void (*dispose) (vo_frame_t *vo_img);
};
+typedef struct ovl_src_s ovl_src_t;
+
+struct ovl_src_s {
+ void *src_gen;
+ vo_overlay_t* (*get_overlay) (ovl_src_t* self, int pts);
+ metronom_t* metronom;
+};
struct vo_instance_s {
@@ -119,8 +126,9 @@ struct vo_instance_s {
int flags);
/* overlay stuff */
- vo_overlay_t* (*get_overlay) (vo_instance_t *this);
- void (*queue_overlay) (vo_instance_t *this, vo_overlay_t *overlay);
+ void (*register_ovl_src) (vo_instance_t *this, ovl_src_t *ovl_src);
+ void (*unregister_ovl_src) (vo_instance_t *this, ovl_src_t *ovl_src);
+ ovl_src_t *overlay_source;
/* video driver is no longer used by decoder => close */
void (*close) (vo_instance_t *this);
@@ -131,8 +139,6 @@ struct vo_instance_s {
/* private stuff */
vo_driver_t *driver;
- vo_overlay_t *first_overlay;
- vo_overlay_t *last_overlay;
metronom_t *metronom;
img_buf_fifo_t *free_img_buf_queue;
@@ -257,34 +263,22 @@ struct vo_driver_s {
};
-#define OVERLAY_FREE 0
-#define OVERLAY_CREATING 1
-#define OVERLAY_READY_TO_SHOW 2
-#define OVERLAY_SHOWING 3
-#define OVERLAY_READY_TO_FREE 4
-
struct vo_overlay_s {
uint8_t *data; /* 7-4: mixer key, 3-0: color index */
+ int data_size; /* useful for deciding realloc */
int x; /* x start of subpicture area */
int y; /* y start of subpicture area */
int width; /* width of subpicture area */
int height; /* height of subpicture area */
- uint8_t clut[4]; /* color lookup table */
+ uint32_t color[4]; /* color lookup table */
uint8_t trans[4]; /* mixer key table */
-
- uint32_t PTS, duration; /* 1/90000 s */
- vo_overlay_t *next; /* optionally more overlays */
- vo_overlay_t *priv; /* optionally more overlays */
- int state; /* State:FREE,SHOWING etc. */
-
- uint32_t *clut_tbl; /* Pointer to CLUT palette */
-
- /* private stuff */
- int _x; /* current destination x, y */
- int _y;
- int offset[2]; /* address in PXD to fetch next rle-code from, one per field */
+ int clip_top;
+ int clip_bottom;
+ int clip_left;
+ int clip_right;
+
};
/*