DOSBox-X
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
src/gui/render_templates_hq3x.h
00001 /*
00002  *  Copyright (C) 2002-2013  The DOSBox Team
00003  *
00004  *  This program is free software; you can redistribute it and/or modify
00005  *  it under the terms of the GNU General Public License as published by
00006  *  the Free Software Foundation; either version 2 of the License, or
00007  *  (at your option) any later version.
00008  *
00009  *  This program is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  *  GNU General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU General Public License
00015  *  along with this program; if not, write to the Free Software
00016  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017  */
00018 
00019 /*
00020  * The HQ3x high quality 3x graphics filter.
00021  * Original author Maxim Stepin (see http://www.hiend3d.com/hq3x.html).
00022  * Adapted for DOSBox from ScummVM and HiEnd3D code by Kronuz.
00023  */
00024 
00025 #ifndef RENDER_TEMPLATES_HQ3X_TABLE_H
00026 #define RENDER_TEMPLATES_HQ3X_TABLE_H
00027 
00028 #define PIXEL00_1M  line0[0] = interp_w2(C4,C0,3U,1U);
00029 #define PIXEL00_1U  line0[0] = interp_w2(C4,C1,3U,1U);
00030 #define PIXEL00_1L  line0[0] = interp_w2(C4,C3,3U,1U);
00031 #define PIXEL00_2   line0[0] = interp_w3(C4,C3,C1,2U,1U,1U);
00032 #define PIXEL00_4   line0[0] = interp_w3(C4,C3,C1,2U,7U,7U);
00033 #define PIXEL00_5   line0[0] = interp_w2(C3,C1,1U,1U);
00034 #define PIXEL00_C   line0[0] = C4;
00035 
00036 #define PIXEL01_1   line0[1] = interp_w2(C4,C1,3U,1U);
00037 #define PIXEL01_3   line0[1] = interp_w2(C4,C1,7U,1U);
00038 #define PIXEL01_6   line0[1] = interp_w2(C1,C4,3U,1U);
00039 #define PIXEL01_C   line0[1] = C4;
00040 
00041 #define PIXEL02_1M  line0[2] = interp_w2(C4,C2,3U,1U);
00042 #define PIXEL02_1U  line0[2] = interp_w2(C4,C1,3U,1U);
00043 #define PIXEL02_1R  line0[2] = interp_w2(C4,C5,3U,1U);
00044 #define PIXEL02_2   line0[2] = interp_w3(C4,C1,C5,2U,1U,1U);
00045 #define PIXEL02_4   line0[2] = interp_w3(C4,C1,C5,2U,7U,7U);
00046 #define PIXEL02_5   line0[2] = interp_w2(C1,C5,1U,1U);
00047 #define PIXEL02_C   line0[2] = C4;
00048 
00049 #define PIXEL10_1   line1[0] = interp_w2(C4,C3,3U,1U);
00050 #define PIXEL10_3   line1[0] = interp_w2(C4,C3,7U,1U);
00051 #define PIXEL10_6   line1[0] = interp_w2(C3,C4,3U,1U);
00052 #define PIXEL10_C   line1[0] = C4;
00053 
00054 #define PIXEL11     line1[1] = C4;
00055 
00056 #define PIXEL12_1   line1[2] = interp_w2(C4,C5,3U,1U);
00057 #define PIXEL12_3   line1[2] = interp_w2(C4,C5,7U,1U);
00058 #define PIXEL12_6   line1[2] = interp_w2(C5,C4,3U,1U);
00059 #define PIXEL12_C   line1[2] = C4;
00060 
00061 #define PIXEL20_1M  line2[0] = interp_w2(C4,C6,3U,1U);
00062 #define PIXEL20_1D  line2[0] = interp_w2(C4,C7,3U,1U);
00063 #define PIXEL20_1L  line2[0] = interp_w2(C4,C3,3U,1U);
00064 #define PIXEL20_2   line2[0] = interp_w3(C4,C7,C3,2U,1U,1U);
00065 #define PIXEL20_4   line2[0] = interp_w3(C4,C7,C3,2U,7U,7U);
00066 #define PIXEL20_5   line2[0] = interp_w2(C7,C3,1U,1U);
00067 #define PIXEL20_C   line2[0] = C4;
00068 
00069 #define PIXEL21_1   line2[1] = interp_w2(C4,C7,3U,1U);
00070 #define PIXEL21_3   line2[1] = interp_w2(C4,C7,7U,1U);
00071 #define PIXEL21_6   line2[1] = interp_w2(C7,C4,3U,1U);
00072 #define PIXEL21_C   line2[1] = C4;
00073 
00074 #define PIXEL22_1M  line2[2] = interp_w2(C4,C8,3U,1U);
00075 #define PIXEL22_1D  line2[2] = interp_w2(C4,C7,3U,1U);
00076 #define PIXEL22_1R  line2[2] = interp_w2(C4,C5,3U,1U);
00077 #define PIXEL22_2   line2[2] = interp_w3(C4,C5,C7,2U,1U,1U);
00078 #define PIXEL22_4   line2[2] = interp_w3(C4,C5,C7,2U,7U,7U);
00079 #define PIXEL22_5   line2[2] = interp_w2(C5,C7,1U,1U);
00080 #define PIXEL22_C   line2[2] = C4;
00081 
00082 #endif
00083 
00084 #if SBPP == 32
00085 #define RGBtoYUV(c) _RGBtoYUV[((c & 0xf80000) >> 8) | ((c & 0x00fc00) >> 5) | ((c & 0x0000f8) >> 3)]
00086 #else
00087 #define RGBtoYUV(c) _RGBtoYUV[c]
00088 #endif
00089 
00090 inline void conc2d(Hq3x,SBPP)(PTYPE * line0, PTYPE * line1, PTYPE * line2, const PTYPE * fc)
00091 {
00092 # if !defined(_MSC_VER) /* Microsoft C++ thinks this is a failed attempt at a function call---it's not */
00093         (void)conc2d(Hq3x,SBPP);
00094 # endif
00095 
00096         if (_RGBtoYUV == 0) conc2d(InitLUTs,SBPP)();
00097 
00098         Bit32u pattern = 0;
00099         const Bit32u YUV4 = RGBtoYUV(C4);
00100 
00101         if (C4 != C0 && diffYUV(YUV4, RGBtoYUV(C0))) pattern |= 0x0001;
00102         if (C4 != C1 && diffYUV(YUV4, RGBtoYUV(C1))) pattern |= 0x0002;
00103         if (C4 != C2 && diffYUV(YUV4, RGBtoYUV(C2))) pattern |= 0x0004;
00104         if (C4 != C3 && diffYUV(YUV4, RGBtoYUV(C3))) pattern |= 0x0008;
00105         if (C4 != C5 && diffYUV(YUV4, RGBtoYUV(C5))) pattern |= 0x0010;
00106         if (C4 != C6 && diffYUV(YUV4, RGBtoYUV(C6))) pattern |= 0x0020;
00107         if (C4 != C7 && diffYUV(YUV4, RGBtoYUV(C7))) pattern |= 0x0040;
00108         if (C4 != C8 && diffYUV(YUV4, RGBtoYUV(C8))) pattern |= 0x0080;
00109 
00110         switch (pattern) {
00111         case 0:
00112         case 1:
00113         case 4:
00114         case 32:
00115         case 128:
00116         case 5:
00117         case 132:
00118         case 160:
00119         case 33:
00120         case 129:
00121         case 36:
00122         case 133:
00123         case 164:
00124         case 161:
00125         case 37:
00126         case 165:
00127                 PIXEL00_2
00128                 PIXEL01_1
00129                 PIXEL02_2
00130                 PIXEL10_1
00131                 PIXEL11
00132                 PIXEL12_1
00133                 PIXEL20_2
00134                 PIXEL21_1
00135                 PIXEL22_2
00136                 break;
00137         case 2:
00138         case 34:
00139         case 130:
00140         case 162:
00141                 PIXEL00_1M
00142                 PIXEL01_C
00143                 PIXEL02_1M
00144                 PIXEL10_1
00145                 PIXEL11
00146                 PIXEL12_1
00147                 PIXEL20_2
00148                 PIXEL21_1
00149                 PIXEL22_2
00150                 break;
00151         case 16:
00152         case 17:
00153         case 48:
00154         case 49:
00155                 PIXEL00_2
00156                 PIXEL01_1
00157                 PIXEL02_1M
00158                 PIXEL10_1
00159                 PIXEL11
00160                 PIXEL12_C
00161                 PIXEL20_2
00162                 PIXEL21_1
00163                 PIXEL22_1M
00164                 break;
00165         case 64:
00166         case 65:
00167         case 68:
00168         case 69:
00169                 PIXEL00_2
00170                 PIXEL01_1
00171                 PIXEL02_2
00172                 PIXEL10_1
00173                 PIXEL11
00174                 PIXEL12_1
00175                 PIXEL20_1M
00176                 PIXEL21_C
00177                 PIXEL22_1M
00178                 break;
00179         case 8:
00180         case 12:
00181         case 136:
00182         case 140:
00183                 PIXEL00_1M
00184                 PIXEL01_1
00185                 PIXEL02_2
00186                 PIXEL10_C
00187                 PIXEL11
00188                 PIXEL12_1
00189                 PIXEL20_1M
00190                 PIXEL21_1
00191                 PIXEL22_2
00192                 break;
00193         case 3:
00194         case 35:
00195         case 131:
00196         case 163:
00197                 PIXEL00_1L
00198                 PIXEL01_C
00199                 PIXEL02_1M
00200                 PIXEL10_1
00201                 PIXEL11
00202                 PIXEL12_1
00203                 PIXEL20_2
00204                 PIXEL21_1
00205                 PIXEL22_2
00206                 break;
00207         case 6:
00208         case 38:
00209         case 134:
00210         case 166:
00211                 PIXEL00_1M
00212                 PIXEL01_C
00213                 PIXEL02_1R
00214                 PIXEL10_1
00215                 PIXEL11
00216                 PIXEL12_1
00217                 PIXEL20_2
00218                 PIXEL21_1
00219                 PIXEL22_2
00220                 break;
00221         case 20:
00222         case 21:
00223         case 52:
00224         case 53:
00225                 PIXEL00_2
00226                 PIXEL01_1
00227                 PIXEL02_1U
00228                 PIXEL10_1
00229                 PIXEL11
00230                 PIXEL12_C
00231                 PIXEL20_2
00232                 PIXEL21_1
00233                 PIXEL22_1M
00234                 break;
00235         case 144:
00236         case 145:
00237         case 176:
00238         case 177:
00239                 PIXEL00_2
00240                 PIXEL01_1
00241                 PIXEL02_1M
00242                 PIXEL10_1
00243                 PIXEL11
00244                 PIXEL12_C
00245                 PIXEL20_2
00246                 PIXEL21_1
00247                 PIXEL22_1D
00248                 break;
00249         case 192:
00250         case 193:
00251         case 196:
00252         case 197:
00253                 PIXEL00_2
00254                 PIXEL01_1
00255                 PIXEL02_2
00256                 PIXEL10_1
00257                 PIXEL11
00258                 PIXEL12_1
00259                 PIXEL20_1M
00260                 PIXEL21_C
00261                 PIXEL22_1R
00262                 break;
00263         case 96:
00264         case 97:
00265         case 100:
00266         case 101:
00267                 PIXEL00_2
00268                 PIXEL01_1
00269                 PIXEL02_2
00270                 PIXEL10_1
00271                 PIXEL11
00272                 PIXEL12_1
00273                 PIXEL20_1L
00274                 PIXEL21_C
00275                 PIXEL22_1M
00276                 break;
00277         case 40:
00278         case 44:
00279         case 168:
00280         case 172:
00281                 PIXEL00_1M
00282                 PIXEL01_1
00283                 PIXEL02_2
00284                 PIXEL10_C
00285                 PIXEL11
00286                 PIXEL12_1
00287                 PIXEL20_1D
00288                 PIXEL21_1
00289                 PIXEL22_2
00290                 break;
00291         case 9:
00292         case 13:
00293         case 137:
00294         case 141:
00295                 PIXEL00_1U
00296                 PIXEL01_1
00297                 PIXEL02_2
00298                 PIXEL10_C
00299                 PIXEL11
00300                 PIXEL12_1
00301                 PIXEL20_1M
00302                 PIXEL21_1
00303                 PIXEL22_2
00304                 break;
00305         case 18:
00306         case 50:
00307                 PIXEL00_1M
00308                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
00309                         PIXEL01_C
00310                         PIXEL02_1M
00311                         PIXEL12_C
00312                 } else {
00313                         PIXEL01_3
00314                         PIXEL02_4
00315                         PIXEL12_3
00316                 }
00317                 PIXEL10_1
00318                 PIXEL11
00319                 PIXEL20_2
00320                 PIXEL21_1
00321                 PIXEL22_1M
00322                 break;
00323         case 80:
00324         case 81:
00325                 PIXEL00_2
00326                 PIXEL01_1
00327                 PIXEL02_1M
00328                 PIXEL10_1
00329                 PIXEL11
00330                 PIXEL20_1M
00331                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
00332                         PIXEL12_C
00333                         PIXEL21_C
00334                         PIXEL22_1M
00335                 } else {
00336                         PIXEL12_3
00337                         PIXEL21_3
00338                         PIXEL22_4
00339                 }
00340                 break;
00341         case 72:
00342         case 76:
00343                 PIXEL00_1M
00344                 PIXEL01_1
00345                 PIXEL02_2
00346                 PIXEL11
00347                 PIXEL12_1
00348                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
00349                         PIXEL10_C
00350                         PIXEL20_1M
00351                         PIXEL21_C
00352                 } else {
00353                         PIXEL10_3
00354                         PIXEL20_4
00355                         PIXEL21_3
00356                 }
00357                 PIXEL22_1M
00358                 break;
00359         case 10:
00360         case 138:
00361                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
00362                         PIXEL00_1M
00363                         PIXEL01_C
00364                         PIXEL10_C
00365                 } else {
00366                         PIXEL00_4
00367                         PIXEL01_3
00368                         PIXEL10_3
00369                 }
00370                 PIXEL02_1M
00371                 PIXEL11
00372                 PIXEL12_1
00373                 PIXEL20_1M
00374                 PIXEL21_1
00375                 PIXEL22_2
00376                 break;
00377         case 66:
00378                 PIXEL00_1M
00379                 PIXEL01_C
00380                 PIXEL02_1M
00381                 PIXEL10_1
00382                 PIXEL11
00383                 PIXEL12_1
00384                 PIXEL20_1M
00385                 PIXEL21_C
00386                 PIXEL22_1M
00387                 break;
00388         case 24:
00389                 PIXEL00_1M
00390                 PIXEL01_1
00391                 PIXEL02_1M
00392                 PIXEL10_C
00393                 PIXEL11
00394                 PIXEL12_C
00395                 PIXEL20_1M
00396                 PIXEL21_1
00397                 PIXEL22_1M
00398                 break;
00399         case 7:
00400         case 39:
00401         case 135:
00402                 PIXEL00_1L
00403                 PIXEL01_C
00404                 PIXEL02_1R
00405                 PIXEL10_1
00406                 PIXEL11
00407                 PIXEL12_1
00408                 PIXEL20_2
00409                 PIXEL21_1
00410                 PIXEL22_2
00411                 break;
00412         case 148:
00413         case 149:
00414         case 180:
00415                 PIXEL00_2
00416                 PIXEL01_1
00417                 PIXEL02_1U
00418                 PIXEL10_1
00419                 PIXEL11
00420                 PIXEL12_C
00421                 PIXEL20_2
00422                 PIXEL21_1
00423                 PIXEL22_1D
00424                 break;
00425         case 224:
00426         case 228:
00427         case 225:
00428                 PIXEL00_2
00429                 PIXEL01_1
00430                 PIXEL02_2
00431                 PIXEL10_1
00432                 PIXEL11
00433                 PIXEL12_1
00434                 PIXEL20_1L
00435                 PIXEL21_C
00436                 PIXEL22_1R
00437                 break;
00438         case 41:
00439         case 169:
00440         case 45:
00441                 PIXEL00_1U
00442                 PIXEL01_1
00443                 PIXEL02_2
00444                 PIXEL10_C
00445                 PIXEL11
00446                 PIXEL12_1
00447                 PIXEL20_1D
00448                 PIXEL21_1
00449                 PIXEL22_2
00450                 break;
00451         case 22:
00452         case 54:
00453                 PIXEL00_1M
00454                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
00455                         PIXEL01_C
00456                         PIXEL02_C
00457                         PIXEL12_C
00458                 } else {
00459                         PIXEL01_3
00460                         PIXEL02_4
00461                         PIXEL12_3
00462                 }
00463                 PIXEL10_1
00464                 PIXEL11
00465                 PIXEL20_2
00466                 PIXEL21_1
00467                 PIXEL22_1M
00468                 break;
00469         case 208:
00470         case 209:
00471                 PIXEL00_2
00472                 PIXEL01_1
00473                 PIXEL02_1M
00474                 PIXEL10_1
00475                 PIXEL11
00476                 PIXEL20_1M
00477                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
00478                         PIXEL12_C
00479                         PIXEL21_C
00480                         PIXEL22_C
00481                 } else {
00482                         PIXEL12_3
00483                         PIXEL21_3
00484                         PIXEL22_4
00485                 }
00486                 break;
00487         case 104:
00488         case 108:
00489                 PIXEL00_1M
00490                 PIXEL01_1
00491                 PIXEL02_2
00492                 PIXEL11
00493                 PIXEL12_1
00494                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
00495                         PIXEL10_C
00496                         PIXEL20_C
00497                         PIXEL21_C
00498                 } else {
00499                         PIXEL10_3
00500                         PIXEL20_4
00501                         PIXEL21_3
00502                 }
00503                 PIXEL22_1M
00504                 break;
00505         case 11:
00506         case 139:
00507                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
00508                         PIXEL00_C
00509                         PIXEL01_C
00510                         PIXEL10_C
00511                 } else {
00512                         PIXEL00_4
00513                         PIXEL01_3
00514                         PIXEL10_3
00515                 }
00516                 PIXEL02_1M
00517                 PIXEL11
00518                 PIXEL12_1
00519                 PIXEL20_1M
00520                 PIXEL21_1
00521                 PIXEL22_2
00522                 break;
00523         case 19:
00524         case 51:
00525                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
00526                         PIXEL00_1L
00527                         PIXEL01_C
00528                         PIXEL02_1M
00529                         PIXEL12_C
00530                 } else {
00531                         PIXEL00_2
00532                         PIXEL01_6
00533                         PIXEL02_5
00534                         PIXEL12_1
00535                 }
00536                 PIXEL10_1
00537                 PIXEL11
00538                 PIXEL20_2
00539                 PIXEL21_1
00540                 PIXEL22_1M
00541                 break;
00542         case 146:
00543         case 178:
00544                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
00545                         PIXEL01_C
00546                         PIXEL02_1M
00547                         PIXEL12_C
00548                         PIXEL22_1D
00549                 } else {
00550                         PIXEL01_1
00551                         PIXEL02_5
00552                         PIXEL12_6
00553                         PIXEL22_2
00554                 }
00555                 PIXEL00_1M
00556                 PIXEL10_1
00557                 PIXEL11
00558                 PIXEL20_2
00559                 PIXEL21_1
00560                 break;
00561         case 84:
00562         case 85:
00563                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
00564                         PIXEL02_1U
00565                         PIXEL12_C
00566                         PIXEL21_C
00567                         PIXEL22_1M
00568                 } else {
00569                         PIXEL02_2
00570                         PIXEL12_6
00571                         PIXEL21_1
00572                         PIXEL22_5
00573                 }
00574                 PIXEL00_2
00575                 PIXEL01_1
00576                 PIXEL10_1
00577                 PIXEL11
00578                 PIXEL20_1M
00579                 break;
00580         case 112:
00581         case 113:
00582                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
00583                         PIXEL12_C
00584                         PIXEL20_1L
00585                         PIXEL21_C
00586                         PIXEL22_1M
00587                 } else {
00588                         PIXEL12_1
00589                         PIXEL20_2
00590                         PIXEL21_6
00591                         PIXEL22_5
00592                 }
00593                 PIXEL00_2
00594                 PIXEL01_1
00595                 PIXEL02_1M
00596                 PIXEL10_1
00597                 PIXEL11
00598                 break;
00599         case 200:
00600         case 204:
00601                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
00602                         PIXEL10_C
00603                         PIXEL20_1M
00604                         PIXEL21_C
00605                         PIXEL22_1R
00606                 } else {
00607                         PIXEL10_1
00608                         PIXEL20_5
00609                         PIXEL21_6
00610                         PIXEL22_2
00611                 }
00612                 PIXEL00_1M
00613                 PIXEL01_1
00614                 PIXEL02_2
00615                 PIXEL11
00616                 PIXEL12_1
00617                 break;
00618         case 73:
00619         case 77:
00620                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
00621                         PIXEL00_1U
00622                         PIXEL10_C
00623                         PIXEL20_1M
00624                         PIXEL21_C
00625                 } else {
00626                         PIXEL00_2
00627                         PIXEL10_6
00628                         PIXEL20_5
00629                         PIXEL21_1
00630                 }
00631                 PIXEL01_1
00632                 PIXEL02_2
00633                 PIXEL11
00634                 PIXEL12_1
00635                 PIXEL22_1M
00636                 break;
00637         case 42:
00638         case 170:
00639                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
00640                         PIXEL00_1M
00641                         PIXEL01_C
00642                         PIXEL10_C
00643                         PIXEL20_1D
00644                 } else {
00645                         PIXEL00_5
00646                         PIXEL01_1
00647                         PIXEL10_6
00648                         PIXEL20_2
00649                 }
00650                 PIXEL02_1M
00651                 PIXEL11
00652                 PIXEL12_1
00653                 PIXEL21_1
00654                 PIXEL22_2
00655                 break;
00656         case 14:
00657         case 142:
00658                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
00659                         PIXEL00_1M
00660                         PIXEL01_C
00661                         PIXEL02_1R
00662                         PIXEL10_C
00663                 } else {
00664                         PIXEL00_5
00665                         PIXEL01_6
00666                         PIXEL02_2
00667                         PIXEL10_1
00668                 }
00669                 PIXEL11
00670                 PIXEL12_1
00671                 PIXEL20_1M
00672                 PIXEL21_1
00673                 PIXEL22_2
00674                 break;
00675         case 67:
00676                 PIXEL00_1L
00677                 PIXEL01_C
00678                 PIXEL02_1M
00679                 PIXEL10_1
00680                 PIXEL11
00681                 PIXEL12_1
00682                 PIXEL20_1M
00683                 PIXEL21_C
00684                 PIXEL22_1M
00685                 break;
00686         case 70:
00687                 PIXEL00_1M
00688                 PIXEL01_C
00689                 PIXEL02_1R
00690                 PIXEL10_1
00691                 PIXEL11
00692                 PIXEL12_1
00693                 PIXEL20_1M
00694                 PIXEL21_C
00695                 PIXEL22_1M
00696                 break;
00697         case 28:
00698                 PIXEL00_1M
00699                 PIXEL01_1
00700                 PIXEL02_1U
00701                 PIXEL10_C
00702                 PIXEL11
00703                 PIXEL12_C
00704                 PIXEL20_1M
00705                 PIXEL21_1
00706                 PIXEL22_1M
00707                 break;
00708         case 152:
00709                 PIXEL00_1M
00710                 PIXEL01_1
00711                 PIXEL02_1M
00712                 PIXEL10_C
00713                 PIXEL11
00714                 PIXEL12_C
00715                 PIXEL20_1M
00716                 PIXEL21_1
00717                 PIXEL22_1D
00718                 break;
00719         case 194:
00720                 PIXEL00_1M
00721                 PIXEL01_C
00722                 PIXEL02_1M
00723                 PIXEL10_1
00724                 PIXEL11
00725                 PIXEL12_1
00726                 PIXEL20_1M
00727                 PIXEL21_C
00728                 PIXEL22_1R
00729                 break;
00730         case 98:
00731                 PIXEL00_1M
00732                 PIXEL01_C
00733                 PIXEL02_1M
00734                 PIXEL10_1
00735                 PIXEL11
00736                 PIXEL12_1
00737                 PIXEL20_1L
00738                 PIXEL21_C
00739                 PIXEL22_1M
00740                 break;
00741         case 56:
00742                 PIXEL00_1M
00743                 PIXEL01_1
00744                 PIXEL02_1M
00745                 PIXEL10_C
00746                 PIXEL11
00747                 PIXEL12_C
00748                 PIXEL20_1D
00749                 PIXEL21_1
00750                 PIXEL22_1M
00751                 break;
00752         case 25:
00753                 PIXEL00_1U
00754                 PIXEL01_1
00755                 PIXEL02_1M
00756                 PIXEL10_C
00757                 PIXEL11
00758                 PIXEL12_C
00759                 PIXEL20_1M
00760                 PIXEL21_1
00761                 PIXEL22_1M
00762                 break;
00763         case 26:
00764         case 31:
00765                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
00766                         PIXEL00_C
00767                         PIXEL10_C
00768                 } else {
00769                         PIXEL00_4
00770                         PIXEL10_3
00771                 }
00772                 PIXEL01_C
00773                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
00774                         PIXEL02_C
00775                         PIXEL12_C
00776                 } else {
00777                         PIXEL02_4
00778                         PIXEL12_3
00779                 }
00780                 PIXEL11
00781                 PIXEL20_1M
00782                 PIXEL21_1
00783                 PIXEL22_1M
00784                 break;
00785         case 82:
00786         case 214:
00787                 PIXEL00_1M
00788                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
00789                         PIXEL01_C
00790                         PIXEL02_C
00791                 } else {
00792                         PIXEL01_3
00793                         PIXEL02_4
00794                 }
00795                 PIXEL10_1
00796                 PIXEL11
00797                 PIXEL12_C
00798                 PIXEL20_1M
00799                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
00800                         PIXEL21_C
00801                         PIXEL22_C
00802                 } else {
00803                         PIXEL21_3
00804                         PIXEL22_4
00805                 }
00806                 break;
00807         case 88:
00808         case 248:
00809                 PIXEL00_1M
00810                 PIXEL01_1
00811                 PIXEL02_1M
00812                 PIXEL11
00813                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
00814                         PIXEL10_C
00815                         PIXEL20_C
00816                 } else {
00817                         PIXEL10_3
00818                         PIXEL20_4
00819                 }
00820                 PIXEL21_C
00821                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
00822                         PIXEL12_C
00823                         PIXEL22_C
00824                 } else {
00825                         PIXEL12_3
00826                         PIXEL22_4
00827                 }
00828                 break;
00829         case 74:
00830         case 107:
00831                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
00832                         PIXEL00_C
00833                         PIXEL01_C
00834                 } else {
00835                         PIXEL00_4
00836                         PIXEL01_3
00837                 }
00838                 PIXEL02_1M
00839                 PIXEL10_C
00840                 PIXEL11
00841                 PIXEL12_1
00842                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
00843                         PIXEL20_C
00844                         PIXEL21_C
00845                 } else {
00846                         PIXEL20_4
00847                         PIXEL21_3
00848                 }
00849                 PIXEL22_1M
00850                 break;
00851         case 27:
00852                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
00853                         PIXEL00_C
00854                         PIXEL01_C
00855                         PIXEL10_C
00856                 } else {
00857                         PIXEL00_4
00858                         PIXEL01_3
00859                         PIXEL10_3
00860                 }
00861                 PIXEL02_1M
00862                 PIXEL11
00863                 PIXEL12_C
00864                 PIXEL20_1M
00865                 PIXEL21_1
00866                 PIXEL22_1M
00867                 break;
00868         case 86:
00869                 PIXEL00_1M
00870                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
00871                         PIXEL01_C
00872                         PIXEL02_C
00873                         PIXEL12_C
00874                 } else {
00875                         PIXEL01_3
00876                         PIXEL02_4
00877                         PIXEL12_3
00878                 }
00879                 PIXEL10_1
00880                 PIXEL11
00881                 PIXEL20_1M
00882                 PIXEL21_C
00883                 PIXEL22_1M
00884                 break;
00885         case 216:
00886                 PIXEL00_1M
00887                 PIXEL01_1
00888                 PIXEL02_1M
00889                 PIXEL10_C
00890                 PIXEL11
00891                 PIXEL20_1M
00892                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
00893                         PIXEL12_C
00894                         PIXEL21_C
00895                         PIXEL22_C
00896                 } else {
00897                         PIXEL12_3
00898                         PIXEL21_3
00899                         PIXEL22_4
00900                 }
00901                 break;
00902         case 106:
00903                 PIXEL00_1M
00904                 PIXEL01_C
00905                 PIXEL02_1M
00906                 PIXEL11
00907                 PIXEL12_1
00908                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
00909                         PIXEL10_C
00910                         PIXEL20_C
00911                         PIXEL21_C
00912                 } else {
00913                         PIXEL10_3
00914                         PIXEL20_4
00915                         PIXEL21_3
00916                 }
00917                 PIXEL22_1M
00918                 break;
00919         case 30:
00920                 PIXEL00_1M
00921                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
00922                         PIXEL01_C
00923                         PIXEL02_C
00924                         PIXEL12_C
00925                 } else {
00926                         PIXEL01_3
00927                         PIXEL02_4
00928                         PIXEL12_3
00929                 }
00930                 PIXEL10_C
00931                 PIXEL11
00932                 PIXEL20_1M
00933                 PIXEL21_1
00934                 PIXEL22_1M
00935                 break;
00936         case 210:
00937                 PIXEL00_1M
00938                 PIXEL01_C
00939                 PIXEL02_1M
00940                 PIXEL10_1
00941                 PIXEL11
00942                 PIXEL20_1M
00943                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
00944                         PIXEL12_C
00945                         PIXEL21_C
00946                         PIXEL22_C
00947                 } else {
00948                         PIXEL12_3
00949                         PIXEL21_3
00950                         PIXEL22_4
00951                 }
00952                 break;
00953         case 120:
00954                 PIXEL00_1M
00955                 PIXEL01_1
00956                 PIXEL02_1M
00957                 PIXEL11
00958                 PIXEL12_C
00959                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
00960                         PIXEL10_C
00961                         PIXEL20_C
00962                         PIXEL21_C
00963                 } else {
00964                         PIXEL10_3
00965                         PIXEL20_4
00966                         PIXEL21_3
00967                 }
00968                 PIXEL22_1M
00969                 break;
00970         case 75:
00971                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
00972                         PIXEL00_C
00973                         PIXEL01_C
00974                         PIXEL10_C
00975                 } else {
00976                         PIXEL00_4
00977                         PIXEL01_3
00978                         PIXEL10_3
00979                 }
00980                 PIXEL02_1M
00981                 PIXEL11
00982                 PIXEL12_1
00983                 PIXEL20_1M
00984                 PIXEL21_C
00985                 PIXEL22_1M
00986                 break;
00987         case 29:
00988                 PIXEL00_1U
00989                 PIXEL01_1
00990                 PIXEL02_1U
00991                 PIXEL10_C
00992                 PIXEL11
00993                 PIXEL12_C
00994                 PIXEL20_1M
00995                 PIXEL21_1
00996                 PIXEL22_1M
00997                 break;
00998         case 198:
00999                 PIXEL00_1M
01000                 PIXEL01_C
01001                 PIXEL02_1R
01002                 PIXEL10_1
01003                 PIXEL11
01004                 PIXEL12_1
01005                 PIXEL20_1M
01006                 PIXEL21_C
01007                 PIXEL22_1R
01008                 break;
01009         case 184:
01010                 PIXEL00_1M
01011                 PIXEL01_1
01012                 PIXEL02_1M
01013                 PIXEL10_C
01014                 PIXEL11
01015                 PIXEL12_C
01016                 PIXEL20_1D
01017                 PIXEL21_1
01018                 PIXEL22_1D
01019                 break;
01020         case 99:
01021                 PIXEL00_1L
01022                 PIXEL01_C
01023                 PIXEL02_1M
01024                 PIXEL10_1
01025                 PIXEL11
01026                 PIXEL12_1
01027                 PIXEL20_1L
01028                 PIXEL21_C
01029                 PIXEL22_1M
01030                 break;
01031         case 57:
01032                 PIXEL00_1U
01033                 PIXEL01_1
01034                 PIXEL02_1M
01035                 PIXEL10_C
01036                 PIXEL11
01037                 PIXEL12_C
01038                 PIXEL20_1D
01039                 PIXEL21_1
01040                 PIXEL22_1M
01041                 break;
01042         case 71:
01043                 PIXEL00_1L
01044                 PIXEL01_C
01045                 PIXEL02_1R
01046                 PIXEL10_1
01047                 PIXEL11
01048                 PIXEL12_1
01049                 PIXEL20_1M
01050                 PIXEL21_C
01051                 PIXEL22_1M
01052                 break;
01053         case 156:
01054                 PIXEL00_1M
01055                 PIXEL01_1
01056                 PIXEL02_1U
01057                 PIXEL10_C
01058                 PIXEL11
01059                 PIXEL12_C
01060                 PIXEL20_1M
01061                 PIXEL21_1
01062                 PIXEL22_1D
01063                 break;
01064         case 226:
01065                 PIXEL00_1M
01066                 PIXEL01_C
01067                 PIXEL02_1M
01068                 PIXEL10_1
01069                 PIXEL11
01070                 PIXEL12_1
01071                 PIXEL20_1L
01072                 PIXEL21_C
01073                 PIXEL22_1R
01074                 break;
01075         case 60:
01076                 PIXEL00_1M
01077                 PIXEL01_1
01078                 PIXEL02_1U
01079                 PIXEL10_C
01080                 PIXEL11
01081                 PIXEL12_C
01082                 PIXEL20_1D
01083                 PIXEL21_1
01084                 PIXEL22_1M
01085                 break;
01086         case 195:
01087                 PIXEL00_1L
01088                 PIXEL01_C
01089                 PIXEL02_1M
01090                 PIXEL10_1
01091                 PIXEL11
01092                 PIXEL12_1
01093                 PIXEL20_1M
01094                 PIXEL21_C
01095                 PIXEL22_1R
01096                 break;
01097         case 102:
01098                 PIXEL00_1M
01099                 PIXEL01_C
01100                 PIXEL02_1R
01101                 PIXEL10_1
01102                 PIXEL11
01103                 PIXEL12_1
01104                 PIXEL20_1L
01105                 PIXEL21_C
01106                 PIXEL22_1M
01107                 break;
01108         case 153:
01109                 PIXEL00_1U
01110                 PIXEL01_1
01111                 PIXEL02_1M
01112                 PIXEL10_C
01113                 PIXEL11
01114                 PIXEL12_C
01115                 PIXEL20_1M
01116                 PIXEL21_1
01117                 PIXEL22_1D
01118                 break;
01119         case 58:
01120                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01121                         PIXEL00_1M
01122                 } else {
01123                         PIXEL00_2
01124                 }
01125                 PIXEL01_C
01126                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01127                         PIXEL02_1M
01128                 } else {
01129                         PIXEL02_2
01130                 }
01131                 PIXEL10_C
01132                 PIXEL11
01133                 PIXEL12_C
01134                 PIXEL20_1D
01135                 PIXEL21_1
01136                 PIXEL22_1M
01137                 break;
01138         case 83:
01139                 PIXEL00_1L
01140                 PIXEL01_C
01141                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01142                         PIXEL02_1M
01143                 } else {
01144                         PIXEL02_2
01145                 }
01146                 PIXEL10_1
01147                 PIXEL11
01148                 PIXEL12_C
01149                 PIXEL20_1M
01150                 PIXEL21_C
01151                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01152                         PIXEL22_1M
01153                 } else {
01154                         PIXEL22_2
01155                 }
01156                 break;
01157         case 92:
01158                 PIXEL00_1M
01159                 PIXEL01_1
01160                 PIXEL02_1U
01161                 PIXEL10_C
01162                 PIXEL11
01163                 PIXEL12_C
01164                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01165                         PIXEL20_1M
01166                 } else {
01167                         PIXEL20_2
01168                 }
01169                 PIXEL21_C
01170                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01171                         PIXEL22_1M
01172                 } else {
01173                         PIXEL22_2
01174                 }
01175                 break;
01176         case 202:
01177                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01178                         PIXEL00_1M
01179                 } else {
01180                         PIXEL00_2
01181                 }
01182                 PIXEL01_C
01183                 PIXEL02_1M
01184                 PIXEL10_C
01185                 PIXEL11
01186                 PIXEL12_1
01187                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01188                         PIXEL20_1M
01189                 } else {
01190                         PIXEL20_2
01191                 }
01192                 PIXEL21_C
01193                 PIXEL22_1R
01194                 break;
01195         case 78:
01196                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01197                         PIXEL00_1M
01198                 } else {
01199                         PIXEL00_2
01200                 }
01201                 PIXEL01_C
01202                 PIXEL02_1R
01203                 PIXEL10_C
01204                 PIXEL11
01205                 PIXEL12_1
01206                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01207                         PIXEL20_1M
01208                 } else {
01209                         PIXEL20_2
01210                 }
01211                 PIXEL21_C
01212                 PIXEL22_1M
01213                 break;
01214         case 154:
01215                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01216                         PIXEL00_1M
01217                 } else {
01218                         PIXEL00_2
01219                 }
01220                 PIXEL01_C
01221                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01222                         PIXEL02_1M
01223                 } else {
01224                         PIXEL02_2
01225                 }
01226                 PIXEL10_C
01227                 PIXEL11
01228                 PIXEL12_C
01229                 PIXEL20_1M
01230                 PIXEL21_1
01231                 PIXEL22_1D
01232                 break;
01233         case 114:
01234                 PIXEL00_1M
01235                 PIXEL01_C
01236                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01237                         PIXEL02_1M
01238                 } else {
01239                         PIXEL02_2
01240                 }
01241                 PIXEL10_1
01242                 PIXEL11
01243                 PIXEL12_C
01244                 PIXEL20_1L
01245                 PIXEL21_C
01246                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01247                         PIXEL22_1M
01248                 } else {
01249                         PIXEL22_2
01250                 }
01251                 break;
01252         case 89:
01253                 PIXEL00_1U
01254                 PIXEL01_1
01255                 PIXEL02_1M
01256                 PIXEL10_C
01257                 PIXEL11
01258                 PIXEL12_C
01259                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01260                         PIXEL20_1M
01261                 } else {
01262                         PIXEL20_2
01263                 }
01264                 PIXEL21_C
01265                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01266                         PIXEL22_1M
01267                 } else {
01268                         PIXEL22_2
01269                 }
01270                 break;
01271         case 90:
01272                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01273                         PIXEL00_1M
01274                 } else {
01275                         PIXEL00_2
01276                 }
01277                 PIXEL01_C
01278                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01279                         PIXEL02_1M
01280                 } else {
01281                         PIXEL02_2
01282                 }
01283                 PIXEL10_C
01284                 PIXEL11
01285                 PIXEL12_C
01286                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01287                         PIXEL20_1M
01288                 } else {
01289                         PIXEL20_2
01290                 }
01291                 PIXEL21_C
01292                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01293                         PIXEL22_1M
01294                 } else {
01295                         PIXEL22_2
01296                 }
01297                 break;
01298         case 55:
01299         case 23:
01300                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01301                         PIXEL00_1L
01302                         PIXEL01_C
01303                         PIXEL02_C
01304                         PIXEL12_C
01305                 } else {
01306                         PIXEL00_2
01307                         PIXEL01_6
01308                         PIXEL02_5
01309                         PIXEL12_1
01310                 }
01311                 PIXEL10_1
01312                 PIXEL11
01313                 PIXEL20_2
01314                 PIXEL21_1
01315                 PIXEL22_1M
01316                 break;
01317         case 182:
01318         case 150:
01319                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01320                         PIXEL01_C
01321                         PIXEL02_C
01322                         PIXEL12_C
01323                         PIXEL22_1D
01324                 } else {
01325                         PIXEL01_1
01326                         PIXEL02_5
01327                         PIXEL12_6
01328                         PIXEL22_2
01329                 }
01330                 PIXEL00_1M
01331                 PIXEL10_1
01332                 PIXEL11
01333                 PIXEL20_2
01334                 PIXEL21_1
01335                 break;
01336         case 213:
01337         case 212:
01338                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01339                         PIXEL02_1U
01340                         PIXEL12_C
01341                         PIXEL21_C
01342                         PIXEL22_C
01343                 } else {
01344                         PIXEL02_2
01345                         PIXEL12_6
01346                         PIXEL21_1
01347                         PIXEL22_5
01348                 }
01349                 PIXEL00_2
01350                 PIXEL01_1
01351                 PIXEL10_1
01352                 PIXEL11
01353                 PIXEL20_1M
01354                 break;
01355         case 241:
01356         case 240:
01357                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01358                         PIXEL12_C
01359                         PIXEL20_1L
01360                         PIXEL21_C
01361                         PIXEL22_C
01362                 } else {
01363                         PIXEL12_1
01364                         PIXEL20_2
01365                         PIXEL21_6
01366                         PIXEL22_5
01367                 }
01368                 PIXEL00_2
01369                 PIXEL01_1
01370                 PIXEL02_1M
01371                 PIXEL10_1
01372                 PIXEL11
01373                 break;
01374         case 236:
01375         case 232:
01376                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01377                         PIXEL10_C
01378                         PIXEL20_C
01379                         PIXEL21_C
01380                         PIXEL22_1R
01381                 } else {
01382                         PIXEL10_1
01383                         PIXEL20_5
01384                         PIXEL21_6
01385                         PIXEL22_2
01386                 }
01387                 PIXEL00_1M
01388                 PIXEL01_1
01389                 PIXEL02_2
01390                 PIXEL11
01391                 PIXEL12_1
01392                 break;
01393         case 109:
01394         case 105:
01395                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01396                         PIXEL00_1U
01397                         PIXEL10_C
01398                         PIXEL20_C
01399                         PIXEL21_C
01400                 } else {
01401                         PIXEL00_2
01402                         PIXEL10_6
01403                         PIXEL20_5
01404                         PIXEL21_1
01405                 }
01406                 PIXEL01_1
01407                 PIXEL02_2
01408                 PIXEL11
01409                 PIXEL12_1
01410                 PIXEL22_1M
01411                 break;
01412         case 171:
01413         case 43:
01414                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01415                         PIXEL00_C
01416                         PIXEL01_C
01417                         PIXEL10_C
01418                         PIXEL20_1D
01419                 } else {
01420                         PIXEL00_5
01421                         PIXEL01_1
01422                         PIXEL10_6
01423                         PIXEL20_2
01424                 }
01425                 PIXEL02_1M
01426                 PIXEL11
01427                 PIXEL12_1
01428                 PIXEL21_1
01429                 PIXEL22_2
01430                 break;
01431         case 143:
01432         case 15:
01433                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01434                         PIXEL00_C
01435                         PIXEL01_C
01436                         PIXEL02_1R
01437                         PIXEL10_C
01438                 } else {
01439                         PIXEL00_5
01440                         PIXEL01_6
01441                         PIXEL02_2
01442                         PIXEL10_1
01443                 }
01444                 PIXEL11
01445                 PIXEL12_1
01446                 PIXEL20_1M
01447                 PIXEL21_1
01448                 PIXEL22_2
01449                 break;
01450         case 124:
01451                 PIXEL00_1M
01452                 PIXEL01_1
01453                 PIXEL02_1U
01454                 PIXEL11
01455                 PIXEL12_C
01456                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01457                         PIXEL10_C
01458                         PIXEL20_C
01459                         PIXEL21_C
01460                 } else {
01461                         PIXEL10_3
01462                         PIXEL20_4
01463                         PIXEL21_3
01464                 }
01465                 PIXEL22_1M
01466                 break;
01467         case 203:
01468                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01469                         PIXEL00_C
01470                         PIXEL01_C
01471                         PIXEL10_C
01472                 } else {
01473                         PIXEL00_4
01474                         PIXEL01_3
01475                         PIXEL10_3
01476                 }
01477                 PIXEL02_1M
01478                 PIXEL11
01479                 PIXEL12_1
01480                 PIXEL20_1M
01481                 PIXEL21_C
01482                 PIXEL22_1R
01483                 break;
01484         case 62:
01485                 PIXEL00_1M
01486                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01487                         PIXEL01_C
01488                         PIXEL02_C
01489                         PIXEL12_C
01490                 } else {
01491                         PIXEL01_3
01492                         PIXEL02_4
01493                         PIXEL12_3
01494                 }
01495                 PIXEL10_C
01496                 PIXEL11
01497                 PIXEL20_1D
01498                 PIXEL21_1
01499                 PIXEL22_1M
01500                 break;
01501         case 211:
01502                 PIXEL00_1L
01503                 PIXEL01_C
01504                 PIXEL02_1M
01505                 PIXEL10_1
01506                 PIXEL11
01507                 PIXEL20_1M
01508                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01509                         PIXEL12_C
01510                         PIXEL21_C
01511                         PIXEL22_C
01512                 } else {
01513                         PIXEL12_3
01514                         PIXEL21_3
01515                         PIXEL22_4
01516                 }
01517                 break;
01518         case 118:
01519                 PIXEL00_1M
01520                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01521                         PIXEL01_C
01522                         PIXEL02_C
01523                         PIXEL12_C
01524                 } else {
01525                         PIXEL01_3
01526                         PIXEL02_4
01527                         PIXEL12_3
01528                 }
01529                 PIXEL10_1
01530                 PIXEL11
01531                 PIXEL20_1L
01532                 PIXEL21_C
01533                 PIXEL22_1M
01534                 break;
01535         case 217:
01536                 PIXEL00_1U
01537                 PIXEL01_1
01538                 PIXEL02_1M
01539                 PIXEL10_C
01540                 PIXEL11
01541                 PIXEL20_1M
01542                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01543                         PIXEL12_C
01544                         PIXEL21_C
01545                         PIXEL22_C
01546                 } else {
01547                         PIXEL12_3
01548                         PIXEL21_3
01549                         PIXEL22_4
01550                 }
01551                 break;
01552         case 110:
01553                 PIXEL00_1M
01554                 PIXEL01_C
01555                 PIXEL02_1R
01556                 PIXEL11
01557                 PIXEL12_1
01558                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01559                         PIXEL10_C
01560                         PIXEL20_C
01561                         PIXEL21_C
01562                 } else {
01563                         PIXEL10_3
01564                         PIXEL20_4
01565                         PIXEL21_3
01566                 }
01567                 PIXEL22_1M
01568                 break;
01569         case 155:
01570                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01571                         PIXEL00_C
01572                         PIXEL01_C
01573                         PIXEL10_C
01574                 } else {
01575                         PIXEL00_4
01576                         PIXEL01_3
01577                         PIXEL10_3
01578                 }
01579                 PIXEL02_1M
01580                 PIXEL11
01581                 PIXEL12_C
01582                 PIXEL20_1M
01583                 PIXEL21_1
01584                 PIXEL22_1D
01585                 break;
01586         case 188:
01587                 PIXEL00_1M
01588                 PIXEL01_1
01589                 PIXEL02_1U
01590                 PIXEL10_C
01591                 PIXEL11
01592                 PIXEL12_C
01593                 PIXEL20_1D
01594                 PIXEL21_1
01595                 PIXEL22_1D
01596                 break;
01597         case 185:
01598                 PIXEL00_1U
01599                 PIXEL01_1
01600                 PIXEL02_1M
01601                 PIXEL10_C
01602                 PIXEL11
01603                 PIXEL12_C
01604                 PIXEL20_1D
01605                 PIXEL21_1
01606                 PIXEL22_1D
01607                 break;
01608         case 61:
01609                 PIXEL00_1U
01610                 PIXEL01_1
01611                 PIXEL02_1U
01612                 PIXEL10_C
01613                 PIXEL11
01614                 PIXEL12_C
01615                 PIXEL20_1D
01616                 PIXEL21_1
01617                 PIXEL22_1M
01618                 break;
01619         case 157:
01620                 PIXEL00_1U
01621                 PIXEL01_1
01622                 PIXEL02_1U
01623                 PIXEL10_C
01624                 PIXEL11
01625                 PIXEL12_C
01626                 PIXEL20_1M
01627                 PIXEL21_1
01628                 PIXEL22_1D
01629                 break;
01630         case 103:
01631                 PIXEL00_1L
01632                 PIXEL01_C
01633                 PIXEL02_1R
01634                 PIXEL10_1
01635                 PIXEL11
01636                 PIXEL12_1
01637                 PIXEL20_1L
01638                 PIXEL21_C
01639                 PIXEL22_1M
01640                 break;
01641         case 227:
01642                 PIXEL00_1L
01643                 PIXEL01_C
01644                 PIXEL02_1M
01645                 PIXEL10_1
01646                 PIXEL11
01647                 PIXEL12_1
01648                 PIXEL20_1L
01649                 PIXEL21_C
01650                 PIXEL22_1R
01651                 break;
01652         case 230:
01653                 PIXEL00_1M
01654                 PIXEL01_C
01655                 PIXEL02_1R
01656                 PIXEL10_1
01657                 PIXEL11
01658                 PIXEL12_1
01659                 PIXEL20_1L
01660                 PIXEL21_C
01661                 PIXEL22_1R
01662                 break;
01663         case 199:
01664                 PIXEL00_1L
01665                 PIXEL01_C
01666                 PIXEL02_1R
01667                 PIXEL10_1
01668                 PIXEL11
01669                 PIXEL12_1
01670                 PIXEL20_1M
01671                 PIXEL21_C
01672                 PIXEL22_1R
01673                 break;
01674         case 220:
01675                 PIXEL00_1M
01676                 PIXEL01_1
01677                 PIXEL02_1U
01678                 PIXEL10_C
01679                 PIXEL11
01680                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01681                         PIXEL20_1M
01682                 } else {
01683                         PIXEL20_2
01684                 }
01685                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01686                         PIXEL12_C
01687                         PIXEL21_C
01688                         PIXEL22_C
01689                 } else {
01690                         PIXEL12_3
01691                         PIXEL21_3
01692                         PIXEL22_4
01693                 }
01694                 break;
01695         case 158:
01696                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01697                         PIXEL00_1M
01698                 } else {
01699                         PIXEL00_2
01700                 }
01701                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01702                         PIXEL01_C
01703                         PIXEL02_C
01704                         PIXEL12_C
01705                 } else {
01706                         PIXEL01_3
01707                         PIXEL02_4
01708                         PIXEL12_3
01709                 }
01710                 PIXEL10_C
01711                 PIXEL11
01712                 PIXEL20_1M
01713                 PIXEL21_1
01714                 PIXEL22_1D
01715                 break;
01716         case 234:
01717                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01718                         PIXEL00_1M
01719                 } else {
01720                         PIXEL00_2
01721                 }
01722                 PIXEL01_C
01723                 PIXEL02_1M
01724                 PIXEL11
01725                 PIXEL12_1
01726                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01727                         PIXEL10_C
01728                         PIXEL20_C
01729                         PIXEL21_C
01730                 } else {
01731                         PIXEL10_3
01732                         PIXEL20_4
01733                         PIXEL21_3
01734                 }
01735                 PIXEL22_1R
01736                 break;
01737         case 242:
01738                 PIXEL00_1M
01739                 PIXEL01_C
01740                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01741                         PIXEL02_1M
01742                 } else {
01743                         PIXEL02_2
01744                 }
01745                 PIXEL10_1
01746                 PIXEL11
01747                 PIXEL20_1L
01748                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01749                         PIXEL12_C
01750                         PIXEL21_C
01751                         PIXEL22_C
01752                 } else {
01753                         PIXEL12_3
01754                         PIXEL21_3
01755                         PIXEL22_4
01756                 }
01757                 break;
01758         case 59:
01759                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01760                         PIXEL00_C
01761                         PIXEL01_C
01762                         PIXEL10_C
01763                 } else {
01764                         PIXEL00_4
01765                         PIXEL01_3
01766                         PIXEL10_3
01767                 }
01768                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01769                         PIXEL02_1M
01770                 } else {
01771                         PIXEL02_2
01772                 }
01773                 PIXEL11
01774                 PIXEL12_C
01775                 PIXEL20_1D
01776                 PIXEL21_1
01777                 PIXEL22_1M
01778                 break;
01779         case 121:
01780                 PIXEL00_1U
01781                 PIXEL01_1
01782                 PIXEL02_1M
01783                 PIXEL11
01784                 PIXEL12_C
01785                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01786                         PIXEL10_C
01787                         PIXEL20_C
01788                         PIXEL21_C
01789                 } else {
01790                         PIXEL10_3
01791                         PIXEL20_4
01792                         PIXEL21_3
01793                 }
01794                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01795                         PIXEL22_1M
01796                 } else {
01797                         PIXEL22_2
01798                 }
01799                 break;
01800         case 87:
01801                 PIXEL00_1L
01802                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01803                         PIXEL01_C
01804                         PIXEL02_C
01805                         PIXEL12_C
01806                 } else {
01807                         PIXEL01_3
01808                         PIXEL02_4
01809                         PIXEL12_3
01810                 }
01811                 PIXEL10_1
01812                 PIXEL11
01813                 PIXEL20_1M
01814                 PIXEL21_C
01815                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01816                         PIXEL22_1M
01817                 } else {
01818                         PIXEL22_2
01819                 }
01820                 break;
01821         case 79:
01822                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01823                         PIXEL00_C
01824                         PIXEL01_C
01825                         PIXEL10_C
01826                 } else {
01827                         PIXEL00_4
01828                         PIXEL01_3
01829                         PIXEL10_3
01830                 }
01831                 PIXEL02_1R
01832                 PIXEL11
01833                 PIXEL12_1
01834                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01835                         PIXEL20_1M
01836                 } else {
01837                         PIXEL20_2
01838                 }
01839                 PIXEL21_C
01840                 PIXEL22_1M
01841                 break;
01842         case 122:
01843                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01844                         PIXEL00_1M
01845                 } else {
01846                         PIXEL00_2
01847                 }
01848                 PIXEL01_C
01849                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01850                         PIXEL02_1M
01851                 } else {
01852                         PIXEL02_2
01853                 }
01854                 PIXEL11
01855                 PIXEL12_C
01856                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01857                         PIXEL10_C
01858                         PIXEL20_C
01859                         PIXEL21_C
01860                 } else {
01861                         PIXEL10_3
01862                         PIXEL20_4
01863                         PIXEL21_3
01864                 }
01865                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01866                         PIXEL22_1M
01867                 } else {
01868                         PIXEL22_2
01869                 }
01870                 break;
01871         case 94:
01872                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01873                         PIXEL00_1M
01874                 } else {
01875                         PIXEL00_2
01876                 }
01877                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01878                         PIXEL01_C
01879                         PIXEL02_C
01880                         PIXEL12_C
01881                 } else {
01882                         PIXEL01_3
01883                         PIXEL02_4
01884                         PIXEL12_3
01885                 }
01886                 PIXEL10_C
01887                 PIXEL11
01888                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01889                         PIXEL20_1M
01890                 } else {
01891                         PIXEL20_2
01892                 }
01893                 PIXEL21_C
01894                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01895                         PIXEL22_1M
01896                 } else {
01897                         PIXEL22_2
01898                 }
01899                 break;
01900         case 218:
01901                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01902                         PIXEL00_1M
01903                 } else {
01904                         PIXEL00_2
01905                 }
01906                 PIXEL01_C
01907                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01908                         PIXEL02_1M
01909                 } else {
01910                         PIXEL02_2
01911                 }
01912                 PIXEL10_C
01913                 PIXEL11
01914                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01915                         PIXEL20_1M
01916                 } else {
01917                         PIXEL20_2
01918                 }
01919                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01920                         PIXEL12_C
01921                         PIXEL21_C
01922                         PIXEL22_C
01923                 } else {
01924                         PIXEL12_3
01925                         PIXEL21_3
01926                         PIXEL22_4
01927                 }
01928                 break;
01929         case 91:
01930                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
01931                         PIXEL00_C
01932                         PIXEL01_C
01933                         PIXEL10_C
01934                 } else {
01935                         PIXEL00_4
01936                         PIXEL01_3
01937                         PIXEL10_3
01938                 }
01939                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
01940                         PIXEL02_1M
01941                 } else {
01942                         PIXEL02_2
01943                 }
01944                 PIXEL11
01945                 PIXEL12_C
01946                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
01947                         PIXEL20_1M
01948                 } else {
01949                         PIXEL20_2
01950                 }
01951                 PIXEL21_C
01952                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
01953                         PIXEL22_1M
01954                 } else {
01955                         PIXEL22_2
01956                 }
01957                 break;
01958         case 229:
01959                 PIXEL00_2
01960                 PIXEL01_1
01961                 PIXEL02_2
01962                 PIXEL10_1
01963                 PIXEL11
01964                 PIXEL12_1
01965                 PIXEL20_1L
01966                 PIXEL21_C
01967                 PIXEL22_1R
01968                 break;
01969         case 167:
01970                 PIXEL00_1L
01971                 PIXEL01_C
01972                 PIXEL02_1R
01973                 PIXEL10_1
01974                 PIXEL11
01975                 PIXEL12_1
01976                 PIXEL20_2
01977                 PIXEL21_1
01978                 PIXEL22_2
01979                 break;
01980         case 173:
01981                 PIXEL00_1U
01982                 PIXEL01_1
01983                 PIXEL02_2
01984                 PIXEL10_C
01985                 PIXEL11
01986                 PIXEL12_1
01987                 PIXEL20_1D
01988                 PIXEL21_1
01989                 PIXEL22_2
01990                 break;
01991         case 181:
01992                 PIXEL00_2
01993                 PIXEL01_1
01994                 PIXEL02_1U
01995                 PIXEL10_1
01996                 PIXEL11
01997                 PIXEL12_C
01998                 PIXEL20_2
01999                 PIXEL21_1
02000                 PIXEL22_1D
02001                 break;
02002         case 186:
02003                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02004                         PIXEL00_1M
02005                 } else {
02006                         PIXEL00_2
02007                 }
02008                 PIXEL01_C
02009                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02010                         PIXEL02_1M
02011                 } else {
02012                         PIXEL02_2
02013                 }
02014                 PIXEL10_C
02015                 PIXEL11
02016                 PIXEL12_C
02017                 PIXEL20_1D
02018                 PIXEL21_1
02019                 PIXEL22_1D
02020                 break;
02021         case 115:
02022                 PIXEL00_1L
02023                 PIXEL01_C
02024                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02025                         PIXEL02_1M
02026                 } else {
02027                         PIXEL02_2
02028                 }
02029                 PIXEL10_1
02030                 PIXEL11
02031                 PIXEL12_C
02032                 PIXEL20_1L
02033                 PIXEL21_C
02034                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02035                         PIXEL22_1M
02036                 } else {
02037                         PIXEL22_2
02038                 }
02039                 break;
02040         case 93:
02041                 PIXEL00_1U
02042                 PIXEL01_1
02043                 PIXEL02_1U
02044                 PIXEL10_C
02045                 PIXEL11
02046                 PIXEL12_C
02047                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02048                         PIXEL20_1M
02049                 } else {
02050                         PIXEL20_2
02051                 }
02052                 PIXEL21_C
02053                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02054                         PIXEL22_1M
02055                 } else {
02056                         PIXEL22_2
02057                 }
02058                 break;
02059         case 206:
02060                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02061                         PIXEL00_1M
02062                 } else {
02063                         PIXEL00_2
02064                 }
02065                 PIXEL01_C
02066                 PIXEL02_1R
02067                 PIXEL10_C
02068                 PIXEL11
02069                 PIXEL12_1
02070                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02071                         PIXEL20_1M
02072                 } else {
02073                         PIXEL20_2
02074                 }
02075                 PIXEL21_C
02076                 PIXEL22_1R
02077                 break;
02078         case 205:
02079         case 201:
02080                 PIXEL00_1U
02081                 PIXEL01_1
02082                 PIXEL02_2
02083                 PIXEL10_C
02084                 PIXEL11
02085                 PIXEL12_1
02086                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02087                         PIXEL20_1M
02088                 } else {
02089                         PIXEL20_2
02090                 }
02091                 PIXEL21_C
02092                 PIXEL22_1R
02093                 break;
02094         case 174:
02095         case 46:
02096                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02097                         PIXEL00_1M
02098                 } else {
02099                         PIXEL00_2
02100                 }
02101                 PIXEL01_C
02102                 PIXEL02_1R
02103                 PIXEL10_C
02104                 PIXEL11
02105                 PIXEL12_1
02106                 PIXEL20_1D
02107                 PIXEL21_1
02108                 PIXEL22_2
02109                 break;
02110         case 179:
02111         case 147:
02112                 PIXEL00_1L
02113                 PIXEL01_C
02114                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02115                         PIXEL02_1M
02116                 } else {
02117                         PIXEL02_2
02118                 }
02119                 PIXEL10_1
02120                 PIXEL11
02121                 PIXEL12_C
02122                 PIXEL20_2
02123                 PIXEL21_1
02124                 PIXEL22_1D
02125                 break;
02126         case 117:
02127         case 116:
02128                 PIXEL00_2
02129                 PIXEL01_1
02130                 PIXEL02_1U
02131                 PIXEL10_1
02132                 PIXEL11
02133                 PIXEL12_C
02134                 PIXEL20_1L
02135                 PIXEL21_C
02136                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02137                         PIXEL22_1M
02138                 } else {
02139                         PIXEL22_2
02140                 }
02141                 break;
02142         case 189:
02143                 PIXEL00_1U
02144                 PIXEL01_1
02145                 PIXEL02_1U
02146                 PIXEL10_C
02147                 PIXEL11
02148                 PIXEL12_C
02149                 PIXEL20_1D
02150                 PIXEL21_1
02151                 PIXEL22_1D
02152                 break;
02153         case 231:
02154                 PIXEL00_1L
02155                 PIXEL01_C
02156                 PIXEL02_1R
02157                 PIXEL10_1
02158                 PIXEL11
02159                 PIXEL12_1
02160                 PIXEL20_1L
02161                 PIXEL21_C
02162                 PIXEL22_1R
02163                 break;
02164         case 126:
02165                 PIXEL00_1M
02166                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02167                         PIXEL01_C
02168                         PIXEL02_C
02169                         PIXEL12_C
02170                 } else {
02171                         PIXEL01_3
02172                         PIXEL02_4
02173                         PIXEL12_3
02174                 }
02175                 PIXEL11
02176                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02177                         PIXEL10_C
02178                         PIXEL20_C
02179                         PIXEL21_C
02180                 } else {
02181                         PIXEL10_3
02182                         PIXEL20_4
02183                         PIXEL21_3
02184                 }
02185                 PIXEL22_1M
02186                 break;
02187         case 219:
02188                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02189                         PIXEL00_C
02190                         PIXEL01_C
02191                         PIXEL10_C
02192                 } else {
02193                         PIXEL00_4
02194                         PIXEL01_3
02195                         PIXEL10_3
02196                 }
02197                 PIXEL02_1M
02198                 PIXEL11
02199                 PIXEL20_1M
02200                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02201                         PIXEL12_C
02202                         PIXEL21_C
02203                         PIXEL22_C
02204                 } else {
02205                         PIXEL12_3
02206                         PIXEL21_3
02207                         PIXEL22_4
02208                 }
02209                 break;
02210         case 125:
02211                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02212                         PIXEL00_1U
02213                         PIXEL10_C
02214                         PIXEL20_C
02215                         PIXEL21_C
02216                 } else {
02217                         PIXEL00_2
02218                         PIXEL10_6
02219                         PIXEL20_5
02220                         PIXEL21_1
02221                 }
02222                 PIXEL01_1
02223                 PIXEL02_1U
02224                 PIXEL11
02225                 PIXEL12_C
02226                 PIXEL22_1M
02227                 break;
02228         case 221:
02229                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02230                         PIXEL02_1U
02231                         PIXEL12_C
02232                         PIXEL21_C
02233                         PIXEL22_C
02234                 } else {
02235                         PIXEL02_2
02236                         PIXEL12_6
02237                         PIXEL21_1
02238                         PIXEL22_5
02239                 }
02240                 PIXEL00_1U
02241                 PIXEL01_1
02242                 PIXEL10_C
02243                 PIXEL11
02244                 PIXEL20_1M
02245                 break;
02246         case 207:
02247                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02248                         PIXEL00_C
02249                         PIXEL01_C
02250                         PIXEL02_1R
02251                         PIXEL10_C
02252                 } else {
02253                         PIXEL00_5
02254                         PIXEL01_6
02255                         PIXEL02_2
02256                         PIXEL10_1
02257                 }
02258                 PIXEL11
02259                 PIXEL12_1
02260                 PIXEL20_1M
02261                 PIXEL21_C
02262                 PIXEL22_1R
02263                 break;
02264         case 238:
02265                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02266                         PIXEL10_C
02267                         PIXEL20_C
02268                         PIXEL21_C
02269                         PIXEL22_1R
02270                 } else {
02271                         PIXEL10_1
02272                         PIXEL20_5
02273                         PIXEL21_6
02274                         PIXEL22_2
02275                 }
02276                 PIXEL00_1M
02277                 PIXEL01_C
02278                 PIXEL02_1R
02279                 PIXEL11
02280                 PIXEL12_1
02281                 break;
02282         case 190:
02283                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02284                         PIXEL01_C
02285                         PIXEL02_C
02286                         PIXEL12_C
02287                         PIXEL22_1D
02288                 } else {
02289                         PIXEL01_1
02290                         PIXEL02_5
02291                         PIXEL12_6
02292                         PIXEL22_2
02293                 }
02294                 PIXEL00_1M
02295                 PIXEL10_C
02296                 PIXEL11
02297                 PIXEL20_1D
02298                 PIXEL21_1
02299                 break;
02300         case 187:
02301                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02302                         PIXEL00_C
02303                         PIXEL01_C
02304                         PIXEL10_C
02305                         PIXEL20_1D
02306                 } else {
02307                         PIXEL00_5
02308                         PIXEL01_1
02309                         PIXEL10_6
02310                         PIXEL20_2
02311                 }
02312                 PIXEL02_1M
02313                 PIXEL11
02314                 PIXEL12_C
02315                 PIXEL21_1
02316                 PIXEL22_1D
02317                 break;
02318         case 243:
02319                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02320                         PIXEL12_C
02321                         PIXEL20_1L
02322                         PIXEL21_C
02323                         PIXEL22_C
02324                 } else {
02325                         PIXEL12_1
02326                         PIXEL20_2
02327                         PIXEL21_6
02328                         PIXEL22_5
02329                 }
02330                 PIXEL00_1L
02331                 PIXEL01_C
02332                 PIXEL02_1M
02333                 PIXEL10_1
02334                 PIXEL11
02335                 break;
02336         case 119:
02337                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02338                         PIXEL00_1L
02339                         PIXEL01_C
02340                         PIXEL02_C
02341                         PIXEL12_C
02342                 } else {
02343                         PIXEL00_2
02344                         PIXEL01_6
02345                         PIXEL02_5
02346                         PIXEL12_1
02347                 }
02348                 PIXEL10_1
02349                 PIXEL11
02350                 PIXEL20_1L
02351                 PIXEL21_C
02352                 PIXEL22_1M
02353                 break;
02354         case 237:
02355         case 233:
02356                 PIXEL00_1U
02357                 PIXEL01_1
02358                 PIXEL02_2
02359                 PIXEL10_C
02360                 PIXEL11
02361                 PIXEL12_1
02362                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02363                         PIXEL20_C
02364                 } else {
02365                         PIXEL20_2
02366                 }
02367                 PIXEL21_C
02368                 PIXEL22_1R
02369                 break;
02370         case 175:
02371         case 47:
02372                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02373                         PIXEL00_C
02374                 } else {
02375                         PIXEL00_2
02376                 }
02377                 PIXEL01_C
02378                 PIXEL02_1R
02379                 PIXEL10_C
02380                 PIXEL11
02381                 PIXEL12_1
02382                 PIXEL20_1D
02383                 PIXEL21_1
02384                 PIXEL22_2
02385                 break;
02386         case 183:
02387         case 151:
02388                 PIXEL00_1L
02389                 PIXEL01_C
02390                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02391                         PIXEL02_C
02392                 } else {
02393                         PIXEL02_2
02394                 }
02395                 PIXEL10_1
02396                 PIXEL11
02397                 PIXEL12_C
02398                 PIXEL20_2
02399                 PIXEL21_1
02400                 PIXEL22_1D
02401                 break;
02402         case 245:
02403         case 244:
02404                 PIXEL00_2
02405                 PIXEL01_1
02406                 PIXEL02_1U
02407                 PIXEL10_1
02408                 PIXEL11
02409                 PIXEL12_C
02410                 PIXEL20_1L
02411                 PIXEL21_C
02412                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02413                         PIXEL22_C
02414                 } else {
02415                         PIXEL22_2
02416                 }
02417                 break;
02418         case 250:
02419                 PIXEL00_1M
02420                 PIXEL01_C
02421                 PIXEL02_1M
02422                 PIXEL11
02423                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02424                         PIXEL10_C
02425                         PIXEL20_C
02426                 } else {
02427                         PIXEL10_3
02428                         PIXEL20_4
02429                 }
02430                 PIXEL21_C
02431                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02432                         PIXEL12_C
02433                         PIXEL22_C
02434                 } else {
02435                         PIXEL12_3
02436                         PIXEL22_4
02437                 }
02438                 break;
02439         case 123:
02440                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02441                         PIXEL00_C
02442                         PIXEL01_C
02443                 } else {
02444                         PIXEL00_4
02445                         PIXEL01_3
02446                 }
02447                 PIXEL02_1M
02448                 PIXEL10_C
02449                 PIXEL11
02450                 PIXEL12_C
02451                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02452                         PIXEL20_C
02453                         PIXEL21_C
02454                 } else {
02455                         PIXEL20_4
02456                         PIXEL21_3
02457                 }
02458                 PIXEL22_1M
02459                 break;
02460         case 95:
02461                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02462                         PIXEL00_C
02463                         PIXEL10_C
02464                 } else {
02465                         PIXEL00_4
02466                         PIXEL10_3
02467                 }
02468                 PIXEL01_C
02469                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02470                         PIXEL02_C
02471                         PIXEL12_C
02472                 } else {
02473                         PIXEL02_4
02474                         PIXEL12_3
02475                 }
02476                 PIXEL11
02477                 PIXEL20_1M
02478                 PIXEL21_C
02479                 PIXEL22_1M
02480                 break;
02481         case 222:
02482                 PIXEL00_1M
02483                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02484                         PIXEL01_C
02485                         PIXEL02_C
02486                 } else {
02487                         PIXEL01_3
02488                         PIXEL02_4
02489                 }
02490                 PIXEL10_C
02491                 PIXEL11
02492                 PIXEL12_C
02493                 PIXEL20_1M
02494                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02495                         PIXEL21_C
02496                         PIXEL22_C
02497                 } else {
02498                         PIXEL21_3
02499                         PIXEL22_4
02500                 }
02501                 break;
02502         case 252:
02503                 PIXEL00_1M
02504                 PIXEL01_1
02505                 PIXEL02_1U
02506                 PIXEL11
02507                 PIXEL12_C
02508                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02509                         PIXEL10_C
02510                         PIXEL20_C
02511                 } else {
02512                         PIXEL10_3
02513                         PIXEL20_4
02514                 }
02515                 PIXEL21_C
02516                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02517                         PIXEL22_C
02518                 } else {
02519                         PIXEL22_2
02520                 }
02521                 break;
02522         case 249:
02523                 PIXEL00_1U
02524                 PIXEL01_1
02525                 PIXEL02_1M
02526                 PIXEL10_C
02527                 PIXEL11
02528                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02529                         PIXEL20_C
02530                 } else {
02531                         PIXEL20_2
02532                 }
02533                 PIXEL21_C
02534                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02535                         PIXEL12_C
02536                         PIXEL22_C
02537                 } else {
02538                         PIXEL12_3
02539                         PIXEL22_4
02540                 }
02541                 break;
02542         case 235:
02543                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02544                         PIXEL00_C
02545                         PIXEL01_C
02546                 } else {
02547                         PIXEL00_4
02548                         PIXEL01_3
02549                 }
02550                 PIXEL02_1M
02551                 PIXEL10_C
02552                 PIXEL11
02553                 PIXEL12_1
02554                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02555                         PIXEL20_C
02556                 } else {
02557                         PIXEL20_2
02558                 }
02559                 PIXEL21_C
02560                 PIXEL22_1R
02561                 break;
02562         case 111:
02563                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02564                         PIXEL00_C
02565                 } else {
02566                         PIXEL00_2
02567                 }
02568                 PIXEL01_C
02569                 PIXEL02_1R
02570                 PIXEL10_C
02571                 PIXEL11
02572                 PIXEL12_1
02573                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02574                         PIXEL20_C
02575                         PIXEL21_C
02576                 } else {
02577                         PIXEL20_4
02578                         PIXEL21_3
02579                 }
02580                 PIXEL22_1M
02581                 break;
02582         case 63:
02583                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02584                         PIXEL00_C
02585                 } else {
02586                         PIXEL00_2
02587                 }
02588                 PIXEL01_C
02589                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02590                         PIXEL02_C
02591                         PIXEL12_C
02592                 } else {
02593                         PIXEL02_4
02594                         PIXEL12_3
02595                 }
02596                 PIXEL10_C
02597                 PIXEL11
02598                 PIXEL20_1D
02599                 PIXEL21_1
02600                 PIXEL22_1M
02601                 break;
02602         case 159:
02603                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02604                         PIXEL00_C
02605                         PIXEL10_C
02606                 } else {
02607                         PIXEL00_4
02608                         PIXEL10_3
02609                 }
02610                 PIXEL01_C
02611                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02612                         PIXEL02_C
02613                 } else {
02614                         PIXEL02_2
02615                 }
02616                 PIXEL11
02617                 PIXEL12_C
02618                 PIXEL20_1M
02619                 PIXEL21_1
02620                 PIXEL22_1D
02621                 break;
02622         case 215:
02623                 PIXEL00_1L
02624                 PIXEL01_C
02625                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02626                         PIXEL02_C
02627                 } else {
02628                         PIXEL02_2
02629                 }
02630                 PIXEL10_1
02631                 PIXEL11
02632                 PIXEL12_C
02633                 PIXEL20_1M
02634                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02635                         PIXEL21_C
02636                         PIXEL22_C
02637                 } else {
02638                         PIXEL21_3
02639                         PIXEL22_4
02640                 }
02641                 break;
02642         case 246:
02643                 PIXEL00_1M
02644                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02645                         PIXEL01_C
02646                         PIXEL02_C
02647                 } else {
02648                         PIXEL01_3
02649                         PIXEL02_4
02650                 }
02651                 PIXEL10_1
02652                 PIXEL11
02653                 PIXEL12_C
02654                 PIXEL20_1L
02655                 PIXEL21_C
02656                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02657                         PIXEL22_C
02658                 } else {
02659                         PIXEL22_2
02660                 }
02661                 break;
02662         case 254:
02663                 PIXEL00_1M
02664                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02665                         PIXEL01_C
02666                         PIXEL02_C
02667                 } else {
02668                         PIXEL01_3
02669                         PIXEL02_4
02670                 }
02671                 PIXEL11
02672                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02673                         PIXEL10_C
02674                         PIXEL20_C
02675                 } else {
02676                         PIXEL10_3
02677                         PIXEL20_4
02678                 }
02679                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02680                         PIXEL12_C
02681                         PIXEL21_C
02682                         PIXEL22_C
02683                 } else {
02684                         PIXEL12_3
02685                         PIXEL21_3
02686                         PIXEL22_2
02687                 }
02688                 break;
02689         case 253:
02690                 PIXEL00_1U
02691                 PIXEL01_1
02692                 PIXEL02_1U
02693                 PIXEL10_C
02694                 PIXEL11
02695                 PIXEL12_C
02696                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02697                         PIXEL20_C
02698                 } else {
02699                         PIXEL20_2
02700                 }
02701                 PIXEL21_C
02702                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02703                         PIXEL22_C
02704                 } else {
02705                         PIXEL22_2
02706                 }
02707                 break;
02708         case 251:
02709                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02710                         PIXEL00_C
02711                         PIXEL01_C
02712                 } else {
02713                         PIXEL00_4
02714                         PIXEL01_3
02715                 }
02716                 PIXEL02_1M
02717                 PIXEL11
02718                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02719                         PIXEL10_C
02720                         PIXEL20_C
02721                         PIXEL21_C
02722                 } else {
02723                         PIXEL10_3
02724                         PIXEL20_2
02725                         PIXEL21_3
02726                 }
02727                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02728                         PIXEL12_C
02729                         PIXEL22_C
02730                 } else {
02731                         PIXEL12_3
02732                         PIXEL22_4
02733                 }
02734                 break;
02735         case 239:
02736                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02737                         PIXEL00_C
02738                 } else {
02739                         PIXEL00_2
02740                 }
02741                 PIXEL01_C
02742                 PIXEL02_1R
02743                 PIXEL10_C
02744                 PIXEL11
02745                 PIXEL12_1
02746                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02747                         PIXEL20_C
02748                 } else {
02749                         PIXEL20_2
02750                 }
02751                 PIXEL21_C
02752                 PIXEL22_1R
02753                 break;
02754         case 127:
02755                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02756                         PIXEL00_C
02757                         PIXEL01_C
02758                         PIXEL10_C
02759                 } else {
02760                         PIXEL00_2
02761                         PIXEL01_3
02762                         PIXEL10_3
02763                 }
02764                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02765                         PIXEL02_C
02766                         PIXEL12_C
02767                 } else {
02768                         PIXEL02_4
02769                         PIXEL12_3
02770                 }
02771                 PIXEL11
02772                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02773                         PIXEL20_C
02774                         PIXEL21_C
02775                 } else {
02776                         PIXEL20_4
02777                         PIXEL21_3
02778                 }
02779                 PIXEL22_1M
02780                 break;
02781         case 191:
02782                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02783                         PIXEL00_C
02784                 } else {
02785                         PIXEL00_2
02786                 }
02787                 PIXEL01_C
02788                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02789                         PIXEL02_C
02790                 } else {
02791                         PIXEL02_2
02792                 }
02793                 PIXEL10_C
02794                 PIXEL11
02795                 PIXEL12_C
02796                 PIXEL20_1D
02797                 PIXEL21_1
02798                 PIXEL22_1D
02799                 break;
02800         case 223:
02801                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02802                         PIXEL00_C
02803                         PIXEL10_C
02804                 } else {
02805                         PIXEL00_4
02806                         PIXEL10_3
02807                 }
02808                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02809                         PIXEL01_C
02810                         PIXEL02_C
02811                         PIXEL12_C
02812                 } else {
02813                         PIXEL01_3
02814                         PIXEL02_2
02815                         PIXEL12_3
02816                 }
02817                 PIXEL11
02818                 PIXEL20_1M
02819                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02820                         PIXEL21_C
02821                         PIXEL22_C
02822                 } else {
02823                         PIXEL21_3
02824                         PIXEL22_4
02825                 }
02826                 break;
02827         case 247:
02828                 PIXEL00_1L
02829                 PIXEL01_C
02830                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02831                         PIXEL02_C
02832                 } else {
02833                         PIXEL02_2
02834                 }
02835                 PIXEL10_1
02836                 PIXEL11
02837                 PIXEL12_C
02838                 PIXEL20_1L
02839                 PIXEL21_C
02840                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02841                         PIXEL22_C
02842                 } else {
02843                         PIXEL22_2
02844                 }
02845                 break;
02846         case 255:
02847                 if (diffYUV(RGBtoYUV(C3), RGBtoYUV(C1))) {
02848                         PIXEL00_C
02849                 } else {
02850                         PIXEL00_2
02851                 }
02852                 PIXEL01_C
02853                 if (diffYUV(RGBtoYUV(C1), RGBtoYUV(C5))) {
02854                         PIXEL02_C
02855                 } else {
02856                         PIXEL02_2
02857                 }
02858                 PIXEL10_C
02859                 PIXEL11
02860                 PIXEL12_C
02861                 if (diffYUV(RGBtoYUV(C7), RGBtoYUV(C3))) {
02862                         PIXEL20_C
02863                 } else {
02864                         PIXEL20_2
02865                 }
02866                 PIXEL21_C
02867                 if (diffYUV(RGBtoYUV(C5), RGBtoYUV(C7))) {
02868                         PIXEL22_C
02869                 } else {
02870                         PIXEL22_2
02871                 }
02872                 break;
02873         }
02874 }
02875 
02876 #undef RGBtoYUV