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 |
|
---|
21 | /* 'Viewport' conversion routines. These functions convert from one colour
|
---|
22 | space to another, taking into account that the source image has a smaller
|
---|
23 | size than the view, and is placed inside the view:
|
---|
24 |
|
---|
25 | +-------view.x------------+
|
---|
26 | | |
|
---|
27 | | +---image.x---+ |
|
---|
28 | | | | |
|
---|
29 | | | | |
|
---|
30 | | +-------------+ |
|
---|
31 | | |
|
---|
32 | +-------------------------+
|
---|
33 |
|
---|
34 | The image should always be smaller than the view. The offset (top-left
|
---|
35 | corner of the image) should be precomputed, so you can place the image
|
---|
36 | anywhere in the view.
|
---|
37 |
|
---|
38 | The functions take these parameters:
|
---|
39 | - width image width (in pixels)
|
---|
40 | - height image height (in pixels)
|
---|
41 | - plus view width (in pixels)
|
---|
42 | *src pointer at start of image
|
---|
43 | *dst pointer at offset (!) in view
|
---|
44 | */
|
---|
45 |
|
---|
46 |
|
---|
47 | #ifndef VCVT_H
|
---|
48 | #define VCVT_H
|
---|
49 |
|
---|
50 | #ifdef __cplusplus
|
---|
51 | extern "C" {
|
---|
52 | #endif
|
---|
53 |
|
---|
54 | /* Functions in vcvt_i386.S/vcvt_c.c */
|
---|
55 | /* 4:2:0 YUV interlaced to RGB/BGR */
|
---|
56 | void vcvt_420i_bgr24(int width, int height, int plus, void *src, void *dst);
|
---|
57 | void vcvt_420i_rgb24(int width, int height, int plus, void *src, void *dst);
|
---|
58 | void vcvt_420i_bgr32(int width, int height, int plus, void *src, void *dst);
|
---|
59 | void vcvt_420i_rgb32(int width, int height, int plus, void *src, void *dst);
|
---|
60 |
|
---|
61 |
|
---|
62 | /* Go from 420i to other yuv formats */
|
---|
63 | void vcvt_420i_420p(int width, int height, int plus, void *src, void *dsty, void *dstu, void *dstv);
|
---|
64 | void vcvt_420i_yuyv(int width, int height, int plus, void *src, void *dst);
|
---|
65 |
|
---|
66 | #if 0
|
---|
67 | #endif
|
---|
68 |
|
---|
69 | #ifdef __cplusplus
|
---|
70 | }
|
---|
71 | #endif
|
---|
72 |
|
---|
73 | #endif
|
---|