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.h88
1 files changed, 44 insertions, 44 deletions
diff --git a/src/xine-engine/video_out.h b/src/xine-engine/video_out.h
index 9a2ba06c6..b1a517565 100644
--- a/src/xine-engine/video_out.h
+++ b/src/xine-engine/video_out.h
@@ -1,24 +1,24 @@
/*
* Copyright (C) 2000-2004 the xine project
- *
+ *
* This file is part of xine, a free video player.
- *
+ *
* xine is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* xine is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
*
*
- * xine version of video_out.h
+ * xine version of video_out.h
*
* vo_frame : frame containing yuv data and timing info,
* transferred between video_decoder and video_output
@@ -47,7 +47,7 @@ extern "C" {
#endif
-typedef struct vo_frame_s vo_frame_t;
+typedef struct vo_frame_s vo_frame_t;
typedef struct vo_driver_s vo_driver_t;
typedef struct video_driver_class_s video_driver_class_t;
typedef struct vo_overlay_s vo_overlay_t;
@@ -80,7 +80,7 @@ struct vo_frame_s {
/* tell video driver that the decoder starts a new field */
void (*field) (vo_frame_t *vo_img, int which_field);
- /* append this frame to the display queue,
+ /* append this frame to the display queue,
returns number of frames to skip if decoder is late */
/* when the frame does not originate from a stream, it is legal to pass an anonymous stream */
int (*draw) (vo_frame_t *vo_img, xine_stream_t *stream);
@@ -108,7 +108,7 @@ struct vo_frame_s {
/* yv12 (planar) base[0]: y, base[1]: u, base[2]: v */
/* yuy2 (interleaved) base[0]: yuyv..., base[1]: --, base[2]: -- */
- uint8_t *base[3];
+ uint8_t *base[3];
int pitches[3];
/* info that can be used for interlaced output (e.g. tv-out) */
@@ -119,13 +119,13 @@ struct vo_frame_s {
*/
int progressive_frame;
int picture_coding_type;
-
+
/* cropping to be done */
int crop_left, crop_right, crop_top, crop_bottom;
/* extra info coming from input or demuxers */
- extra_info_t *extra_info;
-
+ extra_info_t *extra_info;
+
/* additional information to be able to duplicate frames: */
int width, height;
double ratio; /* aspect ratio */
@@ -134,7 +134,7 @@ struct vo_frame_s {
int drawn; /* used by decoder, frame has already been drawn */
int flags; /* remember the frame flags */
int proc_called; /* track use of proc_*() methods */
-
+
/* Used to carry private data for accelerated plugins.*/
void *accel_data;
@@ -142,18 +142,18 @@ struct vo_frame_s {
xine_video_port_t *port;
vo_driver_t *driver;
xine_stream_t *stream;
-
+
/* displacement for overlays */
int overlay_offset_x, overlay_offset_y;
-
- /*
+
+ /*
* that part is used only by video_out.c for frame management
* obs: changing anything here will require recompiling vo drivers
*/
struct vo_frame_s *next;
int lock_counter;
pthread_mutex_t mutex; /* protect access to lock_count */
-
+
int id; /* debugging - track this frame */
int is_first;
};
@@ -173,8 +173,8 @@ struct xine_video_port_s {
* (e.g. you are a post plugin) it is legal to pass an anonymous stream */
void (*open) (xine_video_port_t *self, xine_stream_t *stream);
- /*
- * get_frame - allocate an image buffer from display driver
+ /*
+ * get_frame - allocate an image buffer from display driver
*
* params : width == width of video to display.
* height == height of video to display.
@@ -182,16 +182,16 @@ struct xine_video_port_s {
* format == FOURCC descriptor of image format
* flags == field/prediction flags
*/
- vo_frame_t* (*get_frame) (xine_video_port_t *self, uint32_t width,
- uint32_t height, double ratio,
+ vo_frame_t* (*get_frame) (xine_video_port_t *self, uint32_t width,
+ uint32_t height, double ratio,
int format, int flags);
/* retrieves the last displayed frame (useful for taking snapshots) */
vo_frame_t* (*get_last_frame) (xine_video_port_t *self);
-
+
/* overlay stuff */
void (*enable_ovl) (xine_video_port_t *self, int ovl_enable);
-
+
/* get overlay manager */
video_overlay_manager_t* (*get_overlay_manager) (xine_video_port_t *self);
@@ -204,11 +204,11 @@ struct xine_video_port_s {
*/
int (*get_property) (xine_video_port_t *self, int property);
int (*set_property) (xine_video_port_t *self, int property, int value);
-
+
/* return true if port is opened for this stream, stream can be anonymous */
- int (*status) (xine_video_port_t *self, xine_stream_t *stream,
+ int (*status) (xine_video_port_t *self, xine_stream_t *stream,
int *width, int *height, int64_t *img_duration);
-
+
/* video driver is no longer used by decoder => close */
/* when you are not a full-blown stream, but still need to close the port
* (e.g. you are a post plugin) it is legal to pass an anonymous stream */
@@ -231,9 +231,9 @@ struct xine_video_port_s {
#define VO_PROP_BRIGHTNESS 5
#define VO_PROP_COLORKEY 6
#define VO_PROP_AUTOPAINT_COLORKEY 7
-#define VO_PROP_ZOOM_X 8
-#define VO_PROP_PAN_SCAN 9
-#define VO_PROP_TVMODE 10
+#define VO_PROP_ZOOM_X 8
+#define VO_PROP_PAN_SCAN 9
+#define VO_PROP_TVMODE 10
#define VO_PROP_MAX_NUM_FRAMES 11
#define VO_PROP_ZOOM_Y 13
#define VO_PROP_DISCARD_FRAMES 14 /* not used by drivers */
@@ -299,7 +299,7 @@ struct vo_driver_s {
*/
vo_frame_t* (*alloc_frame) (vo_driver_t *self);
- /*
+ /*
* check if the given image fullfills the format specified
* (re-)allocate memory if necessary
*/
@@ -330,7 +330,7 @@ struct vo_driver_s {
* these can be used by the gui directly:
*/
int (*get_property) (vo_driver_t *self, int property);
- int (*set_property) (vo_driver_t *self,
+ int (*set_property) (vo_driver_t *self,
int property, int value);
void (*get_property_min_max) (vo_driver_t *self,
int property, int *min, int *max);
@@ -345,7 +345,7 @@ struct vo_driver_s {
void *data);
/* check if a redraw is needed (due to resize)
- * this is only used for still frames, normal video playback
+ * this is only used for still frames, normal video playback
* must call that inside display_frame() function.
*/
int (*redraw_needed) (vo_driver_t *self);
@@ -354,7 +354,7 @@ struct vo_driver_s {
* free all resources, close driver
*/
void (*dispose) (vo_driver_t *self);
-
+
void *node; /* needed by plugin_loader */
};
@@ -364,14 +364,14 @@ struct video_driver_class_s {
* open a new instance of this plugin class
*/
vo_driver_t* (*open_plugin) (video_driver_class_t *self, const void *visual);
-
+
/*
* return short, human readable identifier for this plugin class
*/
char* (*get_identifier) (video_driver_class_t *self);
/*
- * return human readable (verbose = 1 line) description for
+ * return human readable (verbose = 1 line) description for
* this plugin class
*/
char* (*get_description) (video_driver_class_t *self);
@@ -397,7 +397,7 @@ struct vo_overlay_s {
int y; /* y start of subpicture area */
int width; /* width of subpicture area */
int height; /* height of subpicture area */
-
+
uint32_t color[OVL_PALETTE_SIZE]; /* color lookup table */
uint8_t trans[OVL_PALETTE_SIZE]; /* mixer key table */
int rgb_clut; /* true if clut was converted to rgb */
@@ -410,7 +410,7 @@ struct vo_overlay_s {
uint32_t hili_color[OVL_PALETTE_SIZE];
uint8_t hili_trans[OVL_PALETTE_SIZE];
int hili_rgb_clut; /* true if clut was converted to rgb */
-
+
int unscaled; /* true if it should be blended unscaled */
};
@@ -423,20 +423,20 @@ struct vo_overlay_s {
*/
struct video_overlay_manager_s {
void (*init) (video_overlay_manager_t *this_gen);
-
+
void (*dispose) (video_overlay_manager_t *this_gen);
-
+
int32_t (*get_handle) (video_overlay_manager_t *this_gen, int object_type );
-
+
void (*free_handle) (video_overlay_manager_t *this_gen, int32_t handle);
-
+
int32_t (*add_event) (video_overlay_manager_t *this_gen, void *event);
-
+
void (*flush_events) (video_overlay_manager_t *this_gen );
-
+
int (*redraw_needed) (video_overlay_manager_t *this_gen, int64_t vpts );
-
- void (*multiple_overlay_blend) (video_overlay_manager_t *this_gen, int64_t vpts,
+
+ void (*multiple_overlay_blend) (video_overlay_manager_t *this_gen, int64_t vpts,
vo_driver_t *output, vo_frame_t *vo_img, int enabled);
};