]> git.sesse.net Git - vlc/blobdiff - include/video.h
preferences.cpp: Changed the preferences dialog to use a tree of categories
[vlc] / include / video.h
index be29e9be7e1c9f3ac1654a01b432cf6eb90e8995..2c8d5889ad0a1589d85fb6451ba289f13cbebe0a 100644 (file)
@@ -4,7 +4,7 @@
  * includes all common video types and constants.
  *****************************************************************************
  * Copyright (C) 1999, 2000 VideoLAN
- * $Id: video.h,v 1.58 2002/11/11 14:39:11 sam Exp $
+ * $Id: video.h,v 1.62 2003/03/28 17:02:25 gbazin Exp $
  *
  * Authors: Vincent Seguin <seguin@via.ecp.fr>
  *
@@ -80,6 +80,10 @@ struct picture_t
     /* The picture heap we are attached to */
     picture_heap_t* p_heap;
 
+    /* Some vouts require the picture to be locked before it can be modified */
+    int (* pf_lock) ( vout_thread_t *, picture_t * );
+    int (* pf_unlock) ( vout_thread_t *, picture_t * );
+
     /* Private data - the video output plugin might want to put stuff here to
      * keep track of the picture */
     picture_sys_t * p_sys;
@@ -95,13 +99,15 @@ struct picture_heap_t
 
     /* Picture static properties - those properties are fixed at initialization
      * and should NOT be modified */
-    int          i_width;                                   /* picture width */
-    int          i_height;                                 /* picture height */
+    unsigned int i_width;                                   /* picture width */
+    unsigned int i_height;                                 /* picture height */
     vlc_fourcc_t i_chroma;                                 /* picture chroma */
-    int          i_aspect;                                   /* aspect ratio */
+    unsigned int i_aspect;                                   /* aspect ratio */
 
     /* Real pictures */
     picture_t*      pp_picture[VOUT_MAX_PICTURES];               /* pictures */
+    int             i_last_used_pic;                /* last used pic in heap */
+    vlc_bool_t      b_allow_modify_pics;
 
     /* Stuff used for truecolor RGB planes */
     int i_rmask, i_rrshift, i_lrshift;
@@ -112,15 +118,6 @@ struct picture_heap_t
     void (* pf_setpalette) ( vout_thread_t *, uint16_t *, uint16_t *, uint16_t * );
 };
 
-/* RGB2PIXEL: assemble RGB components to a pixel value, returns a uint32_t */
-#define RGB2PIXEL( p_vout, i_r, i_g, i_b )          \
-    (((((uint32_t)i_r) >> p_vout->output.i_rrshift) \
-                       << p_vout->output.i_lrshift) \
-   | ((((uint32_t)i_g) >> p_vout->output.i_rgshift) \
-                       << p_vout->output.i_lgshift) \
-   | ((((uint32_t)i_b) >> p_vout->output.i_rbshift) \
-                       << p_vout->output.i_lbshift))
-
 /*****************************************************************************
  * Flags used to describe the status of a picture
  *****************************************************************************/