]> git.sesse.net Git - vlc/blobdiff - include/vlc_video.h
* src/input/control.c, include/ninput.h: Added INPUT_GET_INFO.
[vlc] / include / vlc_video.h
index db1d81829940866ffdac75554d04a408b7992184..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.3 2003/10/04 15:51:22 sigmunau 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
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  *****************************************************************************/
+#ifndef _VLC_VIDEO_H
+#define _VLC_VIDEO_H 1
+
+#include "vlc_es.h"
 
 /**
  * Description of a planar graphic field
@@ -52,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. */
@@ -85,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;
 
@@ -210,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 * );
@@ -246,4 +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 */