1 /*****************************************************************************
2 * video_yuv.h: YUV transformation functions
3 * Provides functions prototypes to perform the YUV conversion. The functions
4 * may be implemented in one of the video_yuv_* files.
5 *****************************************************************************
6 * Copyright (C) 1999, 2000 VideoLAN
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * General Public License for more details.
20 * You should have received a copy of the GNU General Public
21 * License along with this program; if not, write to the
22 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23 * Boston, MA 02111-1307, USA.
24 *****************************************************************************/
26 /*****************************************************************************
28 *****************************************************************************/
29 int vout_InitYUV ( vout_thread_t *p_vout );
30 int vout_ResetYUV ( vout_thread_t *p_vout );
31 void vout_EndYUV ( vout_thread_t *p_vout );
33 /*****************************************************************************
35 *****************************************************************************/
38 /* YUV transformations for MMX - in video_yuv_mmx.S
39 * p_y, p_u, p_v: Y U and V planes
40 * i_width, i_height: frames dimensions (pixels)
41 * i_ypitch, i_vpitch: Y and V lines sizes (bytes)
42 * i_aspect: vertical aspect factor
44 * i_dci_offset: XXX?? x offset for left image border
45 * i_offset_to_line_0: XXX?? x offset for left image border
46 * i_pitch: RGB line size (bytes)
47 * i_colortype: 0 for 565, 1 for 555 */
48 void ConvertYUV420RGB16MMX( u8* p_y, u8* p_u, u8 *p_v,
49 unsigned int i_width, unsigned int i_height,
50 unsigned int i_ypitch, unsigned int i_vpitch,
51 unsigned int i_aspect, u8 *p_pic,
52 u32 i_dci_offset, u32 i_offset_to_line_0,
53 int i_pitch, int i_colortype );