* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
-#ifndef _VLC_VOUT_H_
-#define _VLC_VOUT_H_ 1
+#ifndef VLC_VOUT_H_
+#define VLC_VOUT_H_ 1
+
+/**
+ * \file
+ * This file defines common video output structures and functions in vlc
+ */
#include <vlc_es.h>
#include <vlc_filter.h>
bool b_progressive; /**< is it a progressive frame ? */
unsigned int i_nb_fields; /**< # of displayed fields */
bool b_top_field_first; /**< which field is first */
+ uint8_t *p_q; /**< quantification table */
+ int i_qstride; /**< quantification stride */
+ int i_qtype; /**< quantification style */
/**@}*/
/** The picture heap we are attached to */
p_picture->pf_release( p_picture );
}
+/**
+ * Cleanup quantization matrix data and set to 0
+ */
+static inline void picture_CleanupQuant( picture_t *p_pic )
+{
+ free( p_pic->p_q );
+ p_pic->p_q = NULL;
+ p_pic->i_qstride = 0;
+ p_pic->i_qtype = 0;
+}
+
/**
* This function will copy all picture dynamic properties.
*/
p_dst->b_progressive = p_src->b_progressive;
p_dst->i_nb_fields = p_src->i_nb_fields;
p_dst->b_top_field_first = p_src->b_top_field_first;
+
+ /* FIXME: copy ->p_q and ->p_qstride */
}
/**
* only the compatible(smaller) part will be copied.
*/
VLC_EXPORT( void, picture_CopyPixels, ( picture_t *p_dst, const picture_t *p_src ) );
+VLC_EXPORT( void, plane_CopyPixels, ( plane_t *p_dst, const plane_t *p_src ) );
/**
* This function will copy both picture dynamic properties and pixels.
#define DISPLAYED_PICTURE 5 /* been displayed but is linked */
#define DESTROYED_PICTURE 6 /* allocated but no more used */
+/* Quantification type */
+#define QTYPE_MPEG1 0
+#define QTYPE_MPEG2 1
+#define QTYPE_H264 2
+
/*****************************************************************************
* Shortcuts to access image components
*****************************************************************************/
video_format_t *, picture_t * );
void ( *pf_destroy_region ) ( vlc_object_t *, subpicture_region_t * );
- void ( *pf_pre_render ) ( video_format_t *, spu_t *, subpicture_t *, mtime_t );
- subpicture_region_t * ( *pf_update_regions ) ( video_format_t *, spu_t *,
- subpicture_t *, mtime_t );
+ void ( *pf_pre_render ) ( video_format_t *, spu_t *, subpicture_t * );
+ void ( *pf_update_regions ) ( video_format_t *, spu_t *,
+ subpicture_t *, mtime_t );
/** Private data - the subtitle plugin might want to put stuff here to
* keep track of the subpicture */