]> git.sesse.net Git - vlc/blobdiff - include/vlc_osd.h
Used const for video_format_t when possible.
[vlc] / include / vlc_osd.h
index 2102470f23166dff6d8eca132690de1d739fad70..54625ff559a506b2abad4e07cb3b8dcd9e9719e5 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
-#if !defined( __LIBVLC__ )
-  #error You are not libvlc or one of its plugins. You cannot include this file
-#endif
-
-#ifndef _VLC_OSD_H
-#define _VLC_OSD_H 1
+#ifndef VLC_OSD_H
+#define VLC_OSD_H 1
 
 #include "vlc_vout.h"
 
 extern "C" {
 # endif
 
+/**
+ * \file
+ * This file defines SPU subpicture and OSD functions and object types.
+ */
+
 /**********************************************************************
  * Base SPU structures
  **********************************************************************/
@@ -66,8 +67,9 @@ struct spu_t
 
     filter_t *p_blend;                            /**< alpha blending module */
     filter_t *p_text;                              /**< text renderer module */
-    filter_t *p_scale;                                   /**< scaling module */
-    bool b_force_crop;               /**< force cropping of subpicture */
+    filter_t *p_scale_yuvp;                     /**< scaling module for YUVP */
+    filter_t *p_scale;                    /**< scaling module (all but YUVP) */
+    bool b_force_crop;                     /**< force cropping of subpicture */
     int i_crop_x, i_crop_y, i_crop_width, i_crop_height;       /**< cropping */
 
     int i_margin;                        /**< force position of a subpicture */
@@ -117,12 +119,17 @@ VLC_EXPORT( void, spu_DisplaySubpicture, ( spu_t *, subpicture_t * ) );
 
 #define spu_CreateRegion(a,b) __spu_CreateRegion(VLC_OBJECT(a),b)
 VLC_EXPORT( subpicture_region_t *,__spu_CreateRegion, ( vlc_object_t *, video_format_t * ) );
-#define spu_MakeRegion(a,b,c) __spu_MakeRegion(VLC_OBJECT(a),b,c)
-VLC_EXPORT( subpicture_region_t *,__spu_MakeRegion, ( vlc_object_t *, video_format_t *, picture_t * ) );
 #define spu_DestroyRegion(a,b) __spu_DestroyRegion(VLC_OBJECT(a),b)
 VLC_EXPORT( void, __spu_DestroyRegion, ( vlc_object_t *, subpicture_region_t * ) );
-VLC_EXPORT( subpicture_t *, spu_SortSubpictures, ( spu_t *, mtime_t, bool ) );
-VLC_EXPORT( void, spu_RenderSubpictures, ( spu_t *,  video_format_t *, picture_t *, picture_t *, subpicture_t *, int, int ) );
+VLC_EXPORT( subpicture_t *, spu_SortSubpictures, ( spu_t *, mtime_t display_date, bool b_paused, bool b_subtitle_only ) );
+
+/**
+ * This function renders a list of subpicture_t on the provided picture.
+ *
+ * \param p_fmt_dst is the format of the destination picture.
+ * \param p_fmt_src is the format of the original(source) video.
+ */
+VLC_EXPORT( void, spu_RenderSubpictures, ( spu_t *,  picture_t *, const video_format_t *p_fmt_dst, subpicture_t *p_list, const video_format_t *p_fmt_src ) );
 
 /** @}*/