Subpicture Unit

This module describes the programming interface for the subpicture unit. More...

Data Structures

struct  spu_t
 Subpicture unit descriptor. More...

Defines

#define spu_Create(a)   __spu_Create(VLC_OBJECT(a))
#define spu_CreateRegion(a, b)   __spu_CreateRegion(VLC_OBJECT(a),b)
#define spu_MakeRegion(a, b, c)   __spu_MakeRegion(VLC_OBJECT(a),b,c)
#define spu_DestroyRegion(a, b)   __spu_DestroyRegion(VLC_OBJECT(a),b)

Enumerations

enum  spu_query_e { SPU_CHANNEL_REGISTER, SPU_CHANNEL_CLEAR }

Functions

static int spu_vaControl (spu_t *p_spu, int i_query, va_list args)
static int spu_Control (spu_t *p_spu, int i_query,...)
spu_t__spu_Create (vlc_object_t *)
 Creates the subpicture unit.
int spu_Init (spu_t *)
 Initialise the subpicture unit.
void spu_Destroy (spu_t *)
 Destroy the subpicture unit.
void spu_Attach (spu_t *, vlc_object_t *, bool)
 Attach/Detach the SPU from any input.
subpicture_tspu_CreateSubpicture (spu_t *)
 Allocate a subpicture in the spu heap.
void spu_DestroySubpicture (spu_t *, subpicture_t *)
 Remove a subpicture from the heap.
void spu_DisplaySubpicture (spu_t *, subpicture_t *)
 Display a subpicture.
subpicture_region_t__spu_CreateRegion (vlc_object_t *, video_format_t *)
subpicture_region_t__spu_MakeRegion (vlc_object_t *, video_format_t *, picture_t *)
 Make a subpicture region from an existing picture_t.
void __spu_DestroyRegion (vlc_object_t *, subpicture_region_t *)
 Destroy a subpicture region.
subpicture_tspu_SortSubpictures (spu_t *, mtime_t, bool)
void spu_RenderSubpictures (spu_t *, video_format_t *, picture_t *, picture_t *, subpicture_t *, int, int)

Detailed Description

This module describes the programming interface for the subpicture unit.

It includes functions allowing to create/destroy an spu, create/destroy subpictures and render them.


Define Documentation

#define spu_Create (  )     __spu_Create(VLC_OBJECT(a))

#define spu_CreateRegion ( a,
 )     __spu_CreateRegion(VLC_OBJECT(a),b)

#define spu_DestroyRegion ( a,
 )     __spu_DestroyRegion(VLC_OBJECT(a),b)

#define spu_MakeRegion ( a,
b,
 )     __spu_MakeRegion(VLC_OBJECT(a),b,c)


Enumeration Type Documentation

enum spu_query_e

Enumerator:
SPU_CHANNEL_REGISTER 
SPU_CHANNEL_CLEAR 


Function Documentation

spu_t* __spu_Create ( vlc_object_t p_this  ) 

Creates the subpicture unit.

Parameters:
p_this the parent object which creates the subpicture unit

subpicture_region_t* __spu_CreateRegion ( vlc_object_t ,
video_format_t  
)

void __spu_DestroyRegion ( vlc_object_t p_this,
subpicture_region_t p_region 
)

Destroy a subpicture region.

Parameters:
p_this vlc_object_t
p_region the subpicture region to destroy

subpicture_region_t* __spu_MakeRegion ( vlc_object_t p_this,
video_format_t p_fmt,
picture_t p_pic 
)

Make a subpicture region from an existing picture_t.

Parameters:
p_this vlc_object_t
p_fmt the format that this subpicture region should have
p_pic a pointer to the picture creating the region (not freed)

void spu_Attach ( spu_t p_spu,
vlc_object_t p_this,
bool  b_attach 
)

Attach/Detach the SPU from any input.

Parameters:
p_this the object in which to destroy the subpicture unit
b_attach to select attach or detach

static int spu_Control ( spu_t p_spu,
int  i_query,
  ... 
) [inline, static]

subpicture_t* spu_CreateSubpicture ( spu_t p_spu  ) 

Allocate a subpicture in the spu heap.

This function create a reserved subpicture in the spu heap. A null pointer is returned if the function fails. This method provides an already allocated zone of memory in the spu data fields. It needs locking since several pictures can be created by several producers threads.

Parameters:
p_spu the subpicture unit in which to create the subpicture
Returns:
NULL on error, a reserved subpicture otherwise

void spu_Destroy ( spu_t p_spu  ) 

Destroy the subpicture unit.

Parameters:
p_this the parent object which destroys the subpicture unit

void spu_DestroySubpicture ( spu_t p_spu,
subpicture_t p_subpic 
)

Remove a subpicture from the heap.

This function frees a previously reserved subpicture. It is meant to be used when the construction of a picture aborted. This function does not need locking since reserved subpictures are ignored by the spu.

void spu_DisplaySubpicture ( spu_t p_spu,
subpicture_t p_subpic 
)

Display a subpicture.

Remove the reservation flag of a subpicture, which will cause it to be ready for display.

Parameters:
p_spu the subpicture unit object
p_subpic the subpicture to display

int spu_Init ( spu_t p_spu  ) 

Initialise the subpicture unit.

Parameters:
p_spu the subpicture unit object

void spu_RenderSubpictures ( spu_t ,
video_format_t ,
picture_t ,
picture_t ,
subpicture_t ,
int  ,
int   
)

subpicture_t* spu_SortSubpictures ( spu_t ,
mtime_t  ,
bool   
)

static int spu_vaControl ( spu_t p_spu,
int  i_query,
va_list  args 
) [inline, static]


Generated on Wed Aug 13 08:05:54 2008 for VLC by  doxygen 1.5.1