X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_subpicture.h;h=23fdaaca18a8fd09d84122e4c2b9c048401f4188;hb=a3bcd2df4f6ac2825d5b02e407d3258800a8b899;hp=26f0cf6caf8f3257ea4e9b8b35a8709eecc312e4;hpb=78d87996ccb92d1dc91c9987685f976ed3be08a6;p=vlc diff --git a/include/vlc_subpicture.h b/include/vlc_subpicture.h index 26f0cf6caf..23fdaaca18 100644 --- a/include/vlc_subpicture.h +++ b/include/vlc_subpicture.h @@ -124,6 +124,8 @@ struct subpicture_t subpicture_t * p_next; /**< next subtitle to be displayed */ /**@}*/ + subpicture_region_t *p_region; /**< region list composing this subtitle */ + /** \name Date properties */ /**@{*/ mtime_t i_start; /**< beginning of display date */ @@ -133,27 +135,22 @@ struct subpicture_t bool b_fade; /**< enable fading */ /**@}*/ - subpicture_region_t *p_region; /**< region list composing this subtitle */ - /** \name Display properties * These properties are only indicative and may be * changed by the video output thread, or simply ignored depending of the * subtitle type. */ /**@{*/ - int i_original_picture_width; /**< original width of the movie */ - int i_original_picture_height;/**< original height of the movie */ bool b_subtitle; /**< the picture is a movie subtitle */ bool b_absolute; /**< position is absolute */ + int i_original_picture_width; /**< original width of the movie */ + int i_original_picture_height;/**< original height of the movie */ int i_alpha; /**< transparency */ /**@}*/ - /** Pointer to function that renders this subtitle in a picture */ - void ( *pf_render ) ( vout_thread_t *, picture_t *, const subpicture_t * ); /** Pointer to function that cleans up the private data of this subtitle */ void ( *pf_destroy ) ( subpicture_t * ); - /** Pointer to functions for region management */ - void (*pf_pre_render) ( spu_t *, subpicture_t *, const video_format_t * ); + /** Pointer to function that update the regions before rendering (optionnal) */ void (*pf_update_regions)( spu_t *, subpicture_t *, const video_format_t *, mtime_t ); @@ -176,6 +173,15 @@ VLC_EXPORT( subpicture_t *, subpicture_New, ( void ) ); */ VLC_EXPORT( void, subpicture_Delete, ( subpicture_t *p_subpic ) ); +/** + * This function will create a subpicture having one region in the requested + * chroma showing the given picture. + * + * The picture_t given is not released nor used inside the + * returned subpicture_t. + */ +VLC_EXPORT( subpicture_t *, subpicture_NewFromPicture, ( vlc_object_t *, picture_t *, vlc_fourcc_t i_chroma ) ); + /**@}*/ #endif /* _VLC_VIDEO_H */