/**
* 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
+ * with picture_Hold and picture_Release. This default management will release
* picture_sys_t *p_sys field if non NULL.
*/
VLC_EXPORT( picture_t *, picture_New, ( vlc_fourcc_t i_chroma, int i_width, int i_height, int i_aspect ) );
* This function will increase the picture reference count.
* It will not have any effect on picture obtained from vout
*/
-static inline void picture_Yield( picture_t *p_picture )
+static inline void picture_Hold( picture_t *p_picture )
{
if( p_picture->pf_release )
p_picture->i_refcount++;
/**
* This function will copy both picture dynamic properties and pixels.
- * You have to notice that sometime a simple picture_Yield may do what
+ * You have to notice that sometime a simple picture_Hold may do what
* you want without the copy overhead.
* Provided for convenience.
*/
* @{
*/
+/**
+ * Video subtitle region spu core private
+ */
+typedef struct subpicture_region_private_t subpicture_region_private_t;
+
/**
* Video subtitle region
*
struct subpicture_region_t
{
video_format_t fmt; /**< format of the picture */
- picture_t picture; /**< picture comprising this region */
+ picture_t *p_picture; /**< picture comprising this region */
int i_x; /**< position of region */
int i_y; /**< position of region */
text_style_t *p_style; /**< a description of the text style formatting */
subpicture_region_t *p_next; /**< next region in the list */
- subpicture_region_t *p_cache; /**< modified version of this region */
+ subpicture_region_private_t *p_private; /**< modified version of this region */
};
/**
/** \name Type and flags
Should NOT be modified except by the vout thread */
/**@{*/
+ int64_t i_order; /** an increasing unique number */
int i_type; /**< type */
int i_status; /**< flags */
subpicture_t * p_next; /**< next subtitle to be displayed */
/** Pointer to functions for region management */
subpicture_region_t * ( *pf_create_region ) ( vlc_object_t *,
video_format_t * );
- subpicture_region_t * ( *pf_make_region ) ( vlc_object_t *,
- video_format_t *, picture_t * );
void ( *pf_destroy_region ) ( vlc_object_t *, subpicture_region_t * );
- void ( *pf_pre_render ) ( video_format_t *, spu_t *, subpicture_t * );
- void ( *pf_update_regions ) ( video_format_t *, spu_t *,
- subpicture_t *, mtime_t );
+ void (*pf_pre_render) ( spu_t *, subpicture_t *, const video_format_t * );
+ void (*pf_update_regions)( spu_t *,
+ subpicture_t *, const video_format_t *, mtime_t );
/** Private data - the subtitle plugin might want to put stuff here to
* keep track of the subpicture */