]> git.sesse.net Git - vlc/commitdiff
picture: merge p_data_orig into gc.p_sys
authorRémi Denis-Courmont <remi@remlab.net>
Wed, 12 Dec 2012 20:14:23 +0000 (22:14 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Wed, 12 Dec 2012 20:15:07 +0000 (22:15 +0200)
include/vlc_picture.h
src/misc/picture.c

index 5c481f285ff24e405fa9f217aa5e0ebcc23b9428..7c7d4cc6f9c2b01a69171044cb38f82cf57bd5f9 100644 (file)
@@ -73,7 +73,6 @@ struct picture_t
      */
     video_frame_format_t format;
 
-    void           *p_data_orig;                /**< pointer before memalign */
     plane_t         p[PICTURE_PLANE_MAX];     /**< description of the planes */
     int             i_planes;                /**< number of allocated planes */
 
@@ -117,7 +116,7 @@ struct picture_t
  * This function will create a new picture.
  * The picture created will implement a default release management compatible
  * with picture_Hold and picture_Release. This default management will release
- * p_sys, p_q, p_data_orig fields if non NULL.
+ * p_sys, p_q, gc.p_sys fields if non NULL.
  */
 VLC_API picture_t * picture_New( vlc_fourcc_t i_chroma, int i_width, int i_height, int i_sar_num, int i_sar_den ) VLC_USED;
 
index 0687293fb7e7b023607e396935398a98ff2460e9..d90748c435233770cd725fd8c2249eee54fa93c2 100644 (file)
@@ -77,7 +77,7 @@ static int AllocatePicture( picture_t *p_pic,
         p_pic->i_planes = 0;
         return VLC_EGENERIC;
     }
-    p_pic->p_data_orig = p_data; /* TODO: get rid of this */
+    p_pic->gc.p_sys = (void *)p_data;
 
     /* Fill the p_pixels field for each plane */
     p_pic->p[0].p_pixels = p_data;
@@ -96,11 +96,10 @@ static int AllocatePicture( picture_t *p_pic,
 static void PictureDestroy( picture_t *p_picture )
 {
     assert( p_picture &&
-            vlc_atomic_get( &p_picture->gc.refcount ) == 0 &&
-            p_picture->gc.p_sys == NULL );
+            vlc_atomic_get( &p_picture->gc.refcount ) == 0 );
 
     free( p_picture->p_q );
-    vlc_free( p_picture->p_data_orig );
+    vlc_free( p_picture->gc.p_sys );
     free( p_picture->p_sys );
     free( p_picture );
 }
@@ -230,6 +229,7 @@ picture_t *picture_NewFromResource( const video_format_t *p_fmt, const picture_r
             return NULL;
         }
         p_picture->p_sys = p_resource->p_sys;
+        assert( p_picture->gc.p_sys == NULL );
 
         for( int i = 0; i < p_picture->i_planes; i++ )
         {
@@ -247,13 +247,13 @@ picture_t *picture_NewFromResource( const video_format_t *p_fmt, const picture_r
             free( p_picture );
             return NULL;
         }
+        assert( p_picture->gc.p_sys != NULL );
     }
     /* */
     p_picture->format = fmt;
 
     vlc_atomic_set( &p_picture->gc.refcount, 1 );
     p_picture->gc.pf_destroy = PictureDestroy;
-    p_picture->gc.p_sys = NULL;
 
     return p_picture;
 }