Mercurial > cpython-lru_cache-weakref
annotate Modules/yuvconvert.c @ 5817:48b94de85bf3 legacy-trunk
Extensive changes by AMK.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 17 Jul 1997 16:29:42 +0000 |
| parents | 65d2d8e67da3 |
| children | 916fb024ce94 |
| rev | line source |
|---|---|
|
1746
1940892d2fe3
Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents:
1253
diff
changeset
|
1 /*********************************************************** |
|
2061
172ba04a5191
Added 1995 to copyright message.
Guido van Rossum <guido@python.org>
parents:
1746
diff
changeset
|
2 Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, |
|
172ba04a5191
Added 1995 to copyright message.
Guido van Rossum <guido@python.org>
parents:
1746
diff
changeset
|
3 The Netherlands. |
|
1746
1940892d2fe3
Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents:
1253
diff
changeset
|
4 |
|
1940892d2fe3
Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents:
1253
diff
changeset
|
5 All Rights Reserved |
|
1940892d2fe3
Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents:
1253
diff
changeset
|
6 |
|
4503
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
7 Permission to use, copy, modify, and distribute this software and its |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
8 documentation for any purpose and without fee is hereby granted, |
|
1746
1940892d2fe3
Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents:
1253
diff
changeset
|
9 provided that the above copyright notice appear in all copies and that |
|
4503
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
10 both that copyright notice and this permission notice appear in |
|
1746
1940892d2fe3
Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents:
1253
diff
changeset
|
11 supporting documentation, and that the names of Stichting Mathematisch |
|
4503
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
12 Centrum or CWI or Corporation for National Research Initiatives or |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
13 CNRI not be used in advertising or publicity pertaining to |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
14 distribution of the software without specific, written prior |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
15 permission. |
|
1746
1940892d2fe3
Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents:
1253
diff
changeset
|
16 |
|
4503
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
17 While CWI is the initial source for this software, a modified version |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
18 is made available by the Corporation for National Research Initiatives |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
19 (CNRI) at the Internet address ftp://ftp.python.org. |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
20 |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
21 STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
22 REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
23 MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
24 CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
25 DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
26 PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
27 TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
|
65d2d8e67da3
New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents:
2061
diff
changeset
|
28 PERFORMANCE OF THIS SOFTWARE. |
|
1746
1940892d2fe3
Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents:
1253
diff
changeset
|
29 |
|
1940892d2fe3
Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents:
1253
diff
changeset
|
30 ******************************************************************/ |
|
1940892d2fe3
Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents:
1253
diff
changeset
|
31 |
|
1253
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
32 #include "yuv.h" |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
33 |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
34 void |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
35 yuv_sv411_to_cl422dc(int invert, void *data, void *yuv, int width, int height) |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
36 { |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
37 struct yuv411 *in = data; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
38 struct yuv422 *out_even = yuv; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
39 struct yuv422 *out_odd = out_even + width / 2; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
40 int i, j; /* counters */ |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
41 |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
42 for (i = height / 2; i--; ) { |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
43 for (j = width / 4; j--; ) { |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
44 YUV422_Y0(*out_even) = YUV411_Y00(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
45 YUV422_U0(*out_even) = YUV411_U00(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
46 YUV422_V0(*out_even) = YUV411_V00(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
47 YUV422_Y1(*out_even) = YUV411_Y01(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
48 out_even++; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
49 YUV422_Y0(*out_even) = YUV411_Y02(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
50 YUV422_U0(*out_even) = YUV411_U02(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
51 YUV422_V0(*out_even) = YUV411_V02(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
52 YUV422_Y1(*out_even) = YUV411_Y03(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
53 out_even++; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
54 YUV422_Y0(*out_odd) = YUV411_Y10(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
55 YUV422_U0(*out_odd) = YUV411_U10(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
56 YUV422_V0(*out_odd) = YUV411_V10(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
57 YUV422_Y1(*out_odd) = YUV411_Y11(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
58 out_odd++; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
59 YUV422_Y0(*out_odd) = YUV411_Y12(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
60 YUV422_U0(*out_odd) = YUV411_U12(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
61 YUV422_V0(*out_odd) = YUV411_V12(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
62 YUV422_Y1(*out_odd) = YUV411_Y13(*in); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
63 out_odd++; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
64 in++; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
65 } |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
66 out_even += width / 2; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
67 out_odd += width / 2; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
68 } |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
69 } |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
70 |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
71 void |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
72 yuv_sv411_to_cl422dc_quartersize(int invert, void *data, void *yuv, |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
73 int width, int height) |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
74 { |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
75 int w4 = width / 4; /* quarter of width is used often */ |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
76 struct yuv411 *in_even = data; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
77 struct yuv411 *in_odd = in_even + w4; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
78 struct yuv422 *out_even = yuv; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
79 struct yuv422 *out_odd = out_even + w4; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
80 int i, j; /* counters */ |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
81 int u, v; /* U and V values */ |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
82 |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
83 for (i = height / 4; i--; ) { |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
84 for (j = w4; j--; ) { |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
85 u = YUV411_U00(*in_even); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
86 v = YUV411_V00(*in_even); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
87 |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
88 YUV422_Y0(*out_even) = YUV411_Y00(*in_even); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
89 YUV422_U0(*out_even) = u; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
90 YUV422_V0(*out_even) = v; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
91 YUV422_Y1(*out_even) = YUV411_Y02(*in_even); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
92 |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
93 YUV422_Y0(*out_odd) = YUV411_Y10(*in_odd); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
94 YUV422_U0(*out_odd) = u; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
95 YUV422_V0(*out_odd) = v; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
96 YUV422_Y1(*out_odd) = YUV411_Y12(*in_odd); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
97 |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
98 in_even++; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
99 in_odd++; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
100 out_even++; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
101 out_odd++; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
102 } |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
103 in_even += w4; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
104 in_odd += w4; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
105 out_even += w4; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
106 out_odd += w4; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
107 } |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
108 } |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
109 |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
110 void |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
111 yuv_sv411_to_cl422dc_sixteenthsize(int invert, void *data, void *yuv, |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
112 int width, int height) |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
113 { |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
114 int w4_3 = 3 * width / 4; /* three quarters of width is used often */ |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
115 int w8 = width / 8; /* and so is one eighth */ |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
116 struct yuv411 *in_even = data; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
117 struct yuv411 *in_odd = in_even + width / 2; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
118 struct yuv422 *out_even = yuv; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
119 struct yuv422 *out_odd = out_even + w8; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
120 int i, j; /* counters */ |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
121 int u, v; /* U and V values */ |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
122 |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
123 for (i = height / 8; i--; ) { |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
124 for (j = w8; j--; ) { |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
125 u = YUV411_U00(in_even[0]); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
126 v = YUV411_V00(in_even[0]); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
127 |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
128 YUV422_Y0(*out_even) = YUV411_Y00(in_even[0]); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
129 YUV422_U0(*out_even) = u; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
130 YUV422_V0(*out_even) = v; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
131 YUV422_Y1(*out_even) = YUV411_Y00(in_even[1]); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
132 |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
133 YUV422_Y0(*out_odd) = YUV411_Y00(in_odd[0]); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
134 YUV422_U0(*out_odd) = u; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
135 YUV422_V0(*out_odd) = v; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
136 YUV422_Y1(*out_odd) = YUV411_Y00(in_even[1]); |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
137 |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
138 in_even += 2; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
139 in_odd += 2; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
140 out_even++; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
141 out_odd++; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
142 } |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
143 in_even += w4_3; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
144 in_odd += w4_3; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
145 out_even += w8; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
146 out_odd += w8; |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
147 } |
|
685b31fe89c6
Added conversion routines to sv module.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
148 } |
