[vlc-commits] picture: merge p_data_orig into gc.p_sys

Rémi Denis-Courmont git at videolan.org
Wed Dec 12 21:15:10 CET 2012


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Dec 12 22:14:23 2012 +0200| [d631d06dfd76d29d00a9d7adadb322aab46a444d] | committer: Rémi Denis-Courmont

picture: merge p_data_orig into gc.p_sys

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d631d06dfd76d29d00a9d7adadb322aab46a444d
---

 include/vlc_picture.h |    3 +--
 src/misc/picture.c    |   10 +++++-----
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/include/vlc_picture.h b/include/vlc_picture.h
index 5c481f2..7c7d4cc 100644
--- a/include/vlc_picture.h
+++ b/include/vlc_picture.h
@@ -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;
 
diff --git a/src/misc/picture.c b/src/misc/picture.c
index 0687293..d90748c 100644
--- a/src/misc/picture.c
+++ b/src/misc/picture.c
@@ -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;
 }



More information about the vlc-commits mailing list