xine-lib 1.2.11
Data Structures | Macros | Typedefs | Functions
video_out.h File Reference
#include <pthread.h>
#include <xine.h>
#include <xine/attributes.h>
#include <xine/buffer.h>

Go to the source code of this file.

Data Structures

struct  vo_frame_s
 
struct  xine_video_port_s
 
struct  vo_driver_s
 
struct  video_driver_class_s
 
struct  rle_elem_s
 
struct  argb_layer_s
 
struct  vo_overlay_s
 
struct  video_overlay_manager_s
 

Macros

#define VO_PROP_INTERLACED   0
 
#define VO_PROP_ASPECT_RATIO   1
 
#define VO_PROP_HUE   2
 
#define VO_PROP_SATURATION   3
 
#define VO_PROP_CONTRAST   4
 
#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_MAX_NUM_FRAMES   11
 
#define VO_PROP_GAMMA   12
 
#define VO_PROP_ZOOM_Y   13
 
#define VO_PROP_DISCARD_FRAMES   14
 
#define VO_PROP_WINDOW_WIDTH   15 /* read-only */
 
#define VO_PROP_WINDOW_HEIGHT   16 /* read-only */
 
#define VO_PROP_BUFS_IN_FIFO   17 /* read-only */
 
#define VO_PROP_NUM_STREAMS   18 /* read-only */
 
#define VO_PROP_OUTPUT_WIDTH   19 /* read-only */
 
#define VO_PROP_OUTPUT_HEIGHT   20 /* read-only */
 
#define VO_PROP_OUTPUT_XOFFSET   21 /* read-only */
 
#define VO_PROP_OUTPUT_YOFFSET   22 /* read-only */
 
#define VO_PROP_SHARPNESS   24
 
#define VO_PROP_NOISE_REDUCTION   25
 
#define VO_PROP_BUFS_TOTAL   26 /* read-only */
 
#define VO_PROP_BUFS_FREE   27 /* read-only */
 
#define VO_PROP_MAX_VIDEO_WIDTH   28 /* read-only */
 
#define VO_PROP_MAX_VIDEO_HEIGHT   29 /* read-only */
 
#define VO_NUM_PROPERTIES   30
 
#define OVL_PALETTE_SIZE   256
 
#define OVL_MAX_OPACITY   0x0f
 
#define VO_NUM_RECENT_FRAMES   2
 
#define VO_TOP_FIELD   0x0001
 
#define VO_BOTTOM_FIELD   0x0002
 
#define VO_BOTH_FIELDS   (VO_TOP_FIELD | VO_BOTTOM_FIELD)
 
#define VO_PAN_SCAN_FLAG   0x0004
 
#define VO_INTERLACED_FLAG   0x0008
 
#define VO_NEW_SEQUENCE_FLAG   0x0010 /* set after MPEG2 Sequence Header Code (used by XvMC) */
 
#define VO_CHROMA_422   0x0020 /* used by VDPAU, default is chroma_420 */
 
#define VO_STILL_IMAGE   0x0040
 
#define VO_GET_FRAME_MAY_FAIL   0x0080 /* video out may return NULL if frame allocation failed */
 
#define VO_FULLRANGE   0x100
 
#define VO_GET_FLAGS_CM(flags)   ((flags >> 8) & 31)
 
#define VO_SET_FLAGS_CM(cm, flags)   flags = ((flags) & ~0x1f00) | (((cm) & 31) << 8)
 
#define VO_CAP_YV12   0x00000001 /* driver can handle YUV 4:2:0 pictures */
 
#define VO_CAP_YUY2   0x00000002 /* driver can handle YUY2 pictures */
 
#define VO_CAP_XVMC_MOCOMP   0x00000004 /* driver can use XvMC motion compensation */
 
#define VO_CAP_XVMC_IDCT   0x00000008 /* driver can use XvMC idct acceleration */
 
#define VO_CAP_UNSCALED_OVERLAY   0x00000010 /* driver can blend overlay at output resolution */
 
#define VO_CAP_CROP   0x00000020 /* driver can crop */
 
#define VO_CAP_XXMC   0x00000040 /* driver can use extended XvMC */
 
#define VO_CAP_VDPAU_H264   0x00000080 /* driver can use VDPAU for H264 */
 
