* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
+/* FIXME: do all of these really have square pixels? */
+#define CASE_PLANAR_YUV_SQUARE \
+ case VLC_CODEC_I420: \
+ case VLC_CODEC_J420: \
+ case VLC_CODEC_YV12: \
+ case VLC_CODEC_I411: \
+ case VLC_CODEC_I410: \
+ case VLC_CODEC_I444: \
+ case VLC_CODEC_J444: \
+ case VLC_CODEC_YUVA:
+
+#define CASE_PLANAR_YUV_NONSQUARE \
+ case VLC_CODEC_I422: \
+ case VLC_CODEC_J422:
+
+#define CASE_PLANAR_YUV \
+ CASE_PLANAR_YUV_SQUARE \
+ CASE_PLANAR_YUV_NONSQUARE \
+
#define CASE_PACKED_YUV_422 \
- case VLC_FOURCC('I','U','Y','V'): \
- case VLC_FOURCC('U','Y','V','Y'): \
- case VLC_FOURCC('U','Y','N','V'): \
- case VLC_FOURCC('Y','4','2','2'): \
- case VLC_FOURCC('c','y','u','v'): \
- case VLC_FOURCC('Y','U','Y','2'): \
- case VLC_FOURCC('Y','U','N','V'): \
- case VLC_FOURCC('Y','V','Y','U'):
+ case VLC_CODEC_UYVY: \
+ case VLC_CODEC_CYUV: \
+ case VLC_CODEC_YUYV: \
+ case VLC_CODEC_YVYU:
static inline int GetPackedYuvOffsets( vlc_fourcc_t i_chroma,
int *i_y_offset, int *i_u_offset, int *i_v_offset )
{
switch( i_chroma )
{
- case VLC_FOURCC('I','U','Y','V'): /* <-- FIXME: interlaced */
- case VLC_FOURCC('U','Y','V','Y'):
- case VLC_FOURCC('U','Y','N','V'):
- case VLC_FOURCC('Y','4','2','2'):
- case VLC_FOURCC('c','y','u','v'): /* <-- FIXME: reverted, whatever that means */
+ case VLC_CODEC_UYVY:
+ case VLC_CODEC_CYUV: /* <-- FIXME: reverted, whatever that means */
/* UYVY */
*i_y_offset = 1;
*i_u_offset = 0;
*i_v_offset = 2;
return VLC_SUCCESS;
- case VLC_FOURCC('Y','U','Y','2'):
- case VLC_FOURCC('Y','U','N','V'):
+ case VLC_CODEC_YUYV:
/* YUYV */
*i_y_offset = 0;
*i_u_offset = 1;
*i_v_offset = 3;
return VLC_SUCCESS;
- case VLC_FOURCC('Y','V','Y','U'):
+ case VLC_CODEC_YVYU:
/* YVYU */
*i_y_offset = 0;
*i_u_offset = 3;
return VLC_EGENERIC;
}
}
+
+/*****************************************************************************
+ *
+ *****************************************************************************/
+static inline picture_t *CopyInfoAndRelease( picture_t *p_outpic, picture_t *p_inpic )
+{
+ picture_CopyProperties( p_outpic, p_inpic );
+
+ picture_Release( p_inpic );
+
+ return p_outpic;
+}