Instrument Neutral Distributed Interface INDI 2.2.5
vcvt.h
Go to the documentation of this file.
1/*
2 (C) 2001 Nemosoft Unv. <[email protected]>
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
48extern "C" {
49#endif
50
51/* Functions in vcvt_i386.S/vcvt_c.c */
52/* 4:2:0 YUV interlaced to RGB/BGR */
53void vcvt_420i_bgr24(int width, int height, int plus, void *src, void *dst);
54void vcvt_420i_rgb24(int width, int height, int plus, void *src, void *dst);
55void vcvt_420i_bgr32(int width, int height, int plus, void *src, void *dst);
56void vcvt_420i_rgb32(int width, int height, int plus, void *src, void *dst);
57
58/* Go from 420i to other yuv formats */
59void vcvt_420i_420p(int width, int height, int plus, void *src, void *dsty, void *dstu, void *dstv);
60void 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)