#define VO_CAP_VDPAU_MPEG12   0x00000100 /* driver can use VDPAU for mpeg1/2 */
 
#define VO_CAP_VDPAU_VC1   0x00000200 /* driver can use VDPAU for VC1 */
 
#define VO_CAP_VDPAU_MPEG4   0x00000400 /* driver can use VDPAU for mpeg4-part2 */
 
#define VO_CAP_VAAPI   0x00000800 /* driver can use VAAPI */
 
#define VO_CAP_COLOR_MATRIX   0x00004000 /* driver can use alternative yuv->rgb matrices */
 
#define VO_CAP_FULLRANGE   0x00008000 /* driver handles fullrange yuv */
 
#define VO_CAP_HUE   0x00010000
 
#define VO_CAP_SATURATION   0x00020000
 
#define VO_CAP_CONTRAST   0x00040000
 
#define VO_CAP_BRIGHTNESS   0x00080000
 
#define VO_CAP_COLORKEY   0x00100000
 
#define VO_CAP_AUTOPAINT_COLORKEY   0x00200000
 
#define VO_CAP_ZOOM_X   0x00400000
 
#define VO_CAP_ZOOM_Y   0x00800000
 
#define VO_CAP_CUSTOM_EXTENT_OVERLAY   0x01000000 /* driver can blend custom extent overlay to output extent */
 
#define VO_CAP_ARGB_LAYER_OVERLAY   0x02000000 /* driver supports true color overlay */
 
#define VO_CAP_VIDEO_WINDOW_OVERLAY   0x04000000 /* driver can scale video to an area within overlay */
 
#define VO_CAP_GAMMA   0x08000000
 
#define VO_CAP_SHARPNESS   0x10000000
 
#define VO_CAP_NOISE_REDUCTION   0x20000000
 
#define VIDEO_OUT_DRIVER_IFACE_VERSION   22
 
#define default_video_driver_class_dispose   (void (*) (video_driver_class_t *this_gen))free
 

Typedefs

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
 
typedef struct video_overlay_manager_s video_overlay_manager_t
 
typedef struct rle_elem_s rle_elem_t
 
typedef struct argb_layer_s argb_layer_t
 

Functions

void set_argb_layer_ptr (argb_layer_t **dst, argb_layer_t *src)
 
xine_video_port_t_x_vo_new_port (xine_t *xine, vo_driver_t *driver, int grabonly)
 Build a video output port from a given video driver. More...
 

Macro Definition Documentation

◆ default_video_driver_class_dispose

#define default_video_driver_class_dispose   (void (*) (video_driver_class_t *this_gen))free

◆ OVL_MAX_OPACITY

#define OVL_MAX_OPACITY   0x0f

◆ OVL_PALETTE_SIZE

#define OVL_PALETTE_SIZE   256

◆ VIDEO_OUT_DRIVER_IFACE_VERSION

#define VIDEO_OUT_DRIVER_IFACE_VERSION   22

◆ VO_BOTH_FIELDS

#define VO_BOTH_FIELDS   (VO_TOP_FIELD | VO_BOTTOM_FIELD)

◆ VO_BOTTOM_FIELD

#define VO_BOTTOM_FIELD   0x0002

◆ VO_CAP_ARGB_LAYER_OVERLAY

#define VO_CAP_ARGB_LAYER_OVERLAY   0x02000000 /* driver supports true color overlay */

◆ VO_CAP_AUTOPAINT_COLORKEY

#define VO_CAP_AUTOPAINT_COLORKEY   0x00200000

◆ VO_CAP_BRIGHTNESS

#define VO_CAP_BRIGHTNESS   0x00080000

◆ VO_CAP_COLOR_MATRIX

#define VO_CAP_COLOR_MATRIX   0x00004000 /* driver can use alternative yuv->rgb matrices */

◆ VO_CAP_COLORKEY

#define VO_CAP_COLORKEY   0x00100000

◆ VO_CAP_CONTRAST

#define VO_CAP_CONTRAST   0x00040000

◆ VO_CAP_CROP

#define VO_CAP_CROP   0x00000020 /* driver can crop */

◆ VO_CAP_CUSTOM_EXTENT_OVERLAY

