]> git.sesse.net Git - vlc/blob - src/video_output/video_yuv.h
Encore un commit venu tout droit des abysses de l'enfer, d�sol� pour
[vlc] / src / video_output / video_yuv.h
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
7  *
8  * Authors:
9  *
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.
14  *
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.
19  *
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  *****************************************************************************/
25
26 /*****************************************************************************
27  * Prototypes
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 );
32
33 /*****************************************************************************
34  * External prototypes
35  *****************************************************************************/
36 #ifdef HAVE_MMX
37
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
43  *      p_pic:                  RGB frame
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 );
54 #endif