]> git.sesse.net Git - vlc/blobdiff - include/vlc_video.h
* include/vlc/vlc.h: added a b_play parameter to the libvlc VLC_AddIntf() prototype.
[vlc] / include / vlc_video.h
index 51b90fa68591f5774e5f92451f9baf6f2913a1a7..ef1ef3f286d268b68a9ec4d691d929982387cdb0 100644 (file)
@@ -4,7 +4,7 @@
  * includes all common video types and constants.
  *****************************************************************************
  * Copyright (C) 1999, 2000 VideoLAN
- * $Id: vlc_video.h,v 1.4 2003/10/08 21:01:07 gbazin Exp $
+ * $Id: vlc_video.h,v 1.9 2004/01/25 18:17:08 zorglub Exp $
  *
  * Authors: Vincent Seguin <seguin@via.ecp.fr>
  *
@@ -12,7 +12,7 @@
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 #ifndef _VLC_VIDEO_H
 #define _VLC_VIDEO_H 1
 
-/**
- * Description of a video frame
- */
-typedef struct video_frame_format_t
-{
-    unsigned int i_width;                                 /**< picture width */
-    unsigned int i_height;                               /**< picture height */
-    vlc_fourcc_t i_chroma;                               /**< picture chroma */
-    unsigned int i_aspect;                                 /**< aspect ratio */
-
-} video_frame_format_t;
+#include "vlc_es.h"
 
 /**
  * Description of a planar graphic field
@@ -66,6 +56,12 @@ typedef struct plane_t
  */
 struct picture_t
 {
+    /** \name Picture format
+     * Describes the properties of the picture
+     * @{*/
+    video_frame_format_t format;
+    /**@}*/
+
     /** Picture data - data can always be freely modified, but p_data may
      * NEVER be modified. A direct buffer can be handled as the plugin
      * wishes, it can even swap p_pixels buffers. */
@@ -99,7 +95,7 @@ struct picture_t
     unsigned int    i_nb_fields;                  /**< # of displayed fields */
     vlc_bool_t      b_top_field_first;             /**< which field is first */
     /**@}*/
-    
+
     /** The picture heap we are attached to */
     picture_heap_t* p_heap;
 
@@ -224,22 +220,6 @@ struct subpicture_t
     int             i_width;                              /**< picture width */
     int             i_height;                            /**< picture height */
     /**@}*/
-#if 0
-    /* Additionnal properties depending of the subpicture type */
-    union
-    {
-        /* Text subpictures properties - text is stored in data area, in ASCIIZ
-         * format */
-        struct
-        {
-            vout_font_t *       p_font;            /* font, NULL for default */
-            int                 i_style;                       /* text style */
-            uint32_t            i_char_color;             /* character color */
-            uint32_t            i_border_color;              /* border color */
-            uint32_t            i_bg_color;              /* background color */
-        } text;
-    } type;
-#endif
 
     /** Pointer to function that renders this subtitle in a picture */
     void ( *pf_render )  ( vout_thread_t *, picture_t *, const subpicture_t * );
@@ -260,6 +240,19 @@ struct subpicture_t
 #define RESERVED_SUBPICTURE    1                   /* allocated and reserved */
 #define READY_SUBPICTURE       2                        /* ready for display */
 
+/*****************************************************************************
+ * Prototypes
+ *****************************************************************************/
+/**
+ * vout_AspectRatio
+ *
+ * Set the i_aspect_x and i_aspect_y from the encoded aspect ratio i_aspect.
+ * \param i_aspect the encoded aspect ratio
+ * \param i_aspect_x the decoded x-axis portion of i_aspect. This is set.
+ * \param i_aspect_y the decoded y-axis portion of i_aspect  This is set.
+ */
+VLC_EXPORT( void,  vout_AspectRatio, ( unsigned int i_aspect, unsigned int *i_aspect_x, unsigned int *i_aspect_y ) );
+
 /**@}*/
 
 #endif /* _VLC_VIDEO_H */