#define VO_CAP_CUSTOM_EXTENT_OVERLAY   0x01000000 /* driver can blend custom extent overlay to output extent */

◆ VO_CAP_FULLRANGE

#define VO_CAP_FULLRANGE   0x00008000 /* driver handles fullrange yuv */

◆ VO_CAP_GAMMA

#define VO_CAP_GAMMA   0x08000000

◆ VO_CAP_HUE

#define VO_CAP_HUE   0x00010000

◆ VO_CAP_NOISE_REDUCTION

#define VO_CAP_NOISE_REDUCTION   0x20000000

◆ VO_CAP_SATURATION

#define VO_CAP_SATURATION   0x00020000

◆ VO_CAP_SHARPNESS

#define VO_CAP_SHARPNESS   0x10000000

◆ VO_CAP_UNSCALED_OVERLAY

#define VO_CAP_UNSCALED_OVERLAY   0x00000010 /* driver can blend overlay at output resolution */

◆ VO_CAP_VAAPI

#define VO_CAP_VAAPI   0x00000800 /* driver can use VAAPI */

◆ VO_CAP_VDPAU_H264

#define VO_CAP_VDPAU_H264   0x00000080 /* driver can use VDPAU for H264 */

◆ VO_CAP_VDPAU_MPEG12

#define VO_CAP_VDPAU_MPEG12   0x00000100 /* driver can use VDPAU for mpeg1/2 */

◆ VO_CAP_VDPAU_MPEG4

#define VO_CAP_VDPAU_MPEG4   0x00000400 /* driver can use VDPAU for mpeg4-part2 */

◆ VO_CAP_VDPAU_VC1

#define VO_CAP_VDPAU_VC1   0x00000200 /* driver can use VDPAU for VC1 */

◆ VO_CAP_VIDEO_WINDOW_OVERLAY

#define VO_CAP_VIDEO_WINDOW_OVERLAY   0x04000000 /* driver can scale video to an area within overlay */

◆ VO_CAP_XVMC_IDCT

#define VO_CAP_XVMC_IDCT   0x00000008 /* driver can use XvMC idct acceleration */

◆ VO_CAP_XVMC_MOCOMP

#define VO_CAP_XVMC_MOCOMP   0x00000004 /* driver can use XvMC motion compensation */

◆ VO_CAP_XXMC

#define VO_CAP_XXMC   0x00000040 /* driver can use extended XvMC */

◆ VO_CAP_YUY2

#define VO_CAP_YUY2   0x00000002 /* driver can handle YUY2 pictures */

◆ VO_CAP_YV12

#define VO_CAP_YV12   0x00000001 /* driver can handle YUV 4:2:0 pictures */

◆ VO_CAP_ZOOM_X

#define VO_CAP_ZOOM_X   0x00400000

◆ VO_CAP_ZOOM_Y

#define VO_CAP_ZOOM_Y   0x00800000

◆ VO_CHROMA_422

#define VO_CHROMA_422   0x0020 /* used by VDPAU, default is chroma_420 */

◆ VO_FULLRANGE

#define VO_FULLRANGE   0x100

◆ VO_GET_FLAGS_CM

#define VO_GET_FLAGS_CM (   flags)    ((flags >> 8) & 31)

◆ VO_GET_FRAME_MAY_FAIL

#define VO_GET_FRAME_MAY_FAIL   0x0080 /* video out may return NULL if frame allocation failed */

◆ VO_INTERLACED_FLAG

#define VO_INTERLACED_FLAG   0x0008

◆ VO_NEW_SEQUENCE_FLAG

#define VO_NEW_SEQUENCE_FLAG   0x0010 /* set after MPEG2 Sequence Header Code (used by XvMC) */

◆ VO_NUM_PROPERTIES

#define VO_NUM_PROPERTIES   30

◆ VO_NUM_RECENT_FRAMES

#define VO_NUM_RECENT_FRAMES   2

◆ VO_PAN_SCAN_FLAG

#define VO_PAN_SCAN_FLAG   0x0004

◆ VO_PROP_ASPECT_RATIO

#define VO_PROP_ASPECT_RATIO   1

◆ VO_PROP_AUTOPAINT_COLORKEY

#define VO_PROP_AUTOPAINT_COLORKEY   7

