author | hgs |
Wed, 24 Mar 2010 18:04:17 -0500 | |
changeset 16 | 8e837d1bf446 |
parent 0 | 0e761a78d257 |
child 30 | 7e817e7e631c |
permissions | -rw-r--r-- |
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1 |
/* |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
2 |
* Image Scaling Functions |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
3 |
* Copyright (c) 2005 David A. Schleef <ds@schleef.org> |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
4 |
* All rights reserved. |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
5 |
* |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
6 |
* Redistribution and use in source and binary forms, with or without |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
7 |
* modification, are permitted provided that the following conditions |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
8 |
* are met: |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
9 |
* 1. Redistributions of source code must retain the above copyright |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
10 |
* notice, this list of conditions and the following disclaimer. |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
11 |
* 2. Redistributions in binary form must reproduce the above copyright |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
12 |
* notice, this list of conditions and the following disclaimer in the |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
13 |
* documentation and/or other materials provided with the distribution. |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
14 |
* |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
15 |
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
16 |
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
17 |
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
18 |
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
19 |
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
20 |
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
21 |
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
22 |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
23 |
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
24 |
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
25 |
* POSSIBILITY OF SUCH DAMAGE. |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
26 |
*/ |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
27 |
|
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
28 |
#ifndef __VS_SCANLINE_H__ |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
29 |
#define __VS_SCANLINE_H__ |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
30 |
|
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
31 |
#ifndef __SYMBIAN32__ |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
32 |
#include <liboil/liboil-stdint.h> |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
33 |
#endif |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
34 |
|
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
35 |
#ifdef __SYMBIAN32__ |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
36 |
#include <glib.h> |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
37 |
G_BEGIN_DECLS |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
38 |
#endif |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
39 |
|
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
40 |
void vs_scanline_downsample_Y (uint8_t *dest, uint8_t *src, int n); |
16 | 41 |
#ifdef __SYMBIAN32__ |
42 |
IMPORT_C |
|
43 |
#endif |
|
44 |
||
45 |
void vs_scanline_resample_nearest_Y (uint8_t *dest, uint8_t *src, int n, int src_width, int *accumulator, int increment); |
|
46 |
#ifdef __SYMBIAN32__ |
|
47 |
IMPORT_C |
|
48 |
#endif |
|
49 |
||
50 |
void vs_scanline_resample_linear_Y (uint8_t *dest, uint8_t *src, int n, int src_width, int *accumulator, int increment); |
|
51 |
#ifdef __SYMBIAN32__ |
|
52 |
IMPORT_C |
|
53 |
#endif |
|
54 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
55 |
void vs_scanline_merge_linear_Y (uint8_t *dest, uint8_t *src1, uint8_t *src2, int n, int x); |
16 | 56 |
#ifdef __SYMBIAN32__ |
57 |
IMPORT_C |
|
58 |
#endif |
|
59 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
60 |
|
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
61 |
void vs_scanline_downsample_RGBA (uint8_t *dest, uint8_t *src, int n); |
16 | 62 |
#ifdef __SYMBIAN32__ |
63 |
IMPORT_C |
|
64 |
#endif |
|
65 |
||
66 |
void vs_scanline_resample_nearest_RGBA (uint8_t *dest, uint8_t *src, int src_width, int n, int *accumulator, int increment); |
|
67 |
#ifdef __SYMBIAN32__ |
|
68 |
IMPORT_C |
|
69 |
#endif |
|
70 |
||
71 |
void vs_scanline_resample_linear_RGBA (uint8_t *dest, uint8_t *src, int src_width, int n, int *accumulator, int increment); |
|
72 |
#ifdef __SYMBIAN32__ |
|
73 |
IMPORT_C |
|
74 |
#endif |
|
75 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
76 |
void vs_scanline_merge_linear_RGBA (uint8_t *dest, uint8_t *src1, uint8_t *src2, int n, int x); |
16 | 77 |
#ifdef __SYMBIAN32__ |
78 |
IMPORT_C |
|
79 |
#endif |
|
80 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
81 |
|
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
82 |
void vs_scanline_downsample_RGB (uint8_t *dest, uint8_t *src, int n); |
16 | 83 |
#ifdef __SYMBIAN32__ |
84 |
IMPORT_C |
|
85 |
#endif |
|
86 |
||
87 |
void vs_scanline_resample_nearest_RGB (uint8_t *dest, uint8_t *src, int src_width, int n, int *accumulator, int increment); |
|
88 |
#ifdef __SYMBIAN32__ |
|
89 |
IMPORT_C |
|
90 |
#endif |
|
91 |
||
92 |
void vs_scanline_resample_linear_RGB (uint8_t *dest, uint8_t *src, int src_width, int n, int *accumulator, int increment); |
|
93 |
#ifdef __SYMBIAN32__ |
|
94 |
IMPORT_C |
|
95 |
#endif |
|
96 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
97 |
void vs_scanline_merge_linear_RGB (uint8_t *dest, uint8_t *src1, uint8_t *src2, int n, int x); |
16 | 98 |
#ifdef __SYMBIAN32__ |
99 |
IMPORT_C |
|
100 |
#endif |
|
101 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
102 |
|
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
103 |
void vs_scanline_downsample_YUYV (uint8_t *dest, uint8_t *src, int n); |
16 | 104 |
#ifdef __SYMBIAN32__ |
105 |
IMPORT_C |
|
106 |
#endif |
|
107 |
||
108 |
void vs_scanline_resample_nearest_YUYV (uint8_t *dest, uint8_t *src, int src_width, int n, int *accumulator, int increment); |
|
109 |
#ifdef __SYMBIAN32__ |
|
110 |
IMPORT_C |
|
111 |
#endif |
|
112 |
||
113 |
void vs_scanline_resample_linear_YUYV (uint8_t *dest, uint8_t *src, int src_width, int n, int *accumulator, int increment); |
|
114 |
#ifdef __SYMBIAN32__ |
|
115 |
IMPORT_C |
|
116 |
#endif |
|
117 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
118 |
void vs_scanline_merge_linear_YUYV (uint8_t *dest, uint8_t *src1, uint8_t *src2, int n, int x); |
16 | 119 |
#ifdef __SYMBIAN32__ |
120 |
IMPORT_C |
|
121 |
#endif |
|
122 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
123 |
|
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
124 |
void vs_scanline_downsample_UYVY (uint8_t *dest, uint8_t *src, int n); |
16 | 125 |
#ifdef __SYMBIAN32__ |
126 |
IMPORT_C |
|
127 |
#endif |
|
128 |
||
129 |
void vs_scanline_resample_nearest_UYVY (uint8_t *dest, uint8_t *src, int src_width, int n, int *accumulator, int increment); |
|
130 |
#ifdef __SYMBIAN32__ |
|
131 |
IMPORT_C |
|
132 |
#endif |
|
133 |
||
134 |
void vs_scanline_resample_linear_UYVY (uint8_t *dest, uint8_t *src, int src_width, int n, int *accumulator, int increment); |
|
135 |
#ifdef __SYMBIAN32__ |
|
136 |
IMPORT_C |
|
137 |
#endif |
|
138 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
139 |
void vs_scanline_merge_linear_UYVY (uint8_t *dest, uint8_t *src1, uint8_t *src2, int n, int x); |
16 | 140 |
#ifdef __SYMBIAN32__ |
141 |
IMPORT_C |
|
142 |
#endif |
|
143 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
144 |
|
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
145 |
void vs_scanline_downsample_RGB565 (uint8_t *dest, uint8_t *src, int n); |
16 | 146 |
#ifdef __SYMBIAN32__ |
147 |
IMPORT_C |
|
148 |
#endif |
|
149 |
||
150 |
void vs_scanline_resample_nearest_RGB565 (uint8_t *dest, uint8_t *src, int src_width, int n, int *accumulator, int increment); |
|
151 |
#ifdef __SYMBIAN32__ |
|
152 |
IMPORT_C |
|
153 |
#endif |
|
154 |
||
155 |
void vs_scanline_resample_linear_RGB565 (uint8_t *dest, uint8_t *src, int src_width, int n, int *accumulator, int increment); |
|
156 |
#ifdef __SYMBIAN32__ |
|
157 |
IMPORT_C |
|
158 |
#endif |
|
159 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
160 |
void vs_scanline_merge_linear_RGB565 (uint8_t *dest, uint8_t *src1, uint8_t *src2, int n, int x); |
16 | 161 |
#ifdef __SYMBIAN32__ |
162 |
IMPORT_C |
|
163 |
#endif |
|
164 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
165 |
|
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
166 |
void vs_scanline_downsample_RGB555 (uint8_t *dest, uint8_t *src, int n); |
16 | 167 |
#ifdef __SYMBIAN32__ |
168 |
IMPORT_C |
|
169 |
#endif |
|
170 |
||
171 |
void vs_scanline_resample_nearest_RGB555 (uint8_t *dest, uint8_t *src, int src_width, int n, int *accumulator, int increment); |
|
172 |
#ifdef __SYMBIAN32__ |
|
173 |
IMPORT_C |
|
174 |
#endif |
|
175 |
||
176 |
void vs_scanline_resample_linear_RGB555 (uint8_t *dest, uint8_t *src, int src_width, int n, int *accumulator, int increment); |
|
177 |
#ifdef __SYMBIAN32__ |
|
178 |
IMPORT_C |
|
179 |
#endif |
|
180 |
||
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
181 |
void vs_scanline_merge_linear_RGB555 (uint8_t *dest, uint8_t *src1, uint8_t *src2, int n, int x); |
16 | 182 |
#ifdef __SYMBIAN32__ |
183 |
IMPORT_C |
|
184 |
#endif |
|
185 |
||
186 |
void vs_scanline_downsample_Y16 (uint8_t *dest, uint8_t *src, int n); |
|
187 |
||
188 |
#ifdef __SYMBIAN32__ |
|
189 |
IMPORT_C |
|
190 |
#endif |
|
191 |
||
192 |
void vs_scanline_resample_nearest_Y16 (uint8_t *dest, uint8_t *src, int n, int src_width, int *accumulator, int increment); |
|
193 |
||
194 |
#ifdef __SYMBIAN32__ |
|
195 |
IMPORT_C |
|
196 |
#endif |
|
197 |
||
198 |
void vs_scanline_resample_linear_Y16 (uint8_t *dest, uint8_t *src, int n, int src_width, int *accumulator, int increment); |
|
199 |
#ifdef __SYMBIAN32__ |
|
200 |
IMPORT_C |
|
201 |
#endif |
|
202 |
||
203 |
void vs_scanline_merge_linear_Y16 (uint8_t *dest, uint8_t *src1, uint8_t *src2, int n, int x); |
|
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
204 |
|
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
205 |
#ifdef __SYMBIAN32__ |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
206 |
G_END_DECLS |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
207 |
#endif |
16 | 208 |
|
0
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
209 |
#endif |
0e761a78d257
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
210 |