]> git.sesse.net Git - vlc/blobdiff - include/vlc_picture.h
qt4: fix COM leak and handle errors
[vlc] / include / vlc_picture.h
index 0b3f948aa540354f1a723e56a6cd9b2a075020ca..d3e3b99c1f8f5ad6c6b4ca63a1c80ba8357889d0 100644 (file)
@@ -102,7 +102,7 @@ struct picture_t
     /** This way the picture_Release can be overloaded */
     struct
     {
-        vlc_atomic_t refcount;
+        atomic_uintptr_t refcount;
         void (*pf_destroy)( picture_t * );
         picture_gc_sys_t *p_sys;
     } gc;
@@ -133,6 +133,7 @@ VLC_API picture_t * picture_NewFromFormat( const video_format_t *p_fmt ) VLC_USE
 typedef struct
 {
     picture_sys_t *p_sys;
+    void (*pf_destroy)(picture_t *);
 
     /* Plane resources
      * XXX all fields MUST be set to the right value.
@@ -234,7 +235,7 @@ VLC_API int picture_Export( vlc_object_t *p_obj, block_t **pp_image, video_forma
  *
  * It can be useful to get the properties of planes.
  */
-VLC_API int picture_Setup( picture_t *, vlc_fourcc_t i_chroma, int i_width, int i_height, int i_sar_num, int i_sar_den );
+VLC_API int picture_Setup( picture_t *, const video_format_t * );
 
 
 /**
@@ -245,8 +246,9 @@ VLC_API int picture_Setup( picture_t *, vlc_fourcc_t i_chroma, int i_width, int
  *  - not be ephemere.
  *  - not have the fade flag.
  *  - contains only picture (no text rendering).
+ * \return the number of region(s) succesfully blent
  */
-VLC_API void picture_BlendSubpicture( picture_t *, filter_t *p_blend, subpicture_t * );
+VLC_API unsigned picture_BlendSubpicture( picture_t *, filter_t *p_blend, subpicture_t * );
 
 
 /*****************************************************************************