+ * Initialize a video_format_t structure with chroma 'i_chroma'
+ * \param p_src pointer to video_format_t structure
+ * \param i_chroma chroma value to use
+ */
+static inline void video_format_Init( video_format_t *p_src, vlc_fourcc_t i_chroma )
+{
+ memset( p_src, 0, sizeof( video_format_t ) );
+ p_src->i_chroma = i_chroma;
+ p_src->i_sar_num = p_src->i_sar_den = 1;
+ p_src->p_palette = NULL;
+}
+
+/**
+ * Copy video_format_t including the palette
+ * \param p_dst video_format_t to copy to
+ * \param p_src video_format_t to copy from
+ */
+static inline int video_format_Copy( video_format_t *p_dst, const video_format_t *p_src )
+{
+ memcpy( p_dst, p_src, sizeof( *p_dst ) );
+ if( p_src->p_palette )
+ {
+ p_dst->p_palette = (video_palette_t *) malloc( sizeof( video_palette_t ) );
+ if( !p_dst->p_palette )
+ return VLC_ENOMEM;
+ memcpy( p_dst->p_palette, p_src->p_palette, sizeof( *p_dst->p_palette ) );
+ }
+ return VLC_SUCCESS;
+}
+
+/**
+ * Cleanup and free palette of this video_format_t
+ * \param p_src video_format_t structure to clean
+ */
+static inline void video_format_Clean( video_format_t *p_src )
+{
+ free( p_src->p_palette );
+ memset( p_src, 0, sizeof( video_format_t ) );
+ p_src->p_palette = NULL;
+}
+
+/**
+ * It will fill up a video_format_tvideo_format_t using the given arguments.
+ * Becarefull that the video_format_t must already be initialized.
+ */
+VLC_EXPORT( void, video_format_Setup, ( video_format_t *, vlc_fourcc_t i_chroma, int i_width, int i_height, int i_sar_num, int i_sar_den ) );
+
+/**
+ * This function will check if the first video format is similar
+ * to the second one.
+ */
+VLC_EXPORT( bool, video_format_IsSimilar, ( const video_format_t *, const video_format_t * ) );
+
+/**
+ * It prints details about the given video_format_t
+ */
+VLC_EXPORT( void, video_format_Print, ( vlc_object_t *, const char *, const video_format_t * ) );
+
+/**
+ * subtitles format description