VLC  3.0.15
Files | Data Structures | Macros | Typedefs | Functions
Video sub-pictures
Collaboration diagram for Video sub-pictures:

Files

file  vlc_subpicture.h
 

Data Structures

struct  subpicture_region_t
 Video subtitle region. More...
 
struct  subpicture_updater_t
 
struct  subpicture_t
 Video subtitle. More...
 

Macros

#define SUBPICTURE_ALIGN_LEFT   0x1
 
#define SUBPICTURE_ALIGN_RIGHT   0x2
 
#define SUBPICTURE_ALIGN_TOP   0x4
 
#define SUBPICTURE_ALIGN_BOTTOM   0x8
 
#define SUBPICTURE_ALIGN_MASK
 

Typedefs

typedef struct subpicture_region_private_t subpicture_region_private_t
 Video subtitle region spu core private. More...
 
typedef struct subpicture_updater_sys_t subpicture_updater_sys_t
 
typedef struct subpicture_private_t subpicture_private_t
 

Functions

subpicture_region_tsubpicture_region_New (const video_format_t *p_fmt)
 This function will create a new subpicture region. More...
 
void subpicture_region_Delete (subpicture_region_t *p_region)
 This function will destroy a subpicture region allocated by subpicture_region_New. More...
 
void subpicture_region_ChainDelete (subpicture_region_t *p_head)
 This function will destroy a list of subpicture regions allocated by subpicture_region_New. More...
 
subpicture_region_tsubpicture_region_Copy (subpicture_region_t *p_region)
 This function will copy a subpicture region to a new allocated one and transfer all the properties. More...
 
subpicture_tsubpicture_New (const subpicture_updater_t *)
 This function create a new empty subpicture. More...
 
void subpicture_Delete (subpicture_t *p_subpic)
 This function delete a subpicture created by subpicture_New. More...
 
subpicture_tsubpicture_NewFromPicture (vlc_object_t *, picture_t *, vlc_fourcc_t i_chroma)
 This function will create a subpicture having one region in the requested chroma showing the given picture. More...
 
void subpicture_Update (subpicture_t *, const video_format_t *src, const video_format_t *, mtime_t)
 This function will update the content of a subpicture created with a non NULL subpicture_updater_t. More...
 
unsigned picture_BlendSubpicture (picture_t *, filter_t *p_blend, subpicture_t *)
 This function will blend a given subpicture onto a picture. More...
 

Detailed Description

Subpictures are pictures that should be displayed on top of the video, like subtitles and OSD

Macro Definition Documentation

◆ SUBPICTURE_ALIGN_BOTTOM

#define SUBPICTURE_ALIGN_BOTTOM   0x8

◆ SUBPICTURE_ALIGN_LEFT

#define SUBPICTURE_ALIGN_LEFT   0x1

◆ SUBPICTURE_ALIGN_MASK

#define SUBPICTURE_ALIGN_MASK

◆ SUBPICTURE_ALIGN_RIGHT

#define SUBPICTURE_ALIGN_RIGHT   0x2

◆ SUBPICTURE_ALIGN_TOP

#define SUBPICTURE_ALIGN_TOP   0x4

Typedef Documentation

◆ subpicture_private_t

◆ subpicture_region_private_t

Video subtitle region spu core private.

◆ subpicture_updater_sys_t

Function Documentation

◆ picture_BlendSubpicture()

unsigned picture_BlendSubpicture ( picture_t ,
filter_t p_blend,
subpicture_t  
)

This function will blend a given subpicture onto a picture.

The subpicture and all its region must:

  • be absolute.
  • not be ephemere.
  • not have the fade flag.
  • contains only picture (no text rendering).
    Returns
    the number of region(s) successfully blent

References subpicture_t::b_absolute, subpicture_t::b_fade, filter_Blend(), filter_ConfigureBlend(), filter_t::fmt_in, filter_t::fmt_out, picture_t::format, subpicture_t::i_alpha, video_format_t::i_chroma, video_format_t::i_height, video_format_t::i_width, msg_Err, subpicture_region_t::p_next, subpicture_t::p_region, and es_format_t::video.

◆ subpicture_Delete()

void subpicture_Delete ( subpicture_t p_subpic)

◆ subpicture_New()

subpicture_t* subpicture_New ( const subpicture_updater_t )

This function create a new empty subpicture.

You must use subpicture_Delete to destroy it.

References subpicture_t::b_absolute, subpicture_t::b_fade, subpicture_t::b_subtitle, subpicture_t::i_alpha, subpicture_t::i_order, and subpicture_t::p_region.

Referenced by spu_new_buffer(), subpicture_NewFromPicture(), SubSourceInit(), vout_OSDEpg(), and vout_OSDText().

◆ subpicture_NewFromPicture()

subpicture_t* subpicture_NewFromPicture ( vlc_object_t ,
picture_t ,
vlc_fourcc_t  i_chroma 
)

◆ subpicture_region_ChainDelete()

void subpicture_region_ChainDelete ( subpicture_region_t p_head)

This function will destroy a list of subpicture regions allocated by subpicture_region_New.

Provided for convenience.

References subpicture_region_t::p_next, and subpicture_region_Delete().

Referenced by subpicture_Delete(), and subpicture_Update().

◆ subpicture_region_Copy()

subpicture_region_t* subpicture_region_Copy ( subpicture_region_t p_region)

◆ subpicture_region_Delete()

void subpicture_region_Delete ( subpicture_region_t p_region)

◆ subpicture_region_New()

subpicture_region_t* subpicture_region_New ( const video_format_t p_fmt)

◆ subpicture_Update()

void subpicture_Update ( subpicture_t ,
const video_format_t src,
const video_format_t ,
mtime_t   
)
SUBPICTURE_ALIGN_LEFT
#define SUBPICTURE_ALIGN_LEFT
Definition: vlc_subpicture.h:81
SUBPICTURE_ALIGN_BOTTOM
#define SUBPICTURE_ALIGN_BOTTOM
Definition: vlc_subpicture.h:84
SUBPICTURE_ALIGN_RIGHT
#define SUBPICTURE_ALIGN_RIGHT
Definition: vlc_subpicture.h:82