◆ VO_PROP_BRIGHTNESS

#define VO_PROP_BRIGHTNESS   5

◆ VO_PROP_BUFS_FREE

#define VO_PROP_BUFS_FREE   27 /* read-only */

◆ VO_PROP_BUFS_IN_FIFO

#define VO_PROP_BUFS_IN_FIFO   17 /* read-only */

◆ VO_PROP_BUFS_TOTAL

#define VO_PROP_BUFS_TOTAL   26 /* read-only */

◆ VO_PROP_COLORKEY

#define VO_PROP_COLORKEY   6

◆ VO_PROP_CONTRAST

#define VO_PROP_CONTRAST   4

◆ VO_PROP_DISCARD_FRAMES

#define VO_PROP_DISCARD_FRAMES   14

◆ VO_PROP_GAMMA

#define VO_PROP_GAMMA   12

◆ VO_PROP_HUE

#define VO_PROP_HUE   2

◆ VO_PROP_INTERLACED

#define VO_PROP_INTERLACED   0

◆ VO_PROP_MAX_NUM_FRAMES

#define VO_PROP_MAX_NUM_FRAMES   11

◆ VO_PROP_MAX_VIDEO_HEIGHT

#define VO_PROP_MAX_VIDEO_HEIGHT   29 /* read-only */

◆ VO_PROP_MAX_VIDEO_WIDTH

#define VO_PROP_MAX_VIDEO_WIDTH   28 /* read-only */

◆ VO_PROP_NOISE_REDUCTION

#define VO_PROP_NOISE_REDUCTION   25

◆ VO_PROP_NUM_STREAMS

#define VO_PROP_NUM_STREAMS   18 /* read-only */

◆ VO_PROP_OUTPUT_HEIGHT

#define VO_PROP_OUTPUT_HEIGHT   20 /* read-only */

◆ VO_PROP_OUTPUT_WIDTH

#define VO_PROP_OUTPUT_WIDTH   19 /* read-only */

◆ VO_PROP_OUTPUT_XOFFSET

#define VO_PROP_OUTPUT_XOFFSET   21 /* read-only */

◆ VO_PROP_OUTPUT_YOFFSET

#define VO_PROP_OUTPUT_YOFFSET   22 /* read-only */

◆ VO_PROP_PAN_SCAN

#define VO_PROP_PAN_SCAN   9

◆ VO_PROP_SATURATION

#define VO_PROP_SATURATION   3

◆ VO_PROP_SHARPNESS

#define VO_PROP_SHARPNESS   24

◆ VO_PROP_TVMODE

#define VO_PROP_TVMODE   10

◆ VO_PROP_WINDOW_HEIGHT

#define VO_PROP_WINDOW_HEIGHT   16 /* read-only */

◆ VO_PROP_WINDOW_WIDTH

#define VO_PROP_WINDOW_WIDTH   15 /* read-only */

◆ VO_PROP_ZOOM_X

#define VO_PROP_ZOOM_X   8

◆ VO_PROP_ZOOM_Y

#define VO_PROP_ZOOM_Y   13

◆ VO_SET_FLAGS_CM

#define VO_SET_FLAGS_CM (   cm,
  flags 
)    flags = ((flags) & ~0x1f00) | (((cm) & 31) << 8)

◆ VO_STILL_IMAGE

#define VO_STILL_IMAGE   0x0040

◆ VO_TOP_FIELD

#define VO_TOP_FIELD   0x0001

Typedef Documentation

◆ argb_layer_t

typedef struct argb_layer_s argb_layer_t

◆ rle_elem_t

typedef struct rle_elem_s rle_elem_t

◆ video_driver_class_t

◆ video_overlay_manager_t

◆ vo_driver_t

typedef struct vo_driver_s vo_driver_t

◆ vo_frame_t

typedef struct vo_frame_s vo_frame_t

◆ vo_overlay_t

typedef struct vo_overlay_s vo_overlay_t

Function Documentation

◆ _x_vo_new_port()

xine_video_port_t * _x_vo_new_port ( xine_t xine,
vo_driver_t driver,
int  grabonly 
)

◆ set_argb_layer_ptr()

void set_argb_layer_ptr ( argb_layer_t **  dst,
argb_layer_t src 
)