1 ; VirtualDub - Video processing and capture application
2 ; Copyright (C) 1998-2001 Avery Lee
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.
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.
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., 675 Mass Ave, Cambridge, MA 02139, USA.
25 public _YUV_clip_table
26 public _YUV_clip_table16
28 _YUV_Y_table
dd 1FED1FEDh
, 1FEF1FEFh
, 1FF01FF0h
, 1FF11FF1h
29 dd 1FF21FF2h
, 1FF31FF3h
, 1FF41FF4h
, 1FF61FF6h
30 dd 1FF71FF7h
, 1FF81FF8h
, 1FF91FF9h
, 1FFA1FFAh
31 dd 1FFB1FFBh
, 1FFD1FFDh
, 1FFE1FFEh
, 1FFF1FFFh
32 dd 20002000h, 20012001h, 20022002h, 20032003h
33 dd 20052005h, 20062006h, 20072007h, 20082008h
34 dd 20092009h, 200A200Ah
, 200C200Ch
, 200D200Dh
35 dd 200E200Eh
, 200F200Fh
, 20102010h, 20112011h
36 dd 20132013h, 20142014h, 20152015h, 20162016h
37 dd 20172017h, 20182018h, 201A201Ah
, 201B201Bh
38 dd 201C201Ch
, 201D201Dh
, 201E201Eh
, 201F201Fh
39 dd 20212021h, 20222022h, 20232023h, 20242024h
40 dd 20252025h, 20262026h, 20282028h, 20292029h
41 dd 202A202Ah
, 202B202Bh, 202C202Ch
, 202D202Dh
42 dd 202F202Fh
, 20302030h, 20312031h, 20322032h
43 dd 20332033h, 20342034h, 20362036h, 20372037h
44 dd 20382038h, 20392039h, 203A203Ah
, 203B203Bh
45 dd 203D203Dh
, 203E203Eh
, 203F203Fh
, 20402040h
46 dd 20412041h, 20422042h, 20442044h, 20452045h
47 dd 20462046h, 20472047h, 20482048h, 20492049h
48 dd 204A204Ah
, 204C204Ch
, 204D204Dh
, 204E204Eh
49 dd 204F204Fh
, 20502050h, 20512051h, 20532053h
50 dd 20542054h, 20552055h, 20562056h, 20572057h
51 dd 20582058h, 205A205Ah
, 205B205Bh, 205C205Ch
52 dd 205D205Dh
, 205E205Eh
, 205F205Fh
, 20612061h
53 dd 20622062h, 20632063h, 20642064h, 20652065h
54 dd 20662066h, 20682068h, 20692069h, 206A206Ah
55 dd 206B206Bh, 206C206Ch
, 206D206Dh
, 206F206Fh
56 dd 20702070h, 20712071h, 20722072h, 20732073h
57 dd 20742074h, 20762076h, 20772077h, 20782078h
58 dd 20792079h, 207A207Ah
, 207B207Bh, 207D207Dh
59 dd 207E207Eh
, 207F207Fh
, 20802080h, 20812081h
60 dd 20822082h, 20842084h, 20852085h, 20862086h
61 dd 20872087h, 20882088h, 20892089h, 208B208Bh
62 dd 208C208Ch
, 208D208Dh
, 208E208Eh
, 208F208Fh
63 dd 20902090h, 20922092h, 20932093h, 20942094h
64 dd 20952095h, 20962096h, 20972097h, 20982098h
65 dd 209A209Ah
, 209B209Bh, 209C209Ch
, 209D209Dh
66 dd 209E209Eh
, 209F209Fh
, 20A120A1h
, 20A220A2h
67 dd 20A320A3h
, 20A420A4h
, 20A520A5h
, 20A620A6h
68 dd 20A820A8h
, 20A920A9h
, 20AA20AAh
, 20AB20ABh
69 dd 20AC20ACh
, 20AD20ADh
, 20AF20AFh
, 20B020B0h
70 dd 20B120B1h, 20B220B2h, 20B320B3h, 20B420B4h
71 dd 20B620B6h, 20B720B7h, 20B820B8h, 20B920B9h
72 dd 20BA
20BAh
, 20BB20BBh, 20BD
20BDh
, 20BE
20BEh
73 dd 20BF
20BFh
, 20C020C0h
, 20C120C1h
, 20C220C2h
74 dd 20C420C4h
, 20C520C5h
, 20C620C6h
, 20C720C7h
75 dd 20C820C8h
, 20C920C9h
, 20CB20CBh
, 20CC20CCh
76 dd 20CD20CDh
, 20CE20CEh
, 20CF20CFh
, 20D020D0h
77 dd 20D220D2h
, 20D320D3h
, 20D420D4h
, 20D520D5h
78 dd 20D620D6h
, 20D720D7h
, 20D920D9h
, 20DA20DAh
79 dd 20DB20DBh
, 20DC20DCh
, 20DD20DDh
, 20DE20DEh
80 dd 20DF20DFh
, 20E120E1h
, 20E220E2h
, 20E320E3h
81 dd 20E420E4h
, 20E520E5h
, 20E620E6h
, 20E820E8h
82 dd 20E920E9h
, 20EA20EAh
, 20EB20EBh
, 20EC20ECh
83 dd 20ED20EDh
, 20EF20EFh
, 20F020F0h
, 20F120F1h
84 dd 20F220F2h
, 20F320F3h
, 20F420F4h
, 20F620F6h
85 dd 20F720F7h
, 20F820F8h
, 20F920F9h
, 20FA20FAh
86 dd 20FB20FBh
, 20FD20FDh
, 20FE20FEh
, 20FF20FFh
87 dd 21002100h, 21012101h, 21022102h, 21042104h
88 dd 21052105h, 21062106h, 21072107h, 21082108h
89 dd 21092109h, 210B210Bh, 210C210Ch
, 210D210Dh
90 dd 210E210Eh
, 210F210Fh
, 21102110h, 21122112h
91 dd 21132113h, 21142114h, 21152115h, 21162116h
93 _YUV_U_table
dd 1EFE1032h
, 1F001032h
, 1F021031h
, 1F041031h
94 dd 1F061030h
, 1F081030h
, 1F0A1030h
, 1F0C102Fh
95 dd 1F0E102Fh
, 1F10102Fh
, 1F12102Eh
, 1F14102Eh
96 dd 1F16102Dh
, 1F18102Dh
, 1F1A102Dh
, 1F1C102Ch
97 dd 1F1E102Ch
, 1F20102Bh
, 1F22102Bh
, 1F24102Bh
98 dd 1F26102Ah
, 1F28102Ah
, 1F2A1029h
, 1F2C1029h
99 dd 1F2E1029h
, 1F301028h
, 1F321028h
, 1F341027h
100 dd 1F361027h
, 1F381027h
, 1F3A1026h
, 1F3C1026h
101 dd 1F3E1026h
, 1F401025h
, 1F421025h
, 1F441024h
102 dd 1F461024h
, 1F481024h
, 1F4A1023h
, 1F4C1023h
103 dd 1F4E1022h
, 1F501022h
, 1F521022h
, 1F541021h
104 dd 1F561021h
, 1F591020h
, 1F5B1020h
, 1F5D1020h
105 dd 1F5F101Fh
, 1F61101Fh
, 1F63101Eh
, 1F65101Eh
106 dd 1F67101Eh
, 1F69101Dh
, 1F6B101Dh
, 1F6D101Dh
107 dd 1F6F101Ch
, 1F71101Ch
, 1F73101Bh
, 1F75101Bh
108 dd 1F77101Bh
, 1F79101Ah
, 1F7B101Ah
, 1F7D1019h
109 dd 1F7F1019h
, 1F811019h
, 1F831018h
, 1F851018h
110 dd 1F871017h
, 1F891017h
, 1F8B1017h
, 1F8D1016h
111 dd 1F8F1016h
, 1F911016h
, 1F931015h
, 1F951015h
112 dd 1F971014h
, 1F991014h
, 1F9B1014h
, 1F9D1013h
113 dd 1F9F1013h
, 1FA11012h
, 1FA31012h
, 1FA51012h
114 dd 1FA71011h
, 1FA91011h
, 1FAB1010h
, 1FAD1010h
115 dd 1FAF1010h
, 1FB1100Fh
, 1FB3100Fh
, 1FB5100Eh
116 dd 1FB7100Eh
, 1FB9100Eh
, 1FBB100Dh
, 1FBD100Dh
117 dd 1FBF100Dh
, 1FC1100Ch
, 1FC3100Ch
, 1FC5100Bh
118 dd 1FC7100Bh
, 1FCA100Bh
, 1FCC100Ah
, 1FCE100Ah
119 dd 1FD01009h
, 1FD21009h
, 1FD41009h
, 1FD61008h
120 dd 1FD81008h
, 1FDA1007h
, 1FDC1007h
, 1FDE1007h
121 dd 1FE01006h
, 1FE21006h
, 1FE41005h
, 1FE61005h
122 dd 1FE81005h
, 1FEA1004h
, 1FEC1004h
, 1FEE1004h
123 dd 1FF01003h
, 1FF21003h
, 1FF41002h
, 1FF61002h
124 dd 1FF81002h
, 1FFA1001h
, 1FFC1001h
, 1FFE1000h
125 dd 20001000h, 20021000h, 20040FFFh
, 20060FFFh
126 dd 20080FFEh
, 200A0FFEh
, 200C0FFEh
, 200E0FFDh
127 dd 20100FFDh
, 20120FFCh
, 20140FFCh
, 20160FFCh
128 dd 20180FFBh
, 201A0FFBh
, 201C0FFBh
, 201E0FFAh
129 dd 20200FFAh
, 20220FF9h
, 20240FF9h
, 20260FF9h
130 dd 20280FF8h
, 202A0FF8h
, 202C0FF7h
, 202E0FF7h
131 dd 20300FF7h
, 20320FF6h
, 20340FF6h
, 20360FF5h
132 dd 20390FF5h
, 203B0FF
5h, 203D0FF4h
, 203F0FF4h
133 dd 20410FF3h
, 20430FF3h
, 20450FF3h
, 20470FF2h
134 dd 20490FF2h
, 204B0FF
2h, 204D0FF1h
, 204F0FF1h
135 dd 20510FF0h
, 20530FF0h
, 20550FF0h
, 20570FEFh
136 dd 20590FEFh
, 205B0FEEh
, 205D0FEEh
, 205F0FEEh
137 dd 20610FEDh
, 20630FEDh
, 20650FECh
, 20670FECh
138 dd 20690FECh
, 206B0FEBh
, 206D0FEBh
, 206F0FEAh
139 dd 20710FEAh
, 20730FEAh
, 20750FE9h
, 20770FE9h
140 dd 20790FE9h
, 207B0FE
8h, 207D0FE8h
, 207F0FE7h
141 dd 20810FE7h
, 20830FE7h
, 20850FE6h
, 20870FE6h
142 dd 20890FE5h
, 208B0FE
5h, 208D0FE5h
, 208F0FE4h
143 dd 20910FE4h
, 20930FE3h
, 20950FE3h
, 20970FE3h
144 dd 20990FE2h
, 209B0FE
2h, 209D0FE2h
, 209F0FE1h
145 dd 20A10FE1h
, 20A30FE0h
, 20A50FE0h
, 20A70FE0h
146 dd 20AA0FDFh
, 20AC0FDFh
, 20AE0FDEh
, 20B00FDEh
147 dd 20B20FDEh
, 20B40FDDh
, 20B60FDDh
, 20B80FDCh
148 dd 20BA
0FDCh
, 20BC
0FDCh
, 20BE
0FDBh
, 20C00FDBh
149 dd 20C20FDAh
, 20C40FDAh
, 20C60FDAh
, 20C80FD9h
150 dd 20CA0FD9h
, 20CC0FD9h
, 20CE0FD8h
, 20D00FD8h
151 dd 20D20FD7h
, 20D40FD7h
, 20D60FD7h
, 20D80FD6h
152 dd 20DA0FD6h
, 20DC0FD5h
, 20DE0FD5h
, 20E00FD5h
153 dd 20E20FD4h
, 20E40FD4h
, 20E60FD3h
, 20E80FD3h
154 dd 20EA0FD3h
, 20EC0FD2h
, 20EE0FD2h
, 20F00FD1h
155 dd 20F20FD1h
, 20F40FD1h
, 20F60FD0h
, 20F80FD0h
156 dd 20FA0FD0h
, 20FC0FCFh
, 20FE0FCFh
, 21000FCEh
158 _YUV_V_table
dd 1F341068h
, 1F351067h
, 1F371066h
, 1F391066h
159 dd 1F3A1065h
, 1F3C1064h
, 1F3D1063h
, 1F3F1062h
160 dd 1F401062h
, 1F421061h
, 1F441060h
, 1F45105Fh
161 dd 1F47105Eh
, 1F48105Dh
, 1F4A105Dh
, 1F4C105Ch
162 dd 1F4D105Bh
, 1F4F105Ah
, 1F501059h
, 1F521059h
163 dd 1F541058h
, 1F551057h
, 1F571056h
, 1F581055h
164 dd 1F5A1055h
, 1F5C1054h
, 1F5D1053h
, 1F5F1052h
165 dd 1F601051h
, 1F621050h
, 1F641050h
, 1F65104Fh
166 dd 1F67104Eh
, 1F68104Dh
, 1F6A104Ch
, 1F6C104Ch
167 dd 1F6D104Bh
, 1F6F104Ah
, 1F701049h
, 1F721048h
168 dd 1F741048h
, 1F751047h
, 1F771046h
, 1F781045h
169 dd 1F7A1044h
, 1F7C1043h
, 1F7D1043h
, 1F7F1042h
170 dd 1F801041h
, 1F821040h
, 1F84103Fh
, 1F85103Fh
171 dd 1F87103Eh
, 1F88103Dh
, 1F8A103Ch
, 1F8B103Bh
172 dd 1F8D103Bh
, 1F8F103Ah
, 1F901039h
, 1F921038h
173 dd 1F931037h
, 1F951036h
, 1F971036h
, 1F981035h
174 dd 1F9A1034h
, 1F9B1033h
, 1F9D1032h
, 1F9F1032h
175 dd 1FA01031h
, 1FA21030h
, 1FA3102Fh
, 1FA5102Eh
176 dd 1FA7102Eh
, 1FA8102Dh
, 1FAA102Ch
, 1FAB102Bh
177 dd 1FAD102Ah
, 1FAF1029h
, 1FB01029h
, 1FB21028h
178 dd 1FB31027h
, 1FB51026h
, 1FB71025h
, 1FB81025h
179 dd 1FBA1024h
, 1FBB1023h
, 1FBD1022h
, 1FBF1021h
180 dd 1FC01021h
, 1FC21020h
, 1FC3101Fh
, 1FC5101Eh
181 dd 1FC7101Dh
, 1FC8101Ch
, 1FCA101Ch
, 1FCB101Bh
182 dd 1FCD101Ah
, 1FCF1019h
, 1FD01018h
, 1FD21018h
183 dd 1FD31017h
, 1FD51016h
, 1FD71015h
, 1FD81014h
184 dd 1FDA1014h
, 1FDB1013h
, 1FDD1012h
, 1FDE1011h
185 dd 1FE01010h
, 1FE2100Fh
, 1FE3100Fh
, 1FE5100Eh
186 dd 1FE6100Dh
, 1FE8100Ch
, 1FEA100Bh
, 1FEB100Bh
187 dd 1FED100Ah
, 1FEE1009h
, 1FF01008h
, 1FF21007h
188 dd 1FF31007h
, 1FF51006h
, 1FF61005h
, 1FF81004h
189 dd 1FFA1003h
, 1FFB1002h
, 1FFD1002h
, 1FFE1001h
190 dd 20001000h, 20020FFFh
, 20030FFEh
, 20050FFEh
191 dd 20060FFDh
, 20080FFCh
, 200A0FFBh
, 200B0FFAh
192 dd 200D0FF9h
, 200E0FF9h
, 20100FF8h
, 20120FF7h
193 dd 20130FF6h
, 20150FF5h
, 20160FF5h
, 20180FF4h
194 dd 201A0FF3h
, 201B0FF
2h, 201D0FF1h
, 201E0FF1h
195 dd 20200FF0h
, 20220FEFh
, 20230FEEh
, 20250FEDh
196 dd 20260FECh
, 20280FECh
, 20290FEBh
, 202B0FEAh
197 dd 202D0FE9h
, 202E0FE8h
, 20300FE8h
, 20310FE7h
198 dd 20330FE6h
, 20350FE5h
, 20360FE4h
, 20380FE4h
199 dd 20390FE3h
, 203B0FE
2h, 203D0FE1h
, 203E0FE0h
200 dd 20400FDFh
, 20410FDFh
, 20430FDEh
, 20450FDDh
201 dd 20460FDCh
, 20480FDBh
, 20490FDBh
, 204B0FDAh
202 dd 204D0FD9h
, 204E0FD8h
, 20500FD7h
, 20510FD7h
203 dd 20530FD6h
, 20550FD5h
, 20560FD4h
, 20580FD3h
204 dd 20590FD2h
, 205B0FD
2h, 205D0FD1h
, 205E0FD0h
205 dd 20600FCFh
, 20610FCEh
, 20630FCEh
, 20650FCDh
206 dd 20660FCCh
, 20680FCBh
, 20690FCAh
, 206B0FCAh
207 dd 206D0FC9h
, 206E0FC8h
, 20700FC7h
, 20710FC6h
208 dd 20730FC5h
, 20750FC5h
, 20760FC4h
, 20780FC3h
209 dd 20790FC2h
, 207B0FC
1h, 207C0FC1h
, 207E0FC0h
210 dd 20800FBFh
, 20810FBEh
, 20830FBDh
, 20840FBDh
211 dd 20860FBCh
, 20880FBBh
, 20890FBAh
, 208B0FB
9h
212 dd 208C0FB8h
, 208E0FB8h
, 20900FB7h
, 20910FB6h
213 dd 20930FB5h
, 20940FB4h
, 20960FB4h
, 20980FB3h
214 dd 20990FB2h
, 209B0FB
1h, 209C0FB0h
, 209E0FB0h
215 dd 20A00FAFh
, 20A10FAEh
, 20A30FADh
, 20A40FACh
216 dd 20A60FABh
, 20A80FABh
, 20A90FAAh
, 20AB0FA9h
217 dd 20AC0FA8h
, 20AE0FA7h
, 20B00FA
7h, 20B10FA
6h
218 dd 20B30FA
5h, 20B40FA
4h, 20B60FA
3h, 20B80FA
3h
219 dd 20B90FA
2h, 20BB0FA
1h, 20BC
0FA
0h, 20BE
0F
9Fh
220 dd 20C00F9Eh
, 20C10F9Eh
, 20C30F9Dh
, 20C40F9Ch
221 dd 20C60F9Bh
, 20C70F9Ah
, 20C90F9Ah
, 20CB0F99h
223 _YUV_clip_table
db 0, 0, 0, 0
312 db 100, 101, 102, 103
313 db 104, 105, 106, 107
314 db 108, 109, 110, 111
315 db 112, 113, 114, 115
316 db 116, 117, 118, 119
317 db 120, 121, 122, 123
318 db 124, 125, 126, 127
319 db 128, 129, 130, 131
320 db 132, 133, 134, 135
321 db 136, 137, 138, 139
322 db 140, 141, 142, 143
323 db 144, 145, 146, 147
324 db 148, 149, 150, 151
325 db 152, 153, 154, 155
326 db 156, 157, 158, 159
327 db 160, 161, 162, 163
328 db 164, 165, 166, 167
329 db 168, 169, 170, 171
330 db 172, 173, 174, 175
331 db 176, 177, 178, 179
332 db 180, 181, 182, 183
333 db 184, 185, 186, 187
334 db 188, 189, 190, 191
335 db 192, 193, 194, 195
336 db 196, 197, 198, 199
337 db 200, 201, 202, 203
338 db 204, 205, 206, 207
339 db 208, 209, 210, 211
340 db 212, 213, 214, 215
341 db 216, 217, 218, 219
342 db 220, 221, 222, 223
343 db 224, 225, 226, 227
344 db 228, 229, 230, 231
345 db 232, 233, 234, 235
346 db 236, 237, 238, 239
347 db 240, 241, 242, 243
348 db 244, 245, 246, 247
349 db 248, 249, 250, 251
350 db 252, 253, 254, 255
351 db 255, 255, 255, 255
352 db 255, 255, 255, 255
353 db 255, 255, 255, 255
354 db 255, 255, 255, 255
355 db 255, 255, 255, 255
356 db 255, 255, 255, 255
357 db 255, 255, 255, 255
358 db 255, 255, 255, 255
359 db 255, 255, 255, 255
360 db 255, 255, 255, 255
361 db 255, 255, 255, 255
362 db 255, 255, 255, 255
363 db 255, 255, 255, 255
364 db 255, 255, 255, 255
365 db 255, 255, 255, 255
366 db 255, 255, 255, 255
367 db 255, 255, 255, 255
368 db 255, 255, 255, 255
369 db 255, 255, 255, 255
370 db 255, 255, 255, 255
371 db 255, 255, 255, 255
372 db 255, 255, 255, 255
373 db 255, 255, 255, 255
374 db 255, 255, 255, 255
375 db 255, 255, 255, 255
376 db 255, 255, 255, 255
377 db 255, 255, 255, 255
378 db 255, 255, 255, 255
379 db 255, 255, 255, 255
380 db 255, 255, 255, 255
381 db 255, 255, 255, 255
382 db 255, 255, 255, 255
383 db 255, 255, 255, 255
384 db 255, 255, 255, 255
385 db 255, 255, 255, 255
386 db 255, 255, 255, 255
387 db 255, 255, 255, 255
388 db 255, 255, 255, 255
389 db 255, 255, 255, 255
390 db 255, 255, 255, 255
391 db 255, 255, 255, 255
392 db 255, 255, 255, 255
393 db 255, 255, 255, 255
394 db 255, 255, 255, 255
395 db 255, 255, 255, 255
396 db 255, 255, 255, 255
397 db 255, 255, 255, 255
398 db 255, 255, 255, 255
399 db 255, 255, 255, 255
400 db 255, 255, 255, 255
401 db 255, 255, 255, 255
402 db 255, 255, 255, 255
403 db 255, 255, 255, 255
404 db 255, 255, 255, 255
405 db 255, 255, 255, 255
406 db 255, 255, 255, 255
407 db 255, 255, 255, 255
408 db 255, 255, 255, 255
409 db 255, 255, 255, 255
410 db 255, 255, 255, 255
411 db 255, 255, 255, 255
412 db 255, 255, 255, 255
413 db 255, 255, 255, 255
414 db 255, 255, 255, 255
417 _YUV_clip_table16
db 0, 0, 0, 0