vlc_vout.h File Reference

This file defines common video output structures and functions in vlc. More...

Include dependency graph for vlc_vout.h:

Go to the source code of this file.

Data Structures

struct  picture_heap_t
 Video picture heap, either render (to store pictures used by the decoder) or output (to store pictures displayed by the vout plugin). More...
struct  vout_thread_t
 Video output thread descriptor. More...

Defines

#define VLC_VOUT_H_   1
#define vout_AllocatePicture(a, b, c, d, e, f)   __vout_AllocatePicture(VLC_OBJECT(a),b,c,d,e,f)
 Initialise different fields of a picture_t and allocates the picture buffer.
#define I_OUTPUTPICTURES   p_vout->output.i_pictures
#define PP_OUTPUTPICTURE   p_vout->output.pp_picture
#define I_RENDERPICTURES   p_vout->render.i_pictures
#define PP_RENDERPICTURE   p_vout->render.pp_picture
#define VOUT_INFO_CHANGE   0x0001
 b_info changed
#define VOUT_INTF_CHANGE   0x0004
 b_interface changed
#define VOUT_SCALE_CHANGE   0x0008
 b_autoscale changed
#define VOUT_ON_TOP_CHANGE   0x0010
 b_on_top changed
#define VOUT_CURSOR_CHANGE   0x0020
 b_cursor changed
#define VOUT_FULLSCREEN_CHANGE   0x0040
 b_fullscreen changed
#define VOUT_ZOOM_CHANGE   0x0080
 i_zoom changed
#define VOUT_SIZE_CHANGE   0x0200
 size changed
#define VOUT_DEPTH_CHANGE   0x0400
 depth changed
#define VOUT_CHROMA_CHANGE   0x0800
 change chroma tables
#define VOUT_CROP_CHANGE   0x1000
 cropping parameters changed
#define VOUT_ASPECT_CHANGE   0x2000
 aspect ratio changed
#define VOUT_PICTURE_BUFFERS_CHANGE   0x4000
 change/recreate picture buffers
#define VOUT_ALIGN_LEFT   0x0001
#define VOUT_ALIGN_RIGHT   0x0002
#define VOUT_ALIGN_HMASK   0x0003
#define VOUT_ALIGN_TOP   0x0004
#define VOUT_ALIGN_BOTTOM   0x0008
#define VOUT_ALIGN_VMASK   0x000C
#define MAX_JITTER_SAMPLES   20
#define ZOOM_FP_FACTOR   1000
#define vout_Request(a, b, c)   __vout_Request(VLC_OBJECT(a),b,c)
 This function will
  • returns a suitable vout (if requested by a non NULL p_fmt)
  • recycles an old vout (if given) by either destroying it or by saving it for latter usage.

#define vout_Create(a, b)   __vout_Create(VLC_OBJECT(a),b)
 This function will create a suitable vout for a given p_fmt.

Typedefs

typedef struct vout_thread_sys_t vout_thread_sys_t
 Video ouput thread private structure.

Enumerations

enum  output_query_e { VOUT_SET_SIZE, VOUT_SET_STAY_ON_TOP, VOUT_SET_VIEWPORT, VOUT_REDRAW_RECT }

Functions

int __vout_AllocatePicture (vlc_object_t *p_this, picture_t *p_pic, uint32_t i_chroma, int i_width, int i_height, int i_aspect)
 Allocate a new picture in the heap.
vout_thread_t__vout_Request (vlc_object_t *p_this, vout_thread_t *p_vout, video_format_t *p_fmt)
vout_thread_t__vout_Create (vlc_object_t *p_this, video_format_t *p_fmt)
void vout_Close (vout_thread_t *p_vout)
 This function will close a vout created by vout_Create or vout_Request.
static void vout_CloseAndRelease (vout_thread_t *p_vout)
 This function will close a vout created by vout_Create and then release it.
int vout_GetSnapshot (vout_thread_t *p_vout, block_t **pp_image, picture_t **pp_picture, video_format_t *p_fmt, const char *psz_format, mtime_t i_timeout)
 This function will handle a snapshot request.
int vout_ChromaCmp (uint32_t, uint32_t)
 Compare two chroma values.
picture_tvout_CreatePicture (vout_thread_t *, bool, bool, unsigned int)
void vout_DestroyPicture (vout_thread_t *, picture_t *)
 Remove a permanent or reserved picture from the heap.
void vout_DisplayPicture (vout_thread_t *, picture_t *)
 Display a picture.
void vout_LinkPicture (vout_thread_t *, picture_t *)
 Increment reference counter of a picture.
void vout_UnlinkPicture (vout_thread_t *, picture_t *)
 Decrement reference counter of a picture.
void vout_PlacePicture (const vout_thread_t *, unsigned int, unsigned int, unsigned int *, unsigned int *, unsigned int *, unsigned int *)
spu_tvout_GetSpu (vout_thread_t *)
 Return the spu_t object associated to a vout_thread_t.
void vout_IntfInit (vout_thread_t *)
void vout_EnableFilter (vout_thread_t *, const char *, bool, bool)
static int vout_vaControl (vout_thread_t *p_vout, int i_query, va_list args)
static int vout_Control (vout_thread_t *p_vout, int i_query,...)


Detailed Description

This file defines common video output structures and functions in vlc.


Define Documentation

#define VLC_VOUT_H_   1

#define vout_AllocatePicture ( a,
b,
c,
d,
e,
 )     __vout_AllocatePicture(VLC_OBJECT(a),b,c,d,e,f)

Initialise different fields of a picture_t and allocates the picture buffer.

Parameters:
p_this a vlc object
p_pic pointer to the picture structure.
i_chroma the wanted chroma for the picture.
i_width the wanted width for the picture.
i_height the wanted height for the picture.
i_aspect the wanted aspect ratio for the picture.

Referenced by exec_DataSharedMem(), Init(), vout_CreatePicture(), vout_filter_AllocateDirectBuffers(), and vout_RenderPicture().


Function Documentation

int __vout_AllocatePicture ( vlc_object_t p_this,
picture_t p_pic,
vlc_fourcc_t  i_chroma,
int  i_width,
int  i_height,
int  i_aspect 
)

Allocate a new picture in the heap.

This function allocates a fake direct buffer in memory, which can be used exactly like a video buffer. The video output thread then manages how it gets displayed.

References picture_t::format, video_format_t::i_bits_per_pixel, plane_t::i_lines, plane_t::i_pitch, picture_t::i_planes, picture_t::p, picture_t::p_data, picture_t::p_data_orig, plane_t::p_pixels, picture_Setup(), VLC_EGENERIC, VLC_ENOMEM, vlc_memalign(), VLC_SUCCESS, and VLC_UNUSED.

Referenced by picture_NewFromResource().


Generated on Sun Nov 22 08:05:27 2009 for VLC by  doxygen 1.5.6