Include dependency graph for vlc_vout.h:

Go to the source code of this file.
Data Structures | |
| struct | plane_t |
| Description of a planar graphic field. More... | |
| struct | picture_t |
| Video picture. More... | |
| 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 | subpicture_region_t |
| Video subtitle region. More... | |
| struct | subpicture_t |
| Video subtitle. More... | |
| struct | vout_thread_t |
| Video output thread descriptor. More... | |
| struct | snapshot_t |
Defines | |
| #define | VLC_VOUT_H_ 1 |
| #define | EMPTY_PICTURE 0 |
| #define | MEMORY_PICTURE 100 |
| #define | DIRECT_PICTURE 200 |
| #define | FREE_PICTURE 0 |
| #define | RESERVED_PICTURE 1 |
| #define | RESERVED_DATED_PICTURE 2 |
| #define | RESERVED_DISP_PICTURE 3 |
| #define | READY_PICTURE 4 |
| #define | DISPLAYED_PICTURE 5 |
| #define | DESTROYED_PICTURE 6 |
| #define | Y_PLANE 0 |
| #define | U_PLANE 1 |
| #define | V_PLANE 2 |
| #define | A_PLANE 3 |
| #define | Y_PIXELS p[Y_PLANE].p_pixels |
| #define | Y_PITCH p[Y_PLANE].i_pitch |
| #define | U_PIXELS p[U_PLANE].p_pixels |
| #define | U_PITCH p[U_PLANE].i_pitch |
| #define | V_PIXELS p[V_PLANE].p_pixels |
| #define | V_PITCH p[V_PLANE].i_pitch |
| #define | A_PIXELS p[A_PLANE].p_pixels |
| #define | A_PITCH p[A_PLANE].i_pitch |
| #define | EMPTY_SUBPICTURE 0 |
| #define | MEMORY_SUBPICTURE 100 |
| #define | DEFAULT_CHAN 1 |
| #define | FREE_SUBPICTURE 0 |
| #define | RESERVED_SUBPICTURE 1 |
| #define | READY_SUBPICTURE 2 |
| #define | SUBPICTURE_ALIGN_LEFT 0x1 |
| #define | SUBPICTURE_ALIGN_RIGHT 0x2 |
| #define | SUBPICTURE_ALIGN_TOP 0x4 |
| #define | SUBPICTURE_ALIGN_BOTTOM 0x8 |
| #define | SUBPICTURE_ALIGN_MASK |
| #define | SUBPICTURE_RENDERED 0x10 |
| #define | vout_CopyPicture(a, b, c) __vout_CopyPicture(VLC_OBJECT(a),b,c) |
| Copy the source picture onto the destination picture. | |
| #define | vout_InitPicture(a, b, c, d, e, f) __vout_InitPicture(VLC_OBJECT(a),b,c,d,e,f) |
| Initialise different fields of a picture_t (but does not allocate memory). | |
| #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_GRAYSCALE_CHANGE 0x0002 |
| b_grayscale changed | |
| #define | VOUT_INTF_CHANGE 0x0004 |
| b_interface changed | |
| #define | VOUT_SCALE_CHANGE 0x0008 |
| b_scale changed | |
| #define | VOUT_GAMMA_CHANGE 0x0010 |
| gamma changed | |
| #define | VOUT_CURSOR_CHANGE 0x0020 |
| b_cursor changed | |
| #define | VOUT_FULLSCREEN_CHANGE 0x0040 |
| b_fullscreen 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 | vout_Request(a, b, c) __vout_Request(VLC_OBJECT(a),b,c) |
This function will
| |
| #define | vout_Create(a, b) __vout_Create(VLC_OBJECT(a),b) |
| This function will create a suitable vout for a given p_fmt. | |
Enumerations | |
| enum | output_query_e { VOUT_GET_SIZE, VOUT_SET_SIZE, VOUT_SET_STAY_ON_TOP, VOUT_REPARENT, VOUT_SNAPSHOT, VOUT_CLOSE, VOUT_SET_FOCUS, VOUT_SET_VIEWPORT, VOUT_REDRAW_RECT } |
Functions | |
| picture_t * | picture_New (vlc_fourcc_t i_chroma, int i_width, int i_height, int i_aspect) |
| This function will create a new picture. | |
| void | picture_Delete (picture_t *) |
| This function will force the destruction a picture. | |
| static void | picture_Yield (picture_t *p_picture) |
| This function will increase the picture reference count. | |
| static void | picture_Release (picture_t *p_picture) |
| This function will release a picture. | |
| static void | picture_CopyProperties (picture_t *p_dst, const picture_t *p_src) |
| This function will copy all picture dynamic properties. | |
| void | picture_CopyPixels (picture_t *p_dst, const picture_t *p_src) |
| This function will copy the picture pixels. | |
| static void | picture_Copy (picture_t *p_dst, const picture_t *p_src) |
| This function will copy both picture dynamic properties and pixels. | |
| void | __vout_CopyPicture (vlc_object_t *p_this, picture_t *p_dst, picture_t *p_src) |
| int | __vout_InitPicture (vlc_object_t *p_this, picture_t *p_pic, uint32_t i_chroma, int i_width, int i_height, int i_aspect) |
| Initialise the picture_t fields given chroma/size. | |
| 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_ChromaCmp (uint32_t, uint32_t) |
| Compare two chroma values. | |
| picture_t * | vout_CreatePicture (vout_thread_t *, bool, bool, unsigned int) |
| void | vout_InitFormat (video_frame_format_t *, uint32_t, int, int, int) |
| Initialise the video format fields given chroma/size. | |
| 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_DatePicture (vout_thread_t *, picture_t *, mtime_t) |
| Date 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 (vout_thread_t *, unsigned int, unsigned int, unsigned int *, unsigned int *, unsigned int *, unsigned int *) |
| Calculate image window coordinates. | |
| picture_t * | vout_RenderPicture (vout_thread_t *, picture_t *, subpicture_t *) |
| Render a picture. | |
| int | vout_CountPictureAvailable (vout_thread_t *) |
| Allocate a picture in the video output heap. | |
| int | vout_vaControlDefault (vout_thread_t *, int, va_list) |
| void * | vout_RequestWindow (vout_thread_t *, int *, int *, unsigned int *, unsigned int *) |
| void | vout_ReleaseWindow (vout_thread_t *, void *) |
| int | vout_ControlWindow (vout_thread_t *, void *, int, va_list) |
| void | vout_IntfInit (vout_thread_t *) |
| int | vout_Snapshot (vout_thread_t *p_vout, picture_t *p_pic) |
| void | vout_EnableFilter (vout_thread_t *, 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,...) |
| #define A_PITCH p[A_PLANE].i_pitch |
| #define A_PIXELS p[A_PLANE].p_pixels |
| #define A_PLANE 3 |
| #define DESTROYED_PICTURE 6 |
| #define DIRECT_PICTURE 200 |
| #define DISPLAYED_PICTURE 5 |
| #define EMPTY_PICTURE 0 |
| #define FREE_PICTURE 0 |
| #define MEMORY_PICTURE 100 |
| #define READY_PICTURE 4 |
| #define RESERVED_DATED_PICTURE 2 |
| #define RESERVED_DISP_PICTURE 3 |
| #define RESERVED_PICTURE 1 |
| #define U_PITCH p[U_PLANE].i_pitch |
| #define U_PIXELS p[U_PLANE].p_pixels |
| #define U_PLANE 1 |
| #define V_PITCH p[V_PLANE].i_pitch |
| #define V_PIXELS p[V_PLANE].p_pixels |
| #define V_PLANE 2 |
| #define VLC_VOUT_H_ 1 |
| #define Y_PITCH p[Y_PLANE].i_pitch |
| #define Y_PIXELS p[Y_PLANE].p_pixels |
| #define Y_PLANE 0 |
This function will copy both picture dynamic properties and pixels.
You have to notice that sometime a simple picture_Yield may do what you want without the copy overhead. Provided for convenience.
This function will copy the picture pixels.
You can safely copy between pictures that do not have the same size, only the compatible(smaller) part will be copied.
This function will copy all picture dynamic properties.
| void picture_Delete | ( | picture_t * | ) |
This function will force the destruction a picture.
The value of the picture reference count should be 0 before entering this function. Unless used for reimplementing pf_release, you should not use this function but picture_Release.
| picture_t* picture_New | ( | vlc_fourcc_t | i_chroma, | |
| int | i_width, | |||
| int | i_height, | |||
| int | i_aspect | |||
| ) |
This function will create a new picture.
The picture created will implement a default release management compatible with picture_Yield and picture_Release. This default management will release picture_sys_t *p_sys field if non NULL.
| static void picture_Release | ( | picture_t * | p_picture | ) | [inline, static] |
This function will release a picture.
It will not have any effect on picture obtained from vout
| static void picture_Yield | ( | picture_t * | p_picture | ) | [inline, static] |
This function will increase the picture reference count.
It will not have any effect on picture obtained from vout
1.5.1