Instrument Neutral Distributed Interface INDI  2.0.2
vcvt.h
Go to the documentation of this file.
1 /*
2  (C) 2001 Nemosoft Unv. <nemosoft@smcc.demon.nl>
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 
18 */
19 
20 /* 'Viewport' conversion routines. These functions convert from one colour
21  space to another, taking into account that the source image has a smaller
22  size than the view, and is placed inside the view:
23 
24  +-------view.x------------+
25  | |
26  | +---image.x---+ |
27  | | | |
28  | | | |
29  | +-------------+ |
30  | |
31  +-------------------------+
32 
33  The image should always be smaller than the view. The offset (top-left
34  corner of the image) should be precomputed, so you can place the image
35  anywhere in the view.
36 
37  The functions take these parameters:
38  - width image width (in pixels)
39  - height image height (in pixels)
40  - plus view width (in pixels)
41  *src pointer at start of image
42  *dst pointer at offset (!) in view
43 */
44 
45 #pragma once
46 
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
50 
51 /* Functions in vcvt_i386.S/vcvt_c.c */
52 /* 4:2:0 YUV interlaced to RGB/BGR */
53 void vcvt_420i_bgr24(int width, int height, int plus, void *src, void *dst);
54 void vcvt_420i_rgb24(int width, int height, int plus, void *src, void *dst);
55 void vcvt_420i_bgr32(int width, int height, int plus, void *src, void *dst);
56 void vcvt_420i_rgb32(int width, int height, int plus, void *src, void *dst);
57 
58 /* Go from 420i to other yuv formats */
59 void vcvt_420i_420p(int width, int height, int plus, void *src, void *dsty, void *dstu, void *dstv);
60 void vcvt_420i_yuyv(int width, int height, int plus, void *src, void *dst);
61 
62 #if 0
63 #endif
64 
65 #ifdef __cplusplus
66 }
67 #endif
void vcvt_420i_420p(int width, int height, int plus, void *src, void *dsty, void *dstu, void *dstv)
void vcvt_420i_rgb24(int width, int height, int plus, void *src, void *dst)
void vcvt_420i_rgb32(int width, int height, int plus, void *src, void *dst)
void vcvt_420i_bgr24(int width, int height, int plus, void *src, void *dst)
void vcvt_420i_bgr32(int width, int height, int plus, void *src, void *dst)
void vcvt_420i_yuyv(int width, int height, int plus, void *src, void *dst)