X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_vout.h;h=f07bc6f9dc1f4da9f4c62163907c4fa1fc66f449;hb=aeb8ac0199a5924a357414284ef119f868808022;hp=16de5390d30306089b6b6532ab851c05cbe7f08f;hpb=14dd917d87e75ac1c7284373020ec3982082011b;p=vlc diff --git a/include/vlc_vout.h b/include/vlc_vout.h index 16de5390d3..f07bc6f9dc 100644 --- a/include/vlc_vout.h +++ b/include/vlc_vout.h @@ -126,7 +126,7 @@ struct picture_t /** * 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 ) ); @@ -144,7 +144,7 @@ VLC_EXPORT( void, picture_Delete, ( picture_t * ) ); * 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++; @@ -196,7 +196,7 @@ VLC_EXPORT( void, plane_CopyPixels, ( plane_t *p_dst, const plane_t *p_src ) ); /** * 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. */ @@ -289,6 +289,11 @@ struct picture_heap_t * @{ */ +/** + * Video subtitle region spu core private + */ +typedef struct subpicture_region_private_t subpicture_region_private_t; + /** * Video subtitle region * @@ -299,7 +304,7 @@ struct picture_heap_t 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 */ @@ -311,7 +316,7 @@ struct subpicture_region_t 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 */ }; /** @@ -332,6 +337,7 @@ struct subpicture_t /** \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 */ @@ -368,13 +374,11 @@ struct subpicture_t /** 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 */