#define AKIKO_DEBUG_NVRAM 0
#define AKIKO_DEBUG_IO 0
-#define AKIKO_DEBUG_IO_CMD 1
+#define AKIKO_DEBUG_IO_CMD 0
static void irq(void)
{
return 1;
}
+ for (i = 0; i < MAX_FILESYSTEM_UNITS; i++) {
+ char tmp[100];
+ sprintf (tmp, "uaehf%d", i);
+ if (strcmp (option, tmp) == 0)
+ return 1;
+ }
+
if (strcmp (option, "filesystem") == 0
|| strcmp (option, "hardfile") == 0)
{
return 1;
if (currprefs.gfxmem_size)
return 1;
+ if (currprefs.win32_automount_removable)
+ return 1;
if (currprefs.chipmem_size > 2 * 1024 * 1024)
return 1;
return 0;
int devno;
int controller;
int wasisempty; /* if true, this unit can be safely ejected and inserted */
+ int configureddrive; /* if true, this is drive that was manually configured */
struct hardfiledata hf;
mi->ismounted = 1;
if (uci->rootdir && strlen(uci->rootdir) == 0)
return FILESYS_VIRTUAL;
- if (my_existsfile (uci->rootdir))
+ if (my_existsfile (uci->rootdir)) {
+ mi->ismedia = 1;
return FILESYS_VIRTUAL;
+ }
if (my_getvolumeinfo (uci->rootdir) < 0)
return -1;
+ mi->ismedia = 1;
return FILESYS_VIRTUAL;
} else {
ui->hf.readonly = 1;
ui->hf.blocksize = uci->blocksize;
if (!hdf_open (&ui->hf, uci->rootdir)) {
+ mi->ismedia = 0;
+ mi->ismounted = 1;
if (uci->reserved == 0 && uci->sectors == 0 && uci->surfaces == 0) {
if (ui->hf.flags & 1)
return FILESYS_HARDDRIVE;
}
return -1;
}
+ mi->ismedia = 1;
+ if (ui->hf.drive_empty)
+ mi->ismedia = 0;
hdf_close (&ui->hf);
}
} else {
- if (!ui->controller || (ui->controller && p->cs_ide))
+ if (!ui->controller || (ui->controller && p->cs_ide)) {
mi->ismounted = 1;
+ if (uci->ishdf)
+ mi->ismedia = ui->hf.drive_empty ? 0 : 1;
+ else
+ mi->ismedia = 1;
+ }
}
mi->size = ui->hf.size;
mi->nrcyls = (int)(uci->sectors * uci->surfaces ? (ui->hf.size / uci->blocksize) / (uci->sectors * uci->surfaces) : 0);
else
nvol = my_strdup (def);
}
- if (!nvol)
- nvol = my_strdup ("");
+ if (!nvol) {
+ if (volname && strlen (volname))
+ nvol = my_strdup (volname);
+ else
+ nvol = my_strdup ("");
+ }
stripsemicolon(nvol);
xfree (p);
return nvol;
if (set_filesys_volume (rootdir, &flags, &readonly, &emptydrive, &ui->zarchive) < 0)
return -1;
}
- if (!emptydrive) {
+ //if (!emptydrive) {
ui->volname = filesys_createvolname (volname, rootdir, "harddrive");
- }
+ //}
ui->volflags = flags;
} else {
ui->hf.secspertrack = secspertrack;
hdf_open (&ui->hf, rootdir);
}
ui->hf.readonly = readonly;
- if (ui->hf.handle_valid == 0) {
- write_log ("Hardfile %s not found\n", ui->hf.device_name);
- goto err;
- }
- if ((ui->hf.blocksize & (ui->hf.blocksize - 1)) != 0 || ui->hf.blocksize == 0) {
- write_log ("Hardfile %s bad blocksize\n", ui->hf.device_name);
- goto err;
- }
- if ((ui->hf.secspertrack || ui->hf.surfaces || ui->hf.reservedblocks) &&
- (ui->hf.secspertrack < 1 || ui->hf.surfaces < 1 || ui->hf.surfaces > 1023 ||
- ui->hf.reservedblocks < 0 || ui->hf.reservedblocks > 1023) != 0) {
- write_log ("Hardfile %s bad hardfile geometry\n", ui->hf.device_name);
+ if (!ui->hf.drive_empty) {
+ if (ui->hf.handle_valid == 0) {
+ write_log ("Hardfile %s not found\n", ui->hf.device_name);
goto err;
+ }
+ if ((ui->hf.blocksize & (ui->hf.blocksize - 1)) != 0 || ui->hf.blocksize == 0) {
+ write_log ("Hardfile %s bad blocksize\n", ui->hf.device_name);
+ goto err;
+ }
+ if ((ui->hf.secspertrack || ui->hf.surfaces || ui->hf.reservedblocks) &&
+ (ui->hf.secspertrack < 1 || ui->hf.surfaces < 1 || ui->hf.surfaces > 1023 ||
+ ui->hf.reservedblocks < 0 || ui->hf.reservedblocks > 1023) != 0) {
+ write_log ("Hardfile %s bad hardfile geometry\n", ui->hf.device_name);
+ goto err;
+ }
+ if (ui->hf.blocksize > ui->hf.size || ui->hf.size == 0) {
+ write_log ("Hardfile %s too small\n", ui->hf.device_name);
+ goto err;
+ }
+ ui->hf.nrcyls = (int)(ui->hf.secspertrack * ui->hf.surfaces ? (ui->hf.size / ui->hf.blocksize) / (ui->hf.secspertrack * ui->hf.surfaces) : 0);
}
- if (ui->hf.blocksize > ui->hf.size || ui->hf.size == 0) {
- write_log ("Hardfile %s Hardfile too small\n", ui->hf.device_name);
- goto err;
- }
- ui->hf.nrcyls = (int)(ui->hf.secspertrack * ui->hf.surfaces ? (ui->hf.size / ui->hf.blocksize) / (ui->hf.secspertrack * ui->hf.surfaces) : 0);
}
ui->self = 0;
ui->reset_state = FS_STARTUP;
idx = set_filesys_unit_1 (-1, uci->devname, uci->ishdf ? NULL : uci->volname, uci->rootdir,
uci->readonly, uci->sectors, uci->surfaces, uci->reserved,
uci->blocksize, uci->bootpri, uci->filesys, 0, 0);
- if (idx >= 0)
+ if (idx >= 0) {
+ UnitInfo *ui;
uci->configoffset = idx;
- } else if (uci->controller <= HD_CONTROLLER_IDE3 ) {
+ ui = &mountinfo.ui[idx];
+ ui->configureddrive = 1;
+ }
+ } else if (uci->controller <= HD_CONTROLLER_IDE3 ) {
gayle_add_ide_unit (uci->controller - HD_CONTROLLER_IDE0, uci->rootdir, uci->blocksize, uci->readonly,
uci->devname, uci->sectors, uci->surfaces, uci->reserved,
uci->bootpri, uci->filesys);
}
}
-
int filesys_media_change (char *rootdir, int inserted)
{
Unit *u;
int nr = -1;
char volname[MAX_DPATH], *volptr;
+ if (!mountertask)
+ return 0;
if (automountunit >= 0)
return -1;
nr = -1;
}
}
}
+ ui = NULL;
+ if (nr >= 0)
+ ui = &mountinfo.ui[nr];
+ /* only configured drives have automount support if automount is disabled */
+ if (!currprefs.win32_automount_removable && (!ui || !ui->configureddrive))
+ return 0;
if (nr < 0 && !inserted)
return 0;
/* already mounted volume was ejected? */
volptr = volname;
if (!volname[0])
volptr = NULL;
+ if (ui && ui->configureddrive && ui->volname) {
+ volptr = volname;
+ strcpy (volptr, ui->volname);
+ }
/* new volume inserted and it was previously mounted? */
if (nr >= 0) {
if (!filesys_isvolume (u)) /* not going to mount twice */
return 0;
}
+int hardfile_remount (int nr)
+{
+ /* this does work but every media reinsert duplicates the device.. */
+#if 0
+ if (!mountertask)
+ return 0;
+ automountunit = nr;
+ uae_Signal (mountertask, 1 << 17);
+#endif
+ return 1;
+}
+
int filesys_insert (int nr, char *volume, char *rootdir, int readonly, int flags)
{
struct uaedev_config_info *uci;
}
-#if 1
-
static int exalldo (uaecptr exalldata, uae_u32 exalldatasize, uae_u32 type, uaecptr control, Unit *unit, a_inode *aino)
{
uaecptr exp = exalldata;
ok = 0;
- write_log ("exall: %08x %08x-%08x %d %d %08x\n", lock, exalldata, exalldata + exalldatasize, exalldatasize, type, control);
- write_log ("exall: MatchString %08x, MatchFunc %08x\n", get_long (control + 8), get_long (control + 12));
+ //write_log ("exall: %08x %08x-%08x %d %d %08x\n", lock, exalldata, exalldata + exalldatasize, exalldatasize, type, control);
+ //write_log ("exall: MatchString %08x, MatchFunc %08x\n", get_long (control + 8), get_long (control + 12));
put_long (control + 0, 0); /* eac_Entries */
exp = get_long (exp); /* ed_Next */
i--;
}
- write_log("ok=%d, err=%d, eac_Entries = %d\n", ok, ok ? -1 : doserr, get_long (control + 0));
+ //write_log("ok=%d, err=%d, eac_Entries = %d\n", ok, ok ? -1 : doserr, get_long (control + 0));
if (!ok) {
PUT_PCK_RES1 (packet, DOS_FALSE);
}
return 1;
}
-#endif
static void action_examine_object (Unit *unit, dpacket packet)
{
ret = automountunit;
automountunit = -1;
break;
+ case 3:
return 0;
}
return ret;
int oldversion, oldrevision;
int newversion, newrevision;
+ if (hfd->drive_empty) {
+ rdbmnt
+ write_log ("ignored, drive is empty\n");
+ return -2;
+ }
if (hfd->blocksize == 0) {
rdbmnt
write_log ("failed, blocksize == 0\n");
}
if (!(flags & 1)) /* not bootable */
- m68k_dreg (®s, 7) = 0;
+ m68k_dreg (®s, 7) = m68k_dreg (®s, 7) & ~1;
buf[37 + buf[36]] = 0; /* zero terminate BSTR */
uip->rdb_devname_amiga[partnum] = ds (device_dupfix (get_long (parmpacket + PP_EXPLIB), buf + 37));
db(0x00); db(0x00); db(0x00); db(0x10); db(0x00); db(0x00); db(0x00); db(0x00);
- db(0x60); db(0x00); db(0x08); db(0x50); db(0x00); db(0x00); db(0x06); db(0xb8);
- db(0x00); db(0x00); db(0x00); db(0x34); db(0x00); db(0x00); db(0x01); db(0x58);
- db(0x00); db(0x00); db(0x00); db(0x20); db(0x00); db(0x00); db(0x02); db(0x14);
- db(0x00); db(0x00); db(0x0a); db(0x84); db(0x00); db(0x00); db(0x0c); db(0x18);
- db(0x43); db(0xfa); db(0x0d); db(0xee); db(0x4e); db(0xae); db(0xff); db(0xa0);
+ db(0x60); db(0x00); db(0x09); db(0x50); db(0x00); db(0x00); db(0x07); db(0x26);
+ db(0x00); db(0x00); db(0x00); db(0x34); db(0x00); db(0x00); db(0x01); db(0x68);
+ db(0x00); db(0x00); db(0x00); db(0x20); db(0x00); db(0x00); db(0x02); db(0x24);
+ db(0x00); db(0x00); db(0x0b); db(0x84); db(0x00); db(0x00); db(0x0d); db(0x1c);
+ db(0x43); db(0xfa); db(0x0e); db(0xf2); db(0x4e); db(0xae); db(0xff); db(0xa0);
db(0x20); db(0x40); db(0x20); db(0x28); db(0x00); db(0x16); db(0x20); db(0x40);
db(0x4e); db(0x90); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0xff); db(0xfe);
db(0x2c); db(0x78); db(0x00); db(0x04); db(0x30); db(0x3c); db(0xff); db(0xfc);
- db(0x61); db(0x00); db(0x0a); db(0x32); db(0x2a); db(0x50); db(0x43); db(0xfa);
- db(0x0d); db(0xe6); db(0x70); db(0x24); db(0x7a); db(0x00); db(0x4e); db(0xae);
+ db(0x61); db(0x00); db(0x0b); db(0x32); db(0x2a); db(0x50); db(0x43); db(0xfa);
+ db(0x0e); db(0xea); db(0x70); db(0x24); db(0x7a); db(0x01); db(0x4e); db(0xae);
db(0xfd); db(0xd8); db(0x4a); db(0x80); db(0x66); db(0x0c); db(0x43); db(0xfa);
- db(0x0d); db(0xd6); db(0x70); db(0x00); db(0x7a); db(0x01); db(0x4e); db(0xae);
- db(0xfd); db(0xd8); db(0x28); db(0x40); db(0x20); db(0x3c); db(0x00); db(0x00);
- db(0x02); db(0x2c); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
- db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x26); db(0x40); db(0x27); db(0x4c);
- db(0x01); db(0x9c); db(0x7c); db(0x00); db(0xbc); db(0xad); db(0x01); db(0x0c);
- db(0x64); db(0x24); db(0x2f); db(0x06); db(0x7e); db(0x01); db(0x2f); db(0x0b);
- db(0x20); db(0x4b); db(0x61); db(0x00); db(0x06); db(0x2c); db(0x26); db(0x5f);
- db(0x0c); db(0x80); db(0xff); db(0xff); db(0xff); db(0xfe); db(0x67); db(0x08);
- db(0x48); db(0x46); db(0x52); db(0x46); db(0x48); db(0x46); db(0x60); db(0xe4);
- db(0x2c); db(0x1f); db(0x52); db(0x46); db(0x60); db(0xd6); db(0x2c); db(0x78);
- db(0x00); db(0x04); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x62);
- db(0x30); db(0x3c); db(0xff); db(0x80); db(0x61); db(0x00); db(0x09); db(0xbe);
- db(0x4e); db(0x90); db(0x72); db(0x03); db(0x74); db(0xf6); db(0x20); db(0x7c);
- db(0x00); db(0x20); db(0x00); db(0x00); db(0x90); db(0x88); db(0x65); db(0x0a);
- db(0x67); db(0x08); db(0x78); db(0x00); db(0x22); db(0x44); db(0x4e); db(0xae);
- db(0xfd); db(0x96); db(0x41); db(0xfa); db(0x0d); db(0x10); db(0x43); db(0xfa);
- db(0x00); db(0x1c); db(0x70); db(0x0a); db(0x61); db(0x00); db(0x0a); db(0xde);
- db(0x22); db(0x40); db(0x72); db(0x01); db(0x30); db(0x3c); db(0xff); db(0x48);
- db(0x61); db(0x00); db(0x09); db(0x8a); db(0x4e); db(0x90); db(0x4c); db(0xdf);
- db(0x7f); db(0xff); db(0x4e); db(0x75); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x70); db(0x00); db(0x08); db(0xc0); db(0x00); db(0x11); db(0x4e); db(0xae);
- db(0xfe); db(0xc2); db(0x43); db(0xfa); db(0x0d); db(0x0c); db(0x70); db(0x00);
- db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x4a); db(0x80); db(0x67); db(0xe4);
- db(0x2c); db(0x40); db(0x41); db(0xfa); db(0x0c); db(0xe3); db(0x22); db(0x08);
- db(0x74); db(0x0f); db(0x41); db(0xfa); db(0x00); db(0x20); db(0x26); db(0x08);
- db(0xe4); db(0x8b); db(0x28); db(0x3c); db(0x00); db(0x00); db(0x1f); db(0x40);
- db(0x4e); db(0xae); db(0xff); db(0x76); db(0x22); db(0x4e); db(0x2c); db(0x78);
- db(0x00); db(0x04); db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x60); db(0xbc);
+ db(0x0e); db(0xda); db(0x70); db(0x00); db(0x7a); db(0x00); db(0x4e); db(0xae);
+ db(0xfd); db(0xd8); db(0x28); db(0x40); db(0x4a); db(0xad); db(0x01); db(0x0c);
+ db(0x67); db(0x4a); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x02); db(0x2c);
+ db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
+ db(0xff); db(0x3a); db(0x26); db(0x40); db(0x27); db(0x4c); db(0x01); db(0x9c);
+ db(0x7c); db(0x00); db(0xbc); db(0xad); db(0x01); db(0x0c); db(0x64); db(0x2c);
+ db(0x2f); db(0x06); db(0x7e); db(0x01); db(0x4a); db(0x45); db(0x67); db(0x04);
+ db(0x08); db(0xc7); db(0x00); db(0x02); db(0x2f); db(0x0b); db(0x20); db(0x4b);
+ db(0x61); db(0x00); db(0x06); db(0x8c); db(0x26); db(0x5f); db(0x0c); db(0x80);
+ db(0xff); db(0xff); db(0xff); db(0xfe); db(0x67); db(0x08); db(0x48); db(0x46);
+ db(0x52); db(0x46); db(0x48); db(0x46); db(0x60); db(0xdc); db(0x2c); db(0x1f);
+ db(0x52); db(0x46); db(0x60); db(0xce); db(0x2c); db(0x78); db(0x00); db(0x04);
+ db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x30); db(0x3c);
+ db(0xff); db(0x80); db(0x61); db(0x00); db(0x0a); db(0xb0); db(0x4e); db(0x90);
+ db(0x72); db(0x03); db(0x74); db(0xf6); db(0x20); db(0x7c); db(0x00); db(0x20);
+ db(0x00); db(0x00); db(0x90); db(0x88); db(0x65); db(0x0a); db(0x67); db(0x08);
+ db(0x78); db(0x00); db(0x22); db(0x44); db(0x4e); db(0xae); db(0xfd); db(0x96);
+ db(0x41); db(0xfa); db(0x0e); db(0x06); db(0x43); db(0xfa); db(0x00); db(0x1c);
+ db(0x70); db(0x0a); db(0x61); db(0x00); db(0x0b); db(0xd0); db(0x22); db(0x40);
+ db(0x72); db(0x01); db(0x30); db(0x3c); db(0xff); db(0x48); db(0x61); db(0x00);
+ db(0x0a); db(0x7c); db(0x4e); db(0x90); db(0x4c); db(0xdf); db(0x7f); db(0xff);
+ db(0x4e); db(0x75); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x70); db(0x00);
+ db(0x08); db(0xc0); db(0x00); db(0x11); db(0x4e); db(0xae); db(0xfe); db(0xc2);
+ db(0x43); db(0xfa); db(0x0e); db(0x02); db(0x70); db(0x00); db(0x4e); db(0xae);
+ db(0xfd); db(0xd8); db(0x4a); db(0x80); db(0x67); db(0xe4); db(0x2c); db(0x40);
+ db(0x41); db(0xfa); db(0x0d); db(0xd9); db(0x22); db(0x08); db(0x74); db(0x0f);
+ db(0x41); db(0xfa); db(0x00); db(0x22); db(0x26); db(0x08); db(0xe4); db(0x8b);
+ db(0x28); db(0x3c); db(0x00); db(0x00); db(0x1f); db(0x40); db(0x4e); db(0xae);
+ db(0xff); db(0x76); db(0x22); db(0x4e); db(0x2c); db(0x78); db(0x00); db(0x04);
+ db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x60); db(0xbc); db(0x00); db(0x00);
db(0x00); db(0x00); db(0x00); db(0x10); db(0x00); db(0x00); db(0x00); db(0x00);
db(0x72); db(0x02); db(0x30); db(0x3c); db(0xff); db(0x48); db(0x61); db(0x00);
- db(0x09); db(0x2c); db(0x4e); db(0x90); db(0x22); db(0x00); db(0x6b); db(0x04);
- db(0x61); db(0x00); db(0x06); db(0xb8); db(0x70); db(0x00); db(0x4e); db(0x75);
+ db(0x0a); db(0x1c); db(0x4e); db(0x90); db(0x22); db(0x00); db(0x6b); db(0x04);
+ db(0x61); db(0x00); db(0x07); db(0x88); db(0x70); db(0x00); db(0x4e); db(0x75);
db(0x48); db(0xe7); db(0x00); db(0x20); db(0x30); db(0x3c); db(0xff); db(0x50);
- db(0x61); db(0x00); db(0x09); db(0x12); db(0x70); db(0x00); db(0x4e); db(0x90);
+ db(0x61); db(0x00); db(0x0a); db(0x02); db(0x70); db(0x00); db(0x4e); db(0x90);
db(0x4a); db(0x80); db(0x67); db(0x00); db(0x00); db(0xa2); db(0x2c); db(0x78);
db(0x00); db(0x04); db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00);
- db(0x08); db(0xfc); db(0x70); db(0x02); db(0x4e); db(0x90); db(0x0c); db(0x40);
+ db(0x09); db(0xec); db(0x70); db(0x02); db(0x4e); db(0x90); db(0x0c); db(0x40);
db(0x00); db(0x01); db(0x6d); db(0x00); db(0x00); db(0x7c); db(0x6e); db(0x06);
db(0x4e); db(0xae); db(0xfe); db(0x92); db(0x60); db(0xe4); db(0x0c); db(0x40);
db(0x00); db(0x02); db(0x6e); db(0x08); db(0x20); db(0x01); db(0x4e); db(0xae);
db(0x35); db(0x7c); db(0x12); db(0x34); db(0x00); db(0x18); db(0x25); db(0x49);
db(0x00); db(0x1a); db(0x20); db(0x69); db(0x00); db(0x10); db(0x22); db(0x4a);
db(0x4e); db(0xae); db(0xfe); db(0x92); db(0x60); db(0x00); db(0xff); db(0x74);
- db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00); db(0x08); db(0x6e);
+ db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00); db(0x09); db(0x5e);
db(0x70); db(0x04); db(0x4e); db(0x90); db(0x70); db(0x01); db(0x4c); db(0xdf);
db(0x04); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0xc0); db(0xc0);
db(0x70); db(0x1a); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x22); db(0x40); db(0x41); db(0xfa);
- db(0x0b); db(0xad); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x41); db(0xfa);
+ db(0x0c); db(0xa1); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x41); db(0xfa);
db(0xff); db(0x28); db(0x23); db(0x48); db(0x00); db(0x0e); db(0x41); db(0xfa);
db(0xff); db(0x20); db(0x23); db(0x48); db(0x00); db(0x12); db(0x33); db(0x7c);
db(0x02); db(0x14); db(0x00); db(0x08); db(0x70); db(0x03); db(0x4e); db(0xae);
db(0x43); db(0xeb); db(0x01); db(0xa0); db(0x11); db(0xb1); db(0x00); db(0x00);
db(0x00); db(0x0e); db(0x52); db(0x40); db(0x0c); db(0x40); db(0x00); db(0x8c);
db(0x66); db(0xf2); db(0x20); db(0x0a); db(0xe4); db(0x88); db(0x21); db(0x40);
- db(0x00); db(0x36); db(0x22); db(0x48); db(0x41); db(0xfa); db(0x0b); db(0x47);
+ db(0x00); db(0x36); db(0x22); db(0x48); db(0x41); db(0xfa); db(0x0c); db(0x3b);
db(0x23); db(0x48); db(0x00); db(0x0a); db(0x20); db(0x6b); db(0x01); db(0x98);
db(0x41); db(0xe8); db(0x00); db(0x12); db(0x4e); db(0xae); db(0xff); db(0x10);
db(0x4c); db(0xdf); db(0x4f); db(0x03); db(0x4e); db(0x75); db(0x48); db(0xe7);
db(0x48); db(0xe7); db(0x40); db(0xe2); db(0x2c); db(0x78); db(0x00); db(0x04);
db(0x41); db(0xee); db(0x01); db(0x50); db(0x20); db(0x50); db(0x4a); db(0x90);
db(0x67); db(0x1a); db(0x22); db(0x68); db(0x00); db(0x0a); db(0x45); db(0xfa);
- db(0x0a); db(0x88); db(0x10); db(0x19); db(0x12); db(0x1a); db(0xb0); db(0x01);
+ db(0x0b); db(0x7c); db(0x10); db(0x19); db(0x12); db(0x1a); db(0xb0); db(0x01);
db(0x66); db(0x06); db(0x4a); db(0x00); db(0x67); db(0x42); db(0x60); db(0xf2);
db(0x20); db(0x50); db(0x60); db(0xe2); db(0x70); db(0x20); db(0x22); db(0x3c);
db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
db(0x24); db(0x40); db(0x15); db(0x7c); db(0x00); db(0x08); db(0x00); db(0x08);
- db(0x41); db(0xfa); db(0x0a); db(0x5e); db(0x25); db(0x48); db(0x00); db(0x0a);
- db(0x41); db(0xfa); db(0x09); db(0xeb); db(0x25); db(0x48); db(0x00); db(0x0e);
+ db(0x41); db(0xfa); db(0x0b); db(0x52); db(0x25); db(0x48); db(0x00); db(0x0a);
+ db(0x41); db(0xfa); db(0x0a); db(0xdf); db(0x25); db(0x48); db(0x00); db(0x0e);
db(0x41); db(0xea); db(0x00); db(0x12); db(0x20); db(0x88); db(0x58); db(0x90);
db(0x21); db(0x48); db(0x00); db(0x08); db(0x41); db(0xee); db(0x01); db(0x50);
db(0x22); db(0x4a); db(0x4e); db(0xae); db(0xff); db(0x0a); db(0x20); db(0x4a);
db(0x20); db(0x08); db(0x4c); db(0xdf); db(0x47); db(0x02); db(0x4e); db(0x75);
db(0x48); db(0xe7); db(0x01); db(0x02); db(0x2e); db(0x00); db(0x4a); db(0x2b);
- db(0x00); db(0x4c); db(0x67); db(0x7a); db(0x2c); db(0x6b); db(0x00); db(0xa0);
+ db(0x00); db(0x4c); db(0x67); db(0x7c); db(0x2c); db(0x6b); db(0x00); db(0xa0);
db(0x0c); db(0x6e); db(0x00); db(0x25); db(0x00); db(0x14); db(0x65); db(0x3e);
db(0x72); db(0x0e); db(0x4e); db(0xae); db(0xfd); db(0x66); db(0x02); db(0x80);
- db(0xff); db(0xff); db(0xff); db(0xfe); db(0x67); db(0x60); db(0x08); db(0x07);
+ db(0xff); db(0xff); db(0xff); db(0xfe); db(0x67); db(0x62); db(0x08); db(0x07);
db(0x00); db(0x00); db(0x67); db(0x0a); db(0x41); db(0xeb); db(0x00); db(0x20);
db(0x22); db(0x08); db(0x4e); db(0xae); db(0xfd); db(0x5a); db(0x08); db(0x07);
db(0x00); db(0x01); db(0x67); db(0x12); db(0x4a); db(0x2b); db(0x00); db(0x9e);
db(0x66); db(0x0c); db(0x50); db(0xeb); db(0x00); db(0x9e); db(0x22); db(0x2b);
db(0x00); db(0xb4); db(0x4e); db(0xae); db(0xfd); db(0x5a); db(0x72); db(0x0e);
- db(0x4e); db(0xae); db(0xfd); db(0x6c); db(0x60); db(0x30); db(0x2c); db(0x78);
- db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x20); db(0x6b);
- db(0x00); db(0xa0); db(0x20); db(0x68); db(0x00); db(0x22); db(0xd1); db(0xc8);
- db(0xd1); db(0xc8); db(0x20); db(0x68); db(0x00); db(0x18); db(0xd1); db(0xc8);
- db(0xd1); db(0xc8); db(0x43); db(0xeb); db(0x00); db(0x20); db(0x22); db(0xa8);
- db(0x00); db(0x04); db(0x20); db(0x09); db(0xe4); db(0x88); db(0x21); db(0x40);
- db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4c); db(0xdf);
- db(0x40); db(0x80); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x01); db(0x22);
- db(0x2e); db(0x00); db(0x2c); db(0x6b); db(0x00); db(0xa0); db(0x0c); db(0x6e);
- db(0x00); db(0x25); db(0x00); db(0x14); db(0x65); db(0x3e); db(0x72); db(0x0e);
- db(0x4e); db(0xae); db(0xfd); db(0x66); db(0x02); db(0x80); db(0xff); db(0xff);
- db(0xff); db(0xfe); db(0x67); db(0x72); db(0x08); db(0x07); db(0x00); db(0x00);
- db(0x67); db(0x0a); db(0x41); db(0xeb); db(0x00); db(0x20); db(0x22); db(0x08);
- db(0x4e); db(0xae); db(0xfd); db(0x60); db(0x08); db(0x07); db(0x00); db(0x01);
+ db(0x4e); db(0xae); db(0xfd); db(0x6c); db(0x60); db(0x32); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x08); db(0x07);
+ db(0x00); db(0x00); db(0x67); db(0x08); db(0x41); db(0xeb); db(0x00); db(0x20);
+ db(0x61); db(0x00); db(0x00); db(0xac); db(0x08); db(0x07); db(0x00); db(0x01);
+ db(0x67); db(0x12); db(0x4a); db(0x2b); db(0x00); db(0x9e); db(0x66); db(0x0c);
+ db(0x50); db(0xeb); db(0x00); db(0x9e); db(0x20); db(0x6b); db(0x00); db(0xb4);
+ db(0x61); db(0x00); db(0x00); db(0x94); db(0x4e); db(0xae); db(0xff); db(0x76);
+ db(0x4c); db(0xdf); db(0x40); db(0x80); db(0x4e); db(0x75); db(0x48); db(0xe7);
+ db(0x01); db(0x22); db(0x2e); db(0x00); db(0x2c); db(0x6b); db(0x00); db(0xa0);
+ db(0x0c); db(0x6e); db(0x00); db(0x25); db(0x00); db(0x14); db(0x65); db(0x3e);
+ db(0x72); db(0x0e); db(0x4e); db(0xae); db(0xfd); db(0x66); db(0x02); db(0x80);
+ db(0xff); db(0xff); db(0xff); db(0xfe); db(0x67); db(0x62); db(0x08); db(0x07);
+ db(0x00); db(0x00); db(0x67); db(0x0a); db(0x41); db(0xeb); db(0x00); db(0x20);
+ db(0x22); db(0x08); db(0x4e); db(0xae); db(0xfd); db(0x60); db(0x08); db(0x07);
+ db(0x00); db(0x01); db(0x67); db(0x12); db(0x4a); db(0x2b); db(0x00); db(0x9e);
+ db(0x67); db(0x0c); db(0x42); db(0x2b); db(0x00); db(0x9e); db(0x22); db(0x2b);
+ db(0x00); db(0xb4); db(0x4e); db(0xae); db(0xfd); db(0x60); db(0x72); db(0x0e);
+ db(0x4e); db(0xae); db(0xfd); db(0x6c); db(0x60); db(0x32); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x08); db(0x07);
+ db(0x00); db(0x00); db(0x67); db(0x08); db(0x41); db(0xeb); db(0x00); db(0x20);
+ db(0x61); db(0x00); db(0x00); db(0x44); db(0x08); db(0x07); db(0x00); db(0x01);
db(0x67); db(0x12); db(0x4a); db(0x2b); db(0x00); db(0x9e); db(0x67); db(0x0c);
- db(0x42); db(0x2b); db(0x00); db(0x9e); db(0x22); db(0x2b); db(0x00); db(0xb4);
- db(0x4e); db(0xae); db(0xfd); db(0x60); db(0x72); db(0x0e); db(0x4e); db(0xae);
- db(0xfd); db(0x6c); db(0x60); db(0x42); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x20); db(0x6b); db(0x00); db(0xa0);
- db(0x20); db(0x68); db(0x00); db(0x22); db(0xd1); db(0xc8); db(0xd1); db(0xc8);
+ db(0x42); db(0x2b); db(0x00); db(0x9e); db(0x20); db(0x6b); db(0x00); db(0xb4);
+ db(0x61); db(0x00); db(0x00); db(0x2c); db(0x4e); db(0xae); db(0xff); db(0x76);
+ db(0x4c); db(0xdf); db(0x44); db(0x80); db(0x4e); db(0x75); db(0x22); db(0x48);
+ db(0x20); db(0x6b); db(0x00); db(0xa0); db(0x20); db(0x68); db(0x00); db(0x22);
+ db(0x20); db(0x68); db(0x00); db(0x18); db(0xd1); db(0xc8); db(0xd1); db(0xc8);
+ db(0x22); db(0xa8); db(0x00); db(0x04); db(0x20); db(0x09); db(0xe4); db(0x88);
+ db(0x21); db(0x40); db(0x00); db(0x04); db(0x4e); db(0x75); db(0x24); db(0x48);
+ db(0x20); db(0x6b); db(0x00); db(0xa0); db(0x20); db(0x68); db(0x00); db(0x22);
db(0x20); db(0x68); db(0x00); db(0x18); db(0xd1); db(0xc8); db(0xd1); db(0xc8);
- db(0x43); db(0xe8); db(0x00); db(0x04); db(0x45); db(0xeb); db(0x00); db(0x20);
- db(0x20); db(0x28); db(0x00); db(0x04); db(0x67); db(0x14); db(0xd0); db(0x80);
- db(0xd0); db(0x80); db(0xb5); db(0xc0); db(0x67); db(0x0a); db(0x22); db(0x40);
- db(0x20); db(0x51); db(0xd1); db(0xc8); db(0xd1); db(0xc8); db(0x60); db(0xe8);
- db(0x22); db(0x92); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4c); db(0xdf);
- db(0x44); db(0x80); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x20); db(0x22);
+ db(0x22); db(0x68); db(0x00); db(0x04); db(0xd3); db(0xc9); db(0xd3); db(0xc9);
+ db(0xb3); db(0xca); db(0x66); db(0x06); db(0x21); db(0x52); db(0x00); db(0x04);
+ db(0x60); db(0x18); db(0x20); db(0x09); db(0x67); db(0x0e); db(0x20); db(0x11);
+ db(0xd0); db(0x80); db(0xd0); db(0x80); db(0xb5); db(0xc0); db(0x67); db(0x04);
+ db(0x22); db(0x40); db(0x60); db(0xee); db(0x20); db(0x09); db(0x67); db(0x02);
+ db(0x22); db(0x92); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x20); db(0x22);
db(0x74); db(0x16); db(0x9f); db(0xc2); db(0x24); db(0x4f); db(0x32); db(0x02);
db(0x42); db(0x32); db(0x10); db(0xff); db(0x53); db(0x41); db(0x66); db(0xf8);
db(0x2c); db(0x78); db(0x00); db(0x04); db(0x72); db(0x0f); db(0x4a); db(0x80);
db(0x67); db(0x26); db(0x4a); db(0x2b); db(0x00); db(0x4c); db(0x66); db(0x36);
db(0x70); db(0x00); db(0x4a); db(0x33); db(0x00); db(0x4d); db(0x67); db(0x04);
db(0x52); db(0x00); db(0x60); db(0xf6); db(0x17); db(0x40); db(0x00); db(0x4c);
- db(0x67); db(0x24); db(0x20); db(0x01); db(0x61); db(0x00); db(0xfe); db(0x42);
+ db(0x67); db(0x24); db(0x20); db(0x01); db(0x61); db(0x00); db(0xfd); db(0xf2);
db(0x70); db(0x01); db(0x61); db(0x00); db(0xff); db(0x60); db(0x60); db(0x16);
db(0x4a); db(0x2b); db(0x00); db(0x4c); db(0x67); db(0x10); db(0x42); db(0x2b);
- db(0x00); db(0x4c); db(0x20); db(0x01); db(0x61); db(0x00); db(0xfe); db(0xb6);
+ db(0x00); db(0x4c); db(0x20); db(0x01); db(0x61); db(0x00); db(0xfe); db(0x68);
db(0x70); db(0x00); db(0x61); db(0x00); db(0xff); db(0x48); db(0x4e); db(0x75);
db(0x4a); db(0xac); db(0x00); db(0x14); db(0x67); db(0x0a); db(0x70); db(0x00);
db(0x72); db(0x01); db(0x61); db(0x00); db(0xff); db(0xb2); db(0x4e); db(0x75);
db(0x4a); db(0xa8); db(0x00); db(0x08); db(0x66); db(0x08); db(0x4a); db(0xa8);
db(0x00); db(0x0c); db(0x66); db(0x02); db(0x4e); db(0x75); db(0x48); db(0xe7);
db(0x3f); db(0x3e); db(0x2a); db(0x48); db(0x24); db(0x6c); db(0x00); db(0x18);
- db(0x2e); db(0x15); db(0x4a); db(0x87); db(0x67); db(0x64); db(0x20); db(0x0a);
- db(0x67); db(0x60); db(0x7c); db(0x00); db(0x22); db(0x2d); db(0x00); db(0x08);
- db(0x67); db(0x12); db(0x24); db(0x2a); db(0x00); db(0x04); db(0x2c); db(0x6b);
- db(0x00); db(0xa0); db(0x4e); db(0xae); db(0xfc); db(0x34); db(0x4a); db(0x80);
- db(0x66); db(0x02); db(0x50); db(0xc6); db(0x22); db(0x2d); db(0x00); db(0x0c);
- db(0x67); db(0x1c); db(0x20); db(0x41); db(0x22); db(0x4a); db(0x2f); db(0x0a);
- db(0x45); db(0xec); db(0x00); db(0x20); db(0x48); db(0x7a); db(0x00); db(0x08);
- db(0x2f); db(0x28); db(0x00); db(0x08); db(0x4e); db(0x75); db(0x24); db(0x5f);
- db(0x4a); db(0x80); db(0x66); db(0x02); db(0x50); db(0xc6); db(0x4a); db(0x06);
- db(0x67); db(0x1a); db(0x20); db(0x2a); db(0x00); db(0x04); db(0x90); db(0x8a);
- db(0x4a); db(0x92); db(0x67); db(0x0a); db(0x20); db(0x52); db(0x22); db(0x4a);
- db(0x22); db(0xd8); db(0x59); db(0x81); db(0x6a); db(0xfa); db(0x53); db(0x95);
- db(0x53); db(0x87); db(0x60); db(0x9e); db(0x24); db(0x52); db(0x53); db(0x87);
- db(0x60); db(0x98); db(0x4c); db(0xdf); db(0x7c); db(0xfc); db(0x4e); db(0x75);
- db(0x61); db(0x00); db(0xfc); db(0xe6); db(0x21); db(0x40); db(0x01); db(0x98);
- db(0x2f); db(0x08); db(0x30); db(0x3c); db(0xff); db(0xfc); db(0x61); db(0x00);
- db(0x03); db(0xac); db(0x2a); db(0x50); db(0x30); db(0x3c); db(0xff); db(0x28);
- db(0x61); db(0x00); db(0x03); db(0xa2); db(0x22); db(0x48); db(0x20); db(0x5f);
- db(0x42); db(0xa8); db(0x01); db(0x90); db(0x42); db(0xa8); db(0x01); db(0x94);
- db(0x4e); db(0x91); db(0x26); db(0x00); db(0x0c); db(0x83); db(0xff); db(0xff);
- db(0xff); db(0xfe); db(0x67); db(0x00); db(0xfa); db(0x06); db(0x0c); db(0x83);
- db(0x00); db(0x00); db(0x00); db(0x02); db(0x67); db(0x0c); db(0xc0); db(0x85);
- db(0x67); db(0x08); db(0x4a); db(0xa8); db(0x01); db(0x90); db(0x67); db(0x00);
- db(0xf9); db(0xf2); db(0x20); db(0x28); db(0x01); db(0x90); db(0x67); db(0x12);
- db(0x2f); db(0x08); db(0x72); db(0x01); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x20); db(0x5f); db(0x21); db(0x40);
- db(0x01); db(0x94); db(0x4a); db(0x83); db(0x6a); db(0x0e); db(0x22); db(0x48);
- db(0x30); db(0x3c); db(0xff); db(0x20); db(0x61); db(0x00); db(0x03); db(0x4e);
- db(0x4e); db(0x90); db(0x60); db(0x26); db(0x2c); db(0x4c); db(0x2f); db(0x08);
- db(0x4e); db(0xae); db(0xff); db(0x70); db(0x20); db(0x5f); db(0x22); db(0x48);
- db(0x26); db(0x40); db(0x30); db(0x3c); db(0xff); db(0x20); db(0x61); db(0x00);
- db(0x03); db(0x34); db(0x4e); db(0x90); db(0x70); db(0x00); db(0x27); db(0x40);
- db(0x00); db(0x08); db(0x27); db(0x40); db(0x00); db(0x10); db(0x27); db(0x40);
- db(0x00); db(0x20); db(0x4a); db(0xa9); db(0x01); db(0x94); db(0x67); db(0x28);
- db(0x20); db(0x69); db(0x01); db(0x94); db(0x61); db(0x00); db(0xfb); db(0x48);
- db(0x48); db(0xe7); db(0x80); db(0xc0); db(0x20); db(0x29); db(0x01); db(0x90);
- db(0x22); db(0x69); db(0x01); db(0x94); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x4c); db(0xdf); db(0x03); db(0x01);
- db(0x4a); db(0x80); db(0x67); db(0x04); db(0x61); db(0x00); db(0xfa); db(0xd2);
- db(0x4a); db(0x83); db(0x6b); db(0x00); db(0xf9); db(0x6e); db(0x30); db(0x3c);
- db(0xff); db(0x18); db(0x61); db(0x00); db(0x02); db(0xe8); db(0x4e); db(0x90);
- db(0x20); db(0x03); db(0x16); db(0x29); db(0x00); db(0x4f); db(0x4a); db(0x80);
- db(0x66); db(0x1a); db(0x27); db(0x7c); db(0x00); db(0x00); db(0x17); db(0x70);
- db(0x00); db(0x14); db(0x43); db(0xfa); db(0xf8); db(0x58); db(0x20); db(0x09);
- db(0xe4); db(0x88); db(0x27); db(0x40); db(0x00); db(0x20); db(0x70); db(0xff);
- db(0x27); db(0x40); db(0x00); db(0x24); db(0x08); db(0x07); db(0x00); db(0x00);
- db(0x67); db(0x38); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x70); db(0x14);
- db(0x72); db(0x00); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x22); db(0x40);
- db(0x70); db(0x00); db(0x22); db(0x80); db(0x23); db(0x40); db(0x00); db(0x04);
- db(0x33); db(0x40); db(0x00); db(0x0e); db(0x30); db(0x3c); db(0x10); db(0x00);
- db(0x80); db(0x03); db(0x33); db(0x40); db(0x00); db(0x08); db(0x23); db(0x6d);
- db(0x01); db(0x04); db(0x00); db(0x0a); db(0x23); db(0x4b); db(0x00); db(0x10);
- db(0x41); db(0xec); db(0x00); db(0x4a); db(0x4e); db(0xae); db(0xfe); db(0xf2);
- db(0x4e); db(0x75); db(0x20); db(0x4b); db(0x72); db(0x00); db(0x22); db(0x41);
- db(0x08); db(0x07); db(0x00); db(0x01); db(0x67); db(0x02); db(0x72); db(0x01);
- db(0x70); db(0xec); db(0x2c); db(0x4c); db(0x4e); db(0xae); db(0xff); db(0x6a);
+ db(0x2e); db(0x15); db(0x7a); db(0x00); db(0x4a); db(0x87); db(0x67); db(0x70);
+ db(0x20); db(0x0a); db(0x67); db(0x6c); db(0x7c); db(0x00); db(0x22); db(0x2d);
+ db(0x00); db(0x08); db(0x67); db(0x12); db(0x24); db(0x2a); db(0x00); db(0x04);
+ db(0x2c); db(0x6b); db(0x00); db(0xa0); db(0x4e); db(0xae); db(0xfc); db(0x34);
+ db(0x4a); db(0x80); db(0x66); db(0x02); db(0x50); db(0xc6); db(0x22); db(0x2d);
+ db(0x00); db(0x0c); db(0x67); db(0x1c); db(0x20); db(0x41); db(0x22); db(0x4a);
+ db(0x2f); db(0x0a); db(0x45); db(0xec); db(0x00); db(0x20); db(0x48); db(0x7a);
+ db(0x00); db(0x08); db(0x2f); db(0x28); db(0x00); db(0x08); db(0x4e); db(0x75);
+ db(0x24); db(0x5f); db(0x4a); db(0x80); db(0x66); db(0x02); db(0x50); db(0xc6);
+ db(0x4a); db(0x06); db(0x67); db(0x24); db(0x20); db(0x2a); db(0x00); db(0x04);
+ db(0x90); db(0x8a); db(0x4a); db(0x92); db(0x66); db(0x0a); db(0x20); db(0x05);
+ db(0x67); db(0x10); db(0x20); db(0x40); db(0x42); db(0x90); db(0x60); db(0x0a);
+ db(0x20); db(0x52); db(0x22); db(0x4a); db(0x22); db(0xd8); db(0x59); db(0x80);
+ db(0x6a); db(0xfa); db(0x53); db(0x95); db(0x53); db(0x87); db(0x60); db(0x94);
+ db(0x2a); db(0x0a); db(0x24); db(0x52); db(0x53); db(0x87); db(0x60); db(0x8c);
+ db(0x4c); db(0xdf); db(0x7c); db(0xfc); db(0x4e); db(0x75); db(0x61); db(0x00);
+ db(0xfc); db(0x88); db(0x21); db(0x40); db(0x01); db(0x98); db(0x2f); db(0x08);
+ db(0x30); db(0x3c); db(0xff); db(0xfc); db(0x61); db(0x00); db(0x04); db(0x3e);
+ db(0x2a); db(0x50); db(0x30); db(0x3c); db(0xff); db(0x28); db(0x61); db(0x00);
+ db(0x04); db(0x34); db(0x22); db(0x48); db(0x20); db(0x5f); db(0x42); db(0xa8);
+ db(0x01); db(0x90); db(0x42); db(0xa8); db(0x01); db(0x94); db(0x4e); db(0x91);
+ db(0x26); db(0x00); db(0x0c); db(0x43); db(0xff); db(0xfe); db(0x67); db(0x00);
+ db(0xf9); db(0xa8); db(0x0c); db(0x43); db(0x00); db(0x01); db(0x66); db(0x14);
+ db(0x08); db(0x07); db(0x00); db(0x02); db(0x66); db(0x0e); db(0x08); db(0x07);
+ db(0x00); db(0x01); db(0x66); db(0x08); db(0x4a); db(0xa8); db(0x01); db(0x90);
+ db(0x67); db(0x00); db(0xf9); db(0x8e); db(0x20); db(0x28); db(0x01); db(0x90);
+ db(0x67); db(0x12); db(0x2f); db(0x08); db(0x72); db(0x01); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x20); db(0x5f);
+ db(0x21); db(0x40); db(0x01); db(0x94); db(0x4a); db(0x83); db(0x6a); db(0x0e);
+ db(0x22); db(0x48); db(0x30); db(0x3c); db(0xff); db(0x20); db(0x61); db(0x00);
+ db(0x03); db(0xdc); db(0x4e); db(0x90); db(0x60); db(0x26); db(0x2c); db(0x4c);
+ db(0x2f); db(0x08); db(0x4e); db(0xae); db(0xff); db(0x70); db(0x20); db(0x5f);
+ db(0x22); db(0x48); db(0x26); db(0x40); db(0x30); db(0x3c); db(0xff); db(0x20);
+ db(0x61); db(0x00); db(0x03); db(0xc2); db(0x4e); db(0x90); db(0x70); db(0x00);
+ db(0x27); db(0x40); db(0x00); db(0x08); db(0x27); db(0x40); db(0x00); db(0x10);
+ db(0x27); db(0x40); db(0x00); db(0x20); db(0x4a); db(0xa9); db(0x01); db(0x94);
+ db(0x67); db(0x28); db(0x20); db(0x69); db(0x01); db(0x94); db(0x61); db(0x00);
+ db(0xfa); db(0xe6); db(0x48); db(0xe7); db(0x80); db(0xc0); db(0x20); db(0x29);
+ db(0x01); db(0x90); db(0x22); db(0x69); db(0x01); db(0x94); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x4c); db(0xdf);
+ db(0x03); db(0x01); db(0x4a); db(0x80); db(0x67); db(0x04); db(0x61); db(0x00);
+ db(0xfa); db(0x70); db(0x4a); db(0x83); db(0x6b); db(0x00); db(0xf9); db(0x0a);
+ db(0x30); db(0x3c); db(0xff); db(0x18); db(0x61); db(0x00); db(0x03); db(0x76);
+ db(0x4e); db(0x90); db(0x20); db(0x03); db(0x16); db(0x29); db(0x00); db(0x4f);
+ db(0x4a); db(0x80); db(0x66); db(0x1a); db(0x27); db(0x7c); db(0x00); db(0x00);
+ db(0x17); db(0x70); db(0x00); db(0x14); db(0x41); db(0xfa); db(0xf7); db(0xe6);
+ db(0x20); db(0x08); db(0xe4); db(0x88); db(0x27); db(0x40); db(0x00); db(0x20);
+ db(0x70); db(0xff); db(0x27); db(0x40); db(0x00); db(0x24); db(0x08); db(0x07);
+ db(0x00); db(0x00); db(0x67); db(0x3a); db(0x2c); db(0x78); db(0x00); db(0x04);
+ db(0x70); db(0x14); db(0x72); db(0x00); db(0x4e); db(0xae); db(0xff); db(0x3a);
+ db(0x22); db(0x40); db(0x70); db(0x00); db(0x22); db(0x80); db(0x23); db(0x40);
+ db(0x00); db(0x04); db(0x33); db(0x40); db(0x00); db(0x0e); db(0x30); db(0x3c);
+ db(0x10); db(0x00); db(0x80); db(0x03); db(0x33); db(0x40); db(0x00); db(0x08);
+ db(0x23); db(0x6d); db(0x01); db(0x04); db(0x00); db(0x0a); db(0x23); db(0x4b);
+ db(0x00); db(0x10); db(0x41); db(0xec); db(0x00); db(0x4a); db(0x4e); db(0xae);
+ db(0xfe); db(0xf2); db(0x70); db(0x00); db(0x4e); db(0x75); db(0x24); db(0x49);
+ db(0x20); db(0x4b); db(0x72); db(0x00); db(0x22); db(0x41); db(0x08); db(0x07);
+ db(0x00); db(0x01); db(0x67); db(0x08); db(0x08); db(0x07); db(0x00); db(0x02);
+ db(0x67); db(0x02); db(0x72); db(0x01); db(0x70); db(0xec); db(0x2c); db(0x4c);
+ db(0x4e); db(0xae); db(0xff); db(0x6a); db(0x08); db(0x07); db(0x00); db(0x01);
+ db(0x67); db(0x5c); db(0x08); db(0x07); db(0x00); db(0x02); db(0x66); db(0x56);
+ db(0x20); db(0x52); db(0x74); db(0x02); db(0x52); db(0x82); db(0x4a); db(0x30);
+ db(0x28); db(0xfd); db(0x66); db(0xf8); db(0x2c); db(0x78); db(0x00); db(0x04);
+ db(0x20); db(0x02); db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a);
+ db(0x4a); db(0x80); db(0x67); db(0x3a); db(0x20); db(0x52); db(0x24); db(0x40);
+ db(0x22); db(0x4a); db(0x12); db(0xd8); db(0x66); db(0xfc); db(0x13); db(0x7c);
+ db(0x00); db(0x3a); db(0xff); db(0xff); db(0x42); db(0x11); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x43); db(0xfa); db(0x06); db(0x50); db(0x70); db(0x00);
+ db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x2c); db(0x40); db(0x22); db(0x0a);
+ db(0x4e); db(0xae); db(0xff); db(0x52); db(0x22); db(0x4e); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x22); db(0x4a);
+ db(0x20); db(0x02); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x70); db(0x00);
db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x3f); db(0x3e); db(0x2c); db(0x01);
- db(0x7e); db(0x02); db(0x7a); db(0x00); db(0x2c); db(0x78); db(0x00); db(0x04);
- db(0x43); db(0xfa); db(0x06); db(0x14); db(0x70); db(0x00); db(0x4e); db(0xae);
+ db(0x7e); db(0x06); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x43); db(0xfa);
+ db(0x06); db(0x3a); db(0x70); db(0x24); db(0x4e); db(0xae); db(0xfd); db(0xd8);
+ db(0x4a); db(0x80); db(0x66); db(0x0e); db(0x08); db(0x87); db(0x00); db(0x02);
+ db(0x43); db(0xfa); db(0x06); db(0x28); db(0x70); db(0x00); db(0x4e); db(0xae);
db(0xfd); db(0xd8); db(0x28); db(0x40); db(0x20); db(0x3c); db(0x00); db(0x00);
db(0x02); db(0x2c); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x20); db(0x40); db(0x21); db(0x4c);
- db(0x01); db(0x9c); db(0x48); db(0xe7); db(0x00); db(0x0a); db(0x61); db(0x00);
- db(0xfe); db(0x78); db(0x4c); db(0xdf); db(0x50); db(0x00); db(0x22); db(0x4c);
+ db(0x01); db(0x9c); db(0x48); db(0xe7); db(0x00); db(0x8a); db(0x61); db(0x00);
+ db(0xfd); db(0xf6); db(0x4c); db(0xdf); db(0x51); db(0x00); db(0x0c); db(0x80);
+ db(0xff); db(0xff); db(0xff); db(0xfe); db(0x67); db(0x08); db(0x48); db(0x46);
+ db(0x52); db(0x46); db(0x48); db(0x46); db(0x60); db(0xe4); db(0x22); db(0x4c);
db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x4c); db(0xdf); db(0x7c); db(0xfc);
db(0x4e); db(0x75); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x93); db(0xc9);
db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x20); db(0x40); db(0x4b); db(0xe8);
- db(0x00); db(0x5c); db(0x43); db(0xfa); db(0x05); db(0xac); db(0x70); db(0x00);
+ db(0x00); db(0x5c); db(0x43); db(0xfa); db(0x05); db(0xb0); db(0x70); db(0x00);
db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x24); db(0x40); db(0x20); db(0x3c);
db(0x00); db(0x00); db(0x00); db(0xb9); db(0x22); db(0x3c); db(0x00); db(0x01);
db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x26); db(0x40);
db(0x4e); db(0xae); db(0xfe); db(0x8c); db(0x28); db(0x40); db(0x26); db(0x2c);
db(0x00); db(0x0a); db(0x30); db(0x3c); db(0xff); db(0x40); db(0x61); db(0x00);
db(0x01); db(0xac); db(0x70); db(0x00); db(0x4e); db(0x90); db(0x24); db(0x00);
- db(0x70); db(0x01); db(0x61); db(0x00); db(0xfb); db(0x3c); db(0x08); db(0x02);
+ db(0x70); db(0x01); db(0x61); db(0x00); db(0xfa); db(0x4c); db(0x08); db(0x02);
db(0x00); db(0x01); db(0x67); db(0x06); db(0x70); db(0x01); db(0x61); db(0x00);
- db(0xfc); db(0x54); db(0x61); db(0x00); db(0x03); db(0x38); db(0x60); db(0x00);
- db(0x00); db(0xfc); db(0x61); db(0x00); db(0x03); db(0x30); db(0x20); db(0x4d);
+ db(0xfb); db(0xb4); db(0x61); db(0x00); db(0x03); db(0x3c); db(0x60); db(0x00);
+ db(0x00); db(0xfc); db(0x61); db(0x00); db(0x03); db(0x34); db(0x20); db(0x4d);
db(0x4e); db(0xae); db(0xfe); db(0x8c); db(0x28); db(0x40); db(0x4a); db(0x80);
db(0x66); db(0x10); db(0x70); db(0x00); db(0x12); db(0x2d); db(0x00); db(0x0f);
db(0x03); db(0xc0); db(0x08); db(0xc0); db(0x00); db(0x11); db(0x4e); db(0xae);
db(0xfe); db(0xc2); db(0x4a); db(0x2b); db(0x00); db(0xac); db(0x67); db(0x08);
- db(0x61); db(0x00); db(0xfc); db(0xf8); db(0x42); db(0x2b); db(0x00); db(0xac);
+ db(0x61); db(0x00); db(0xfc); db(0x58); db(0x42); db(0x2b); db(0x00); db(0xac);
db(0x20); db(0x0c); db(0x67); db(0xce); db(0x0c); db(0x6c); db(0x00); db(0x26);
db(0x00); db(0x12); db(0x66); db(0x4c); db(0x0c); db(0xac); db(0x40); db(0x00);
db(0x00); db(0x00); db(0x00); db(0x14); db(0x66); db(0x42); db(0x0c); db(0x6c);
db(0x60); db(0x00); db(0xff); db(0x08); db(0x28); db(0x43); db(0x61); db(0x04);
db(0x60); db(0x00); db(0xff); db(0x00); db(0x0c); db(0xac); db(0x00); db(0x00);
db(0x00); db(0x1f); db(0x00); db(0x08); db(0x66); db(0x04); db(0x61); db(0x00);
- db(0xfb); db(0xf8); db(0x0c); db(0xac); db(0x00); db(0x00); db(0x04); db(0x09);
- db(0x00); db(0x08); db(0x66); db(0x04); db(0x61); db(0x00); db(0xfc); db(0x26);
+ db(0xfb); db(0x58); db(0x0c); db(0xac); db(0x00); db(0x00); db(0x04); db(0x09);
+ db(0x00); db(0x08); db(0x66); db(0x04); db(0x61); db(0x00); db(0xfb); db(0x86);
db(0x22); db(0x54); db(0x20); db(0x6c); db(0x00); db(0x04); db(0x29); db(0x4d);
db(0x00); db(0x04); db(0x4e); db(0xee); db(0xfe); db(0x92); db(0x2f); db(0x05);
db(0x7a); db(0xfc); db(0x24); db(0x53); db(0x2e); db(0x0a); db(0x22); db(0x0a);
db(0x22); db(0x80); db(0x22); db(0x4a); db(0x24); db(0x51); db(0x70); db(0x18);
db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x06); db(0x86); db(0x00); db(0x01);
db(0x00); db(0x00); db(0x20); db(0x0a); db(0x66); db(0xec); db(0x26); db(0x87);
- db(0x2a); db(0x1f); db(0x4e); db(0x75); db(0x41); db(0xfa); db(0xf5); db(0x7e);
+ db(0x2a); db(0x1f); db(0x4e); db(0x75); db(0x41); db(0xfa); db(0xf4); db(0x7e);
db(0x02); db(0x80); db(0x00); db(0x00); db(0xff); db(0xff); db(0xd1); db(0xc0);
db(0x4e); db(0x75); db(0x00); db(0x00); db(0x0c); db(0xaf); db(0x00); db(0x00);
db(0x00); db(0x22); db(0x00); db(0x08); db(0x66); db(0x30); db(0x48); db(0xe7);
db(0x44); db(0x04); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x00); db(0x22);
db(0x2c); db(0x78); db(0x00); db(0x04); db(0x61); db(0x00); db(0xff); db(0x70);
db(0x61); db(0x00); db(0xff); db(0xbc); db(0x67); db(0x1a); db(0x22); db(0x40);
- db(0x24); db(0x40); db(0x41); db(0xfa); db(0x02); db(0x40); db(0x70); db(0x00);
+ db(0x24); db(0x40); db(0x41); db(0xfa); db(0x02); db(0x44); db(0x70); db(0x00);
db(0x72); db(0x00); db(0x4e); db(0xae); db(0xfe); db(0x44); db(0x22); db(0x00);
db(0x70); db(0x00); db(0x4a); db(0x81); db(0x66); db(0x02); db(0x20); db(0x0a);
db(0x4a); db(0x80); db(0x4c); db(0xdf); db(0x44); db(0x00); db(0x4e); db(0x75);
db(0x48); db(0xe7); db(0x00); db(0x22); db(0x2c); db(0x78); db(0x00); db(0x04);
db(0x61); db(0x00); db(0xff); db(0x3c); db(0x61); db(0x00); db(0xff); db(0x88);
db(0x67); db(0x1a); db(0x24); db(0x40); db(0x22); db(0x40); db(0x41); db(0xfa);
- db(0x02); db(0x19); db(0x70); db(0x00); db(0x72); db(0x00); db(0x4e); db(0xae);
+ db(0x02); db(0x1d); db(0x70); db(0x00); db(0x72); db(0x00); db(0x4e); db(0xae);
db(0xfe); db(0x44); db(0x22); db(0x00); db(0x70); db(0x00); db(0x4a); db(0x81);
db(0x66); db(0x02); db(0x20); db(0x0a); db(0x4a); db(0x80); db(0x4c); db(0xdf);
db(0x44); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x38); db(0x32);
db(0x24); db(0x08); db(0x26); db(0x09); db(0x20); db(0x3c); db(0x00); db(0x00);
db(0x08); db(0x5c); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01);
db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x4a); db(0x80); db(0x67); db(0x00);
- db(0x00); db(0x30); db(0x24); db(0x40); db(0x15); db(0x7c); db(0x00); db(0x01);
+ db(0x00); db(0x34); db(0x24); db(0x40); db(0x15); db(0x7c); db(0x00); db(0x01);
db(0x00); db(0x08); db(0x15); db(0x44); db(0x00); db(0x09); db(0x25); db(0x42);
db(0x00); db(0x0a); db(0x47); db(0xea); db(0x00); db(0x5c); db(0x25); db(0x4b);
db(0x00); db(0x3a); db(0x47); db(0xeb); db(0x08); db(0x00); db(0x25); db(0x4b);
db(0x00); db(0x3e); db(0x25); db(0x4b); db(0x00); db(0x36); db(0x22); db(0x4a);
- db(0x24); db(0x43); db(0x97); db(0xcb); db(0x4e); db(0xae); db(0xfe); db(0xe6);
- db(0x4c); db(0xdf); db(0x4c); db(0x1c); db(0x4e); db(0x75); db(0x00); db(0x00);
- db(0x00); db(0x00); db(0x00); db(0x00); db(0x2f); db(0x08); db(0x4a); db(0x2b);
- db(0x00); db(0x9d); db(0x66); db(0x26); db(0x41); db(0xfa); db(0xff); db(0xf0);
- db(0x0c); db(0x10); db(0x00); db(0x01); db(0x66); db(0x1c); db(0x41); db(0xfa);
- db(0x01); db(0x96); db(0x43); db(0xfa); db(0x00); db(0x1a); db(0x70); db(0x05);
- db(0x61); db(0x00); db(0xff); db(0x82); db(0x50); db(0xeb); db(0x00); db(0x9d);
- db(0x30); db(0x3c); db(0xff); db(0x38); db(0x61); db(0x00); db(0xfe); db(0x2e);
- db(0x4e); db(0x90); db(0x20); db(0x5f); db(0x4e); db(0x75); db(0x2c); db(0x79);
- db(0x00); db(0x00); db(0x00); db(0x04); db(0x70); db(0xff); db(0x4e); db(0xae);
- db(0xfe); db(0xb6); db(0x74); db(0x00); db(0x01); db(0xc2); db(0x93); db(0xc9);
- db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x28); db(0x40); db(0x70); db(0x14);
- db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0xd4); db(0x70); db(0x00);
- db(0x43); db(0xfa); db(0x01); db(0xaa); db(0x4e); db(0xae); db(0xfd); db(0xd8);
- db(0x2e); db(0x00); db(0x70); db(0x00); db(0x30); db(0x3c); db(0x00); db(0x44);
- db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae);
- db(0xff); db(0x3a); db(0x2a); db(0x40); db(0x61); db(0x00); db(0xfe); db(0xc6);
- db(0x2b); db(0x40); db(0x00); db(0x3c); db(0x67); db(0x00); db(0x00); db(0x4e);
- db(0x61); db(0x00); db(0xfe); db(0xee); db(0x2b); db(0x40); db(0x00); db(0x40);
- db(0x67); db(0x00); db(0x00); db(0x42); db(0x47); db(0xed); db(0x00); db(0x16);
- db(0x27); db(0x4c); db(0x00); db(0x0c); db(0x27); db(0x42); db(0x00); db(0x08);
- db(0x70); db(0xff); db(0x26); db(0x80); db(0x27); db(0x40); db(0x00); db(0x04);
- db(0x43); db(0xed); db(0x00); db(0x00); db(0x13); db(0x7c); db(0x00); db(0x02);
- db(0x00); db(0x08); db(0x13); db(0x7c); db(0x00); db(0x05); db(0x00); db(0x09);
- db(0x41); db(0xfa); db(0x00); db(0xfc); db(0x23); db(0x48); db(0x00); db(0x0a);
- db(0x41); db(0xfa); db(0x00); db(0xa0); db(0x23); db(0x48); db(0x00); db(0x12);
- db(0x23); db(0x4b); db(0x00); db(0x0e); db(0x70); db(0x05); db(0x4e); db(0xae);
- db(0xff); db(0x58); db(0x60); db(0x02); db(0x4e); db(0x75); db(0x20); db(0x02);
- db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x22); db(0x6d); db(0x00); db(0x3c);
- db(0x45); db(0xed); db(0x00); db(0x26); db(0x33); db(0x7c); db(0x00); db(0x0b);
- db(0x00); db(0x1c); db(0x23); db(0x7c); db(0x00); db(0x00); db(0x00); db(0x16);
- db(0x00); db(0x24); db(0x23); db(0x4a); db(0x00); db(0x28); db(0x13); db(0x7c);
- db(0x00); db(0x01); db(0x00); db(0x1e); db(0x15); db(0x7c); db(0x00); db(0x04);
- db(0x00); db(0x04); db(0x42); db(0x2a); db(0x00); db(0x05); db(0x42); db(0x6a);
- db(0x00); db(0x06); db(0x42); db(0x6a); db(0x00); db(0x08); db(0x20); db(0x47);
- db(0x20); db(0x2d); db(0x00); db(0x16); db(0x32); db(0x28); db(0x00); db(0x30);
- db(0xd2); db(0x41); db(0x90); db(0x41); db(0x35); db(0x40); db(0x00); db(0x0a);
- db(0x20); db(0x2d); db(0x00); db(0x1a); db(0x32); db(0x28); db(0x00); db(0x2e);
- db(0xd2); db(0x41); db(0x90); db(0x41); db(0x48); db(0xc0); db(0x35); db(0x40);
- db(0x00); db(0x0c); db(0x22); db(0x6d); db(0x00); db(0x40); db(0x33); db(0x7c);
- db(0x00); db(0x0a); db(0x00); db(0x1c); db(0x13); db(0x7c); db(0x00); db(0x01);
- db(0x00); db(0x1e); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x22); db(0x6d);
- db(0x00); db(0x40); db(0x25); db(0x69); db(0x00); db(0x20); db(0x00); db(0x0e);
- db(0x25); db(0x69); db(0x00); db(0x24); db(0x00); db(0x12); db(0x22); db(0x6d);
- db(0x00); db(0x3c); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x60); db(0x00);
- db(0xff); db(0x76); db(0x30); db(0x3a); db(0xfe); db(0xa4); db(0x48); db(0xc0);
- db(0x32); db(0x3a); db(0xfe); db(0xa0); db(0x48); db(0xc1); db(0xb0); db(0x91);
- db(0x66); db(0x00); db(0x00); db(0x0a); db(0xb2); db(0xa9); db(0x00); db(0x04);
- db(0x67); db(0x00); db(0x00); db(0x18); db(0x23); db(0x41); db(0x00); db(0x04);
- db(0x22); db(0x80); db(0x20); db(0x29); db(0x00); db(0x08); db(0x22); db(0x69);
- db(0x00); db(0x0c); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae);
- db(0xfe); db(0xbc); db(0x41); db(0xf9); db(0x00); db(0xdf); db(0xf0); db(0x00);
- db(0x70); db(0x00); db(0x4e); db(0x75); db(0x69); db(0x6e); db(0x70); db(0x75);
- db(0x74); db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69); db(0x63); db(0x65);
- db(0x00); db(0x74); db(0x69); db(0x6d); db(0x65); db(0x72); db(0x2e); db(0x64);
- db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); db(0x00); db(0x55); db(0x41);
- db(0x45); db(0x20); db(0x6d); db(0x6f); db(0x75); db(0x73); db(0x65); db(0x20);
- db(0x68); db(0x61); db(0x63); db(0x6b); db(0x00); db(0x55); db(0x41); db(0x45);
- db(0x20); db(0x66); db(0x69); db(0x6c); db(0x65); db(0x73); db(0x79); db(0x73);
- db(0x74); db(0x65); db(0x6d); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20);
- db(0x66); db(0x73); db(0x20); db(0x61); db(0x75); db(0x74); db(0x6f); db(0x6d);
- db(0x6f); db(0x75); db(0x6e); db(0x74); db(0x65); db(0x72); db(0x00); db(0x55);
- db(0x41); db(0x45); db(0x20); db(0x66); db(0x73); db(0x20); db(0x61); db(0x75);
- db(0x74); db(0x6f); db(0x6d); db(0x6f); db(0x75); db(0x6e); db(0x74); db(0x20);
- db(0x70); db(0x72); db(0x6f); db(0x63); db(0x65); db(0x73); db(0x73); db(0x00);
- db(0x64); db(0x6f); db(0x73); db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72);
- db(0x61); db(0x72); db(0x79); db(0x00); db(0x69); db(0x6e); db(0x74); db(0x75);
- db(0x69); db(0x74); db(0x69); db(0x6f); db(0x6e); db(0x2e); db(0x6c); db(0x69);
- db(0x62); db(0x72); db(0x61); db(0x72); db(0x79); db(0x00); db(0x65); db(0x78);
- db(0x70); db(0x61); db(0x6e); db(0x73); db(0x69); db(0x6f); db(0x6e); db(0x2e);
+ db(0x24); db(0x43); db(0x97); db(0xcb); db(0x24); db(0x09); db(0x4e); db(0xae);
+ db(0xfe); db(0xe6); db(0x20); db(0x02); db(0x4c); db(0xdf); db(0x4c); db(0x1c);
+ db(0x4e); db(0x75); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00);
+ db(0x2f); db(0x08); db(0x4a); db(0x2b); db(0x00); db(0x9d); db(0x66); db(0x26);
+ db(0x41); db(0xfa); db(0xff); db(0xf0); db(0x0c); db(0x10); db(0x00); db(0x01);
+ db(0x66); db(0x1c); db(0x41); db(0xfa); db(0x01); db(0x96); db(0x43); db(0xfa);
+ db(0x00); db(0x1a); db(0x70); db(0x05); db(0x61); db(0x00); db(0xff); db(0x7e);
+ db(0x50); db(0xeb); db(0x00); db(0x9d); db(0x30); db(0x3c); db(0xff); db(0x38);
+ db(0x61); db(0x00); db(0xfe); db(0x2a); db(0x4e); db(0x90); db(0x20); db(0x5f);
+ db(0x4e); db(0x75); db(0x2c); db(0x79); db(0x00); db(0x00); db(0x00); db(0x04);
+ db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6); db(0x74); db(0x00);
+ db(0x01); db(0xc2); db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda);
+ db(0x28); db(0x40); db(0x70); db(0x14); db(0x22); db(0x4c); db(0x4e); db(0xae);
+ db(0xfe); db(0xd4); db(0x70); db(0x00); db(0x43); db(0xfa); db(0x01); db(0xaa);
+ db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x2e); db(0x00); db(0x70); db(0x00);
+ db(0x30); db(0x3c); db(0x00); db(0x44); db(0x22); db(0x3c); db(0x00); db(0x01);
+ db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x2a); db(0x40);
+ db(0x61); db(0x00); db(0xfe); db(0xc2); db(0x2b); db(0x40); db(0x00); db(0x3c);
+ db(0x67); db(0x00); db(0x00); db(0x4e); db(0x61); db(0x00); db(0xfe); db(0xea);
+ db(0x2b); db(0x40); db(0x00); db(0x40); db(0x67); db(0x00); db(0x00); db(0x42);
+ db(0x47); db(0xed); db(0x00); db(0x16); db(0x27); db(0x4c); db(0x00); db(0x0c);
+ db(0x27); db(0x42); db(0x00); db(0x08); db(0x70); db(0xff); db(0x26); db(0x80);
+ db(0x27); db(0x40); db(0x00); db(0x04); db(0x43); db(0xed); db(0x00); db(0x00);
+ db(0x13); db(0x7c); db(0x00); db(0x02); db(0x00); db(0x08); db(0x13); db(0x7c);
+ db(0x00); db(0x05); db(0x00); db(0x09); db(0x41); db(0xfa); db(0x00); db(0xfc);
+ db(0x23); db(0x48); db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x00); db(0xa0);
+ db(0x23); db(0x48); db(0x00); db(0x12); db(0x23); db(0x4b); db(0x00); db(0x0e);
+ db(0x70); db(0x05); db(0x4e); db(0xae); db(0xff); db(0x58); db(0x60); db(0x02);
+ db(0x4e); db(0x75); db(0x20); db(0x02); db(0x4e); db(0xae); db(0xfe); db(0xc2);
+ db(0x22); db(0x6d); db(0x00); db(0x3c); db(0x45); db(0xed); db(0x00); db(0x26);
+ db(0x33); db(0x7c); db(0x00); db(0x0b); db(0x00); db(0x1c); db(0x23); db(0x7c);
+ db(0x00); db(0x00); db(0x00); db(0x16); db(0x00); db(0x24); db(0x23); db(0x4a);
+ db(0x00); db(0x28); db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e);
+ db(0x15); db(0x7c); db(0x00); db(0x04); db(0x00); db(0x04); db(0x42); db(0x2a);
+ db(0x00); db(0x05); db(0x42); db(0x6a); db(0x00); db(0x06); db(0x42); db(0x6a);
+ db(0x00); db(0x08); db(0x20); db(0x47); db(0x20); db(0x2d); db(0x00); db(0x16);
+ db(0x32); db(0x28); db(0x00); db(0x30); db(0xd2); db(0x41); db(0x90); db(0x41);
+ db(0x35); db(0x40); db(0x00); db(0x0a); db(0x20); db(0x2d); db(0x00); db(0x1a);
+ db(0x32); db(0x28); db(0x00); db(0x2e); db(0xd2); db(0x41); db(0x90); db(0x41);
+ db(0x48); db(0xc0); db(0x35); db(0x40); db(0x00); db(0x0c); db(0x22); db(0x6d);
+ db(0x00); db(0x40); db(0x33); db(0x7c); db(0x00); db(0x0a); db(0x00); db(0x1c);
+ db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e); db(0x4e); db(0xae);
+ db(0xfe); db(0x38); db(0x22); db(0x6d); db(0x00); db(0x40); db(0x25); db(0x69);
+ db(0x00); db(0x20); db(0x00); db(0x0e); db(0x25); db(0x69); db(0x00); db(0x24);
+ db(0x00); db(0x12); db(0x22); db(0x6d); db(0x00); db(0x3c); db(0x4e); db(0xae);
+ db(0xfe); db(0x38); db(0x60); db(0x00); db(0xff); db(0x76); db(0x30); db(0x3a);
+ db(0xfe); db(0xa4); db(0x48); db(0xc0); db(0x32); db(0x3a); db(0xfe); db(0xa0);
+ db(0x48); db(0xc1); db(0xb0); db(0x91); db(0x66); db(0x00); db(0x00); db(0x0a);
+ db(0xb2); db(0xa9); db(0x00); db(0x04); db(0x67); db(0x00); db(0x00); db(0x18);
+ db(0x23); db(0x41); db(0x00); db(0x04); db(0x22); db(0x80); db(0x20); db(0x29);
+ db(0x00); db(0x08); db(0x22); db(0x69); db(0x00); db(0x0c); db(0x2c); db(0x78);
+ db(0x00); db(0x04); db(0x4e); db(0xae); db(0xfe); db(0xbc); db(0x41); db(0xf9);
+ db(0x00); db(0xdf); db(0xf0); db(0x00); db(0x70); db(0x00); db(0x4e); db(0x75);
+ db(0x69); db(0x6e); db(0x70); db(0x75); db(0x74); db(0x2e); db(0x64); db(0x65);
+ db(0x76); db(0x69); db(0x63); db(0x65); db(0x00); db(0x74); db(0x69); db(0x6d);
+ db(0x65); db(0x72); db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69); db(0x63);
+ db(0x65); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x6d); db(0x6f);
+ db(0x75); db(0x73); db(0x65); db(0x20); db(0x68); db(0x61); db(0x63); db(0x6b);
+ db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x66); db(0x69); db(0x6c);
+ db(0x65); db(0x73); db(0x79); db(0x73); db(0x74); db(0x65); db(0x6d); db(0x00);
+ db(0x55); db(0x41); db(0x45); db(0x20); db(0x66); db(0x73); db(0x20); db(0x61);
+ db(0x75); db(0x74); db(0x6f); db(0x6d); db(0x6f); db(0x75); db(0x6e); db(0x74);
+ db(0x65); db(0x72); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x66);
+ db(0x73); db(0x20); db(0x61); db(0x75); db(0x74); db(0x6f); db(0x6d); db(0x6f);
+ db(0x75); db(0x6e); db(0x74); db(0x20); db(0x70); db(0x72); db(0x6f); db(0x63);
+ db(0x65); db(0x73); db(0x73); db(0x00); db(0x64); db(0x6f); db(0x73); db(0x2e);
db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61); db(0x72); db(0x79); db(0x00);
- db(0x46); db(0x69); db(0x6c); db(0x65); db(0x53); db(0x79); db(0x73); db(0x74);
- db(0x65); db(0x6d); db(0x2e); db(0x72); db(0x65); db(0x73); db(0x6f); db(0x75);
- db(0x72); db(0x63); db(0x65); db(0x00); db(0x00); db(0x00); db(0x03); db(0xf2);
+ db(0x69); db(0x6e); db(0x74); db(0x75); db(0x69); db(0x74); db(0x69); db(0x6f);
+ db(0x6e); db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61); db(0x72);
+ db(0x79); db(0x00); db(0x65); db(0x78); db(0x70); db(0x61); db(0x6e); db(0x73);
+ db(0x69); db(0x6f); db(0x6e); db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72);
+ db(0x61); db(0x72); db(0x79); db(0x00); db(0x46); db(0x69); db(0x6c); db(0x65);
+ db(0x53); db(0x79); db(0x73); db(0x74); db(0x65); db(0x6d); db(0x2e); db(0x72);
+ db(0x65); db(0x73); db(0x6f); db(0x75); db(0x72); db(0x63); db(0x65); db(0x00);
+ db(0x00); db(0x00); db(0x03); db(0xf2);
return 1;
}
+static int nodisk (struct hardfiledata *hfd)
+{
+ if (hfd->drive_empty)
+ return 1;
+ return 0;
+}
+
int scsi_emulate(struct hardfiledata *hfd, struct hd_hardfiledata *hdhfd, uae_u8 *cmdbuf, int scsi_cmd_len,
uae_u8 *scsi_data, int *data_len, uae_u8 *r, int *reply_len, uae_u8 *s, int *sense_len)
{
switch (cmdbuf[0])
{
case 0x00: /* TEST UNIT READY */
+ if (nodisk (hfd))
+ goto nodisk;
break;
case 0x08: /* READ (6) */
+ if (nodisk (hfd))
+ goto nodisk;
offset = ((cmdbuf[1] & 31) << 16) | (cmdbuf[2] << 8) | cmdbuf[3];
offset *= hfd->blocksize;
len = cmdbuf[4];
scsi_len = (uae_u32)cmd_readx (hfd, scsi_data, offset, len);
break;
case 0x0a: /* WRITE (6) */
+ if (nodisk (hfd))
+ goto nodisk;
offset = ((cmdbuf[1] & 31) << 16) | (cmdbuf[2] << 8) | cmdbuf[3];
offset *= hfd->blocksize;
len = cmdbuf[4];
len = cmdbuf[4];
if (cmdbuf[1] >> 5)
goto err;//r[0] = 0x7f; /* no lun supported */
+ if (hfd->drive_empty)
+ r[1] |= 0x80; // removable..
r[2] = 2; /* supports SCSI-2 */
r[3] = 2; /* response data format */
r[4] = 32; /* additional length */
int pcode = cmdbuf[2] & 0x3f;
int dbd = cmdbuf[1] & 8;
int cyl, cylsec, head, tracksec;
+ if (nodisk (hfd))
+ goto nodisk;
if (hdhfd) {
cyl = hdhfd->cyls;
head = hdhfd->heads;
uae_u32 lba = (cmdbuf[2] << 24) | (cmdbuf[3] << 16) | (cmdbuf[2] << 8) | cmdbuf[3];
uae_u32 blocks = (uae_u32)(hfd->size / hfd->blocksize - 1);
int cyl, cylsec, head, tracksec;
+ if (nodisk (hfd))
+ goto nodisk;
if (hdhfd) {
cyl = hdhfd->cyls;
head = hdhfd->heads;
}
break;
case 0x28: /* READ (10) */
+ if (nodisk (hfd))
+ goto nodisk;
offset = rl (cmdbuf + 2);
offset *= hfd->blocksize;
len = rl (cmdbuf + 7 - 2) & 0xffff;
scsi_len = (uae_u32)cmd_readx (hfd, scsi_data, offset, len);
break;
case 0x2a: /* WRITE (10) */
+ if (nodisk (hfd))
+ goto nodisk;
offset = rl (cmdbuf + 2);
offset *= hfd->blocksize;
len = rl (cmdbuf + 7 - 2) & 0xffff;
scsi_len = (uae_u32)cmd_writex (hfd, scsi_data, offset, len);
break;
case 0x35: /* SYNCRONIZE CACHE (10) */
+ if (nodisk (hfd))
+ goto nodisk;
break;
case 0xa8: /* READ (12) */
+ if (nodisk (hfd))
+ goto nodisk;
offset = rl (cmdbuf + 2);
offset *= hfd->blocksize;
len = rl (cmdbuf + 6);
scsi_len = (uae_u32)cmd_readx (hfd, scsi_data, offset, len);
break;
case 0xaa: /* WRITE (12) */
+ if (nodisk (hfd))
+ goto nodisk;
offset = rl (cmdbuf + 2);
offset *= hfd->blocksize;
len = rl (cmdbuf + 6);
scsi_len = (uae_u32)cmd_writex (hfd, scsi_data, offset, len);
break;
case 0x37: /* READ DEFECT DATA */
+ if (nodisk (hfd))
+ goto nodisk;
write_log ("UAEHF: READ DEFECT DATA\n");
status = 2; /* CHECK CONDITION */
s[0] = 0x70;
s[12] = 0x1c; /* DEFECT LIST NOT FOUND */
ls = 12;
break;
+nodisk:
+ status = 2; /* CHECK CONDITION */
+ s[0] = 0x70;
+ s[2] = 2; /* NOT READY */
+ s[12] = 0x3A; /* MEDIUM NOT PRESENT */
+ ls = 12;
+ break;
+
default:
err:
lr = -1;
void hardfile_do_disk_change (int fsid, int insert)
{
int j;
+ int newstate = insert ? 0 : 1;
+ struct hardfiledata *hfd;
- write_log("uaehf.device:%d %d\n", fsid, insert);
+ hfd = get_hardfile_data (fsid);
+ if (!hfd)
+ return;
+ if (hfd->drive_empty == newstate)
+ return;
+ write_log("uaehf.device:%d media status=%d\n", fsid, insert);
+ hfd->drive_empty = newstate;
uae_sem_wait (&change_sem);
hardfpd[fsid].changenum++;
j = 0;
int err = -1;
/* Check unit number */
- if (unit >= 0 && get_hardfile_data (unit) && start_thread (context, unit)) {
- put_word (hfpd->base + 32, get_word (hfpd->base + 32) + 1);
- put_long (tmp1 + 24, unit); /* io_Unit */
- put_byte (tmp1 + 31, 0); /* io_Error */
- put_byte (tmp1 + 8, 7); /* ln_type = NT_REPLYMSG */
- hf_log ("hardfile_open, unit %d (%d), OK\n", unit, m68k_dreg (&context->regs, 0));
- return 0;
+ if (unit >= 0) {
+ struct hardfiledata *hfd = get_hardfile_data (unit);
+ if (hfd && hfd->handle_valid && start_thread (context, unit)) {
+ put_word (hfpd->base + 32, get_word (hfpd->base + 32) + 1);
+ put_long (tmp1 + 24, unit); /* io_Unit */
+ put_byte (tmp1 + 31, 0); /* io_Error */
+ put_byte (tmp1 + 8, 7); /* ln_type = NT_REPLYMSG */
+ hf_log ("hardfile_open, unit %d (%d), OK\n", unit, m68k_dreg (&context->regs, 0));
+ return 0;
+ }
}
if (unit < 1000 || is_hardfile(unit) == FILESYS_VIRTUAL)
err = 50; /* HFERR_NoBoard */
switch (cmd)
{
case CMD_READ:
+ if (nodisk (hfd))
+ goto no_disk;
offset = get_long (request + 44);
len = get_long (request + 36); /* io_Length */
if ((offset & bmask) || (len & bmask)) {
case TD_READ64:
case NSCMD_TD_READ64:
+ if (nodisk (hfd))
+ goto no_disk;
offset64 = get_long (request + 44) | ((uae_u64)get_long (request + 32) << 32);
len = get_long (request + 36); /* io_Length */
if ((offset64 & bmask) || (len & bmask)) {
case CMD_WRITE:
case CMD_FORMAT: /* Format */
+ if (nodisk (hfd))
+ goto no_disk;
if (hfd->readonly) {
error = 28; /* write protect */
} else {
case TD_FORMAT64:
case NSCMD_TD_WRITE64:
case NSCMD_TD_FORMAT64:
+ if (nodisk (hfd))
+ goto no_disk;
if (hfd->readonly) {
error = 28; /* write protect */
} else {
bad_command:
error = -5; /* IOERR_BADADDRESS */
break;
+ no_disk:
+ error = 29; /* no disk */
+ break;
case NSCMD_DEVICEQUERY:
put_long (dataptr + 4, 16); /* size */
break;
case CMD_CHANGESTATE:
- actual = 0;
+ actual = hfd->drive_empty ? 1 :0;
break;
/* Some commands that just do nothing and return zero */
{
uae_u64 size;
int ismounted;
+ int ismedia;
int nrcyls;
};
int warned;
uae_u8 *virtual_rdb;
uae_u64 virtual_size;
+
+ int drive_empty;
+ char *emptyname;
};
#define HFD_FLAGS_REALDRIVE 1
+++ /dev/null
-
-typedef unsigned char u8;
-typedef unsigned short u16;
-typedef unsigned long u32;
-
-extern void S2X_refresh (void);
-extern void S2X_render (void);
-extern void S2X_init (int dw, int dh, int aw, int ah, int mult, int ad, int dd);
-
-typedef unsigned char uint8;
-typedef unsigned short uint16;
-typedef unsigned long uint32;
-typedef int bool;
-
-extern void S2X_configure (int rb, int gb, int bb, int rs, int gs, int bs);
-extern int Init_2xSaI(int rb, int gb, int bb, int rs, int gs, int bs);
-extern void Super2xSaI(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height);
-extern void SuperEagle(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height);
-extern void _2xSaI(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height);
-extern void AdMame2x(u8 *srcPtr, u32 srcPitch, /* u8 deltaPtr, */
- u8 *dstPtr, u32 dstPitch, int width, int height);
-extern void AdMame2x32(u8 *srcPtr, u32 srcPitch, /* u8 deltaPtr, */
- u8 *dstPtr, u32 dstPitch, int width, int height);
-
-extern void hq_init(int rb, int gb, int bb, int rs, int gs, int bs);
-extern void hq2x_32(unsigned char*, unsigned char*, int, int, int, int, int);
-extern void hq3x_32(unsigned char*, unsigned char*, int, int, int, int, int);
-extern void hq3x_16(unsigned char*, unsigned char*, int, int, int, int, int);
-extern void hq4x_32(unsigned char*, unsigned char*, int, int, int, int, int);
-
-#define UAE_FILTER_NULL 1
-#define UAE_FILTER_DIRECT3D 2
-#define UAE_FILTER_OPENGL 3
-#define UAE_FILTER_SCALE2X 4
-#define UAE_FILTER_SUPEREAGLE 5
-#define UAE_FILTER_SUPER2XSAI 6
-#define UAE_FILTER_2XSAI 7
-#define UAE_FILTER_HQ 8
-
-#define UAE_FILTER_MODE_16 16
-#define UAE_FILTER_MODE_16_16 16
-#define UAE_FILTER_MODE_16_32 (16 | 8)
-#define UAE_FILTER_MODE_32 32
-#define UAE_FILTER_MODE_32_32 32
-#define UAE_FILTER_MODE_32_16 (32 | 8)
-
-
-struct uae_filter
-{
- int type;
- char *name, *cfgname;
- int x[5];
-};
-
-extern struct uae_filter uaefilters[];
-extern struct uae_filter *usedfilter;
u8 *dstPtr, u32 dstPitch, int width, int height);
extern void hq_init(int rb, int gb, int bb, int rs, int gs, int bs);
-extern void hq2x_32(unsigned char*, unsigned char*, int, int, int, int, int);
-extern void hq3x_32(unsigned char*, unsigned char*, int, int, int, int, int);
-extern void hq3x_16(unsigned char*, unsigned char*, int, int, int, int, int);
-extern void hq4x_32(unsigned char*, unsigned char*, int, int, int, int, int);
+extern void hq2x_16(unsigned char*, unsigned char*, DWORD, DWORD, DWORD);
+extern void hq2x_32(unsigned char*, unsigned char*, DWORD, DWORD, DWORD);
#define UAE_FILTER_NULL 1
#define UAE_FILTER_DIRECT3D 2
DDSURFACEDESC2 desc;
} temporary;
struct
+ {
+ LPDIRECTDRAWSURFACE7 surface;
+ DDSURFACEDESC2 desc;
+ } temporary2;
+ struct
{
DDSURFACEDESC2 desc;
} current;
uae_u64 size;
uae_u64 offset;
int bytespersector;
+ int removablemedia;
+ int nomedia;
int dangerous;
};
*/
int harddrive_dangerous, do_rdbdump;
-static int num_drives;
static struct uae_driveinfo uae_drives[MAX_FILESYSTEM_UNITS];
+static int isnomediaerr (DWORD err)
+{
+ if (err == ERROR_NOT_READY ||
+ err == ERROR_MEDIA_CHANGED ||
+ err == ERROR_NO_MEDIA_IN_DRIVE ||
+ err == ERROR_DEV_NOT_EXIST ||
+ err == ERROR_BAD_NET_NAME)
+ return 1;
+ return 0;
+}
+
static void rdbdump (HANDLE *h, uae_u64 offset, uae_u8 *buf, int blocksize)
{
static int cnt = 1;
{
int i;
- for (i = 0; i < num_drives; i++) {
+ for (i = 0; i < hdf_getnumharddrives (); i++) {
if (!strcmp (uae_drives[i].device_name, name))
return i;
}
static char *hdz[] = { "hdz", "zip", "rar", "7z", NULL };
-int hdf_open (struct hardfiledata *hfd, const char *name)
+int hdf_open (struct hardfiledata *hfd, const char *pname)
{
HANDLE h = INVALID_HANDLE_VALUE;
DWORD flags;
int i;
struct uae_driveinfo *udi;
+ char *name = my_strdup (pname);
hfd->flags = 0;
+ hfd->drive_empty = 0;
hdf_close (hfd);
hfd->cache = VirtualAlloc (NULL, CACHE_SIZE, MEM_COMMIT, PAGE_READWRITE);
hfd->cache_valid = 0;
hfd->virtual_rdb = NULL;
if (!hfd->cache) {
write_log ("VirtualAlloc(%d) failed, error %d\n", CACHE_SIZE, GetLastError());
- return 0;
+ goto end;
}
hfd_log ("hfd open: '%s'\n", name);
if (strlen (name) > 4 && !memcmp (name, "HD_", 3)) {
DWORD r;
udi = &uae_drives[i];
hfd->flags = HFD_FLAGS_REALDRIVE;
- flags = FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS;
+ if (udi->nomedia)
+ hfd->drive_empty = -1;
+ flags = FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS;
h = CreateFile (udi->device_path,
GENERIC_READ | (hfd->readonly ? 0 : GENERIC_WRITE),
FILE_SHARE_READ | (hfd->readonly ? 0 : FILE_SHARE_WRITE),
NULL, OPEN_EXISTING, flags, NULL);
hfd->handle = h;
- if (h == INVALID_HANDLE_VALUE) {
- hdf_close (hfd);
- return 0;
- }
+ if (h == INVALID_HANDLE_VALUE)
+ goto end;
if (!DeviceIoControl(h, FSCTL_ALLOW_EXTENDED_DASD_IO, NULL, 0, NULL, 0, &r, NULL))
write_log ("FSCTL_ALLOW_EXTENDED_DASD_IO returned %d\n", GetLastError());
strncpy (hfd->vendor_id, udi->vendor_id, 8);
abort ();
}
hfd->blocksize = udi->bytespersector;
- if (hfd->offset == 0) {
+ if (hfd->offset == 0 && !hfd->drive_empty) {
int sf = safetycheck (hfd->handle, 0, hfd->cache, hfd->blocksize);
- if (sf > 0) {
- hdf_close (hfd);
- return 0;
- }
- if (sf == 0) {
+ if (sf > 0)
+ goto end;
+ if (sf == 0 && hfd->warned >= 0) {
if (harddrive_dangerous != 0x1234dead) {
- gui_message_id (IDS_HARDDRIVESAFETYWARNING1);
- hdf_close(hfd);
- return 0;
+ if (!hfd->warned)
+ gui_message_id (IDS_HARDDRIVESAFETYWARNING1);
+ hfd->warned = 1;
+ goto end;
}
if (!hfd->warned) {
gui_message_id (IDS_HARDDRIVESAFETYWARNING2);
hfd->warned = 1;
}
}
+ } else {
+ hfd->warned = -1;
}
hfd->handle_valid = HDF_HANDLE_WIN32;
+ hfd->emptyname = my_strdup (name);
+ } else {
+ hfd->flags = HFD_FLAGS_REALDRIVE;
+ hfd->drive_empty = -1;
+ hfd->emptyname = my_strdup (name);
}
} else {
int zmode = 0;
DWORD ret, low, high;
high = 0;
ret = SetFilePointer (h, 0, &high, FILE_END);
- if (ret == INVALID_FILE_SIZE && GetLastError() != NO_ERROR) {
- hdf_close (hfd);
- return 0;
- }
+ if (ret == INVALID_FILE_SIZE && GetLastError() != NO_ERROR)
+ goto end;
low = GetFileSize (h, &high);
- if (low == INVALID_FILE_SIZE && GetLastError() != NO_ERROR) {
- hdf_close (hfd);
- return 0;
- }
+ if (low == INVALID_FILE_SIZE && GetLastError() != NO_ERROR)
+ goto end;
low &= ~(hfd->blocksize - 1);
hfd->size = hfd->size2 = ((uae_u64)high << 32) | low;
hfd->handle_valid = HDF_HANDLE_WIN32;
write_log ("HDF '%s' re-opened in zfile-mode\n", name);
CloseHandle (h);
hfd->handle = h = zfile_fopen(name, hfd->readonly ? "rb" : "r+b");
- if (!h) {
- hdf_close (hfd);
- return 0;
- }
+ if (!h)
+ goto end;
zfile_fseek (h, 0, SEEK_END);
hfd->size = hfd->size2 = zfile_ftell (h);
zfile_fseek (h, 0, SEEK_SET);
}
}
hfd->handle = h;
- if (hfd->handle != INVALID_HANDLE_VALUE) {
- hfd_log ("HDF '%s' opened succesfully, handle=%p, mode=%d\n", name, hfd->handle, hfd->handle_valid);
+ if (hfd->handle_valid || hfd->drive_empty) {
+ hfd_log ("HDF '%s' opened succesfully, mode=%d empty=%d\n",
+ name, hfd->handle_valid, hfd->drive_empty);
return 1;
}
+end:
hdf_close (hfd);
+ xfree (name);
return 0;
}
{
if (!hfd->handle_valid)
return;
- hfd_log ("close handle=%p\n", hfd->handle);
if (hfd->handle && hfd->handle != INVALID_HANDLE_VALUE) {
if (hfd->handle_valid == HDF_HANDLE_WIN32)
CloseHandle (hfd->handle);
else if(hfd->handle_valid == HDF_HANDLE_ZFILE)
zfile_fclose (hfd->handle);
}
+ xfree (hfd->emptyname);
+ hfd->emptyname = NULL;
hfd->handle = 0;
hfd->handle_valid = 0;
if (hfd->cache)
hfd->virtual_size = 0;
hfd->cache = 0;
hfd->cache_valid = 0;
+ hfd->drive_empty = 0;
}
int hdf_dup (struct hardfiledata *dhfd, const struct hardfiledata *shfd)
int got = 0;
uae_u8 *p = buffer;
+ if (hfd->drive_empty)
+ return 0;
if (offset < hfd->virtual_size) {
uae_u64 len2 = offset + len <= hfd->virtual_size ? len : hfd->virtual_size - offset;
if (!hfd->virtual_rdb)
{
int got = 0;
uae_u8 *p = buffer;
+
+ if (hfd->drive_empty)
+ return 0;
if (offset < hfd->virtual_size)
return len;
offset -= hfd->virtual_size;
hDevice,
IOCTL_STORAGE_QUERY_PROPERTY,
&query,
- sizeof( STORAGE_PROPERTY_QUERY ),
+ sizeof(STORAGE_PROPERTY_QUERY),
&outBuf,
sizeof (outBuf),
&returnedLength,
NULL
);
- if ( !status ) {
+ if (!status) {
write_log ("IOCTL_STORAGE_QUERY_PROPERTY failed with error code%d.\n", GetLastError());
ret = 1;
goto end;
hDevice,
IOCTL_STORAGE_QUERY_PROPERTY,
&query,
- sizeof( STORAGE_PROPERTY_QUERY ),
+ sizeof(STORAGE_PROPERTY_QUERY),
&outBuf,
sizeof (outBuf),
&returnedLength,
write_log ("empty device id?!?, replacing with device path\n");
strcpy (udi->device_name, udi->device_path);
}
+ udi->removablemedia = devDesc->RemovableMedia;
write_log ("device id string: '%s'\n", udi->device_name);
+ strcpy (orgname, udi->device_name);
if (!DeviceIoControl (hDevice, IOCTL_DISK_GET_DRIVE_GEOMETRY, NULL, 0, (void*)&dg, sizeof (dg), &returnedLength, NULL)) {
- write_log ("IOCTL_DISK_GET_DRIVE_GEOMETRY failed with error code %d.\n", GetLastError());
+ DWORD err = GetLastError();
+ if (isnomediaerr (err)) {
+ udi->nomedia = 1;
+ goto amipartfound;
+ }
+ write_log ("IOCTL_DISK_GET_DRIVE_GEOMETRY failed with error code %d.\n", err);
ret = 1;
goto end;
}
ret = 1;
goto end;
}
- strcpy (orgname, udi->device_name);
trim (orgname);
dli = (DRIVE_LAYOUT_INFORMATION*)outBuf;
if (dli->PartitionCount) {
}
#endif
-int hdf_init (void)
+
+static int num_drives;
+
+static int hdf_init2 (int force)
{
#ifdef WINDDK
HDEVINFO hIntDevInfo;
uae_u8 *buffer;
static int done;
- if (done)
+ if (done && !force)
return num_drives;
done = 1;
num_drives = 0;
return num_drives;
}
+int hdf_init (void)
+{
+ return hdf_init2 (0);
+}
+
int hdf_getnumharddrives (void)
{
return num_drives;
static char name[512];
char tmp[32];
uae_u64 size = uae_drives[index].size;
+ int nomedia = uae_drives[index].nomedia;
char *dang = "?";
switch (uae_drives[index].dangerous)
dang = "NON-EMPTY";
break;
}
+ if (nomedia)
+ dang = "NO MEDIA";
if (sectorsize)
*sectorsize = uae_drives[index].bytespersector;
if (flags & 1) {
- if (size >= 1024 * 1024 * 1024)
- sprintf (tmp, "%.1fG", ((double)(uae_u32)(size / (1024 * 1024))) / 1024.0);
- else
- sprintf (tmp, "%.1fM", ((double)(uae_u32)(size / (1024))) / 1024.0);
+ if (nomedia) {
+ strcpy (tmp, "N/A");
+ } else {
+ if (size >= 1024 * 1024 * 1024)
+ sprintf (tmp, "%.1fG", ((double)(uae_u32)(size / (1024 * 1024))) / 1024.0);
+ else
+ sprintf (tmp, "%.1fM", ((double)(uae_u32)(size / (1024))) / 1024.0);
+ }
sprintf (name, "%10s [%s] %s", dang, tmp, uae_drives[index].device_name);
return name;
}
return uae_drives[index].device_name;
}
+static int hmc (struct hardfiledata *hfd, int nr)
+{
+ uae_u8 *buf = xmalloc (hfd->blocksize);
+ DWORD ret, got, err, status;
+ int first = 1;
+
+ while (hfd->handle_valid) {
+ status = 0;
+ SetFilePointer (hfd->handle, 0, NULL, FILE_BEGIN);
+ ret = ReadFile (hfd->handle, buf, hfd->blocksize, &got, NULL);
+ err = GetLastError ();
+ if (!ret && err == ERROR_DEV_NOT_EXIST) {
+ if (!first)
+ break;
+ first = 0;
+ hdf_open (hfd, hfd->emptyname);
+ continue;
+ }
+ break;
+ }
+ if (ret && hfd->drive_empty)
+ status = 1;
+ if (!ret && !hfd->drive_empty && isnomediaerr (err))
+ status = -1;
+ xfree (buf);
+ return status;
+}
+
+int hardfile_remount (int nr);
+
+int win32_hardfile_media_change (void)
+{
+ int gotinsert = 0, rescanned = 0;
+ int i;
+
+ for (i = 0; i < MAX_FILESYSTEM_UNITS; i++) {
+ struct hardfiledata *hfd = get_hardfile_data (i);
+ int ret, reopen = 0;
+ if (!hfd || !(hfd->flags & HFD_FLAGS_REALDRIVE))
+ continue;
+ if (!hfd->emptyname)
+ continue;
+ if (!rescanned) {
+ hdf_init2 (1);
+ rescanned = 1;
+ }
+ if (hfd->drive_empty < 0 || !hfd->handle_valid) {
+ int empty = hfd->drive_empty;
+ if (!hdf_open (hfd, hfd->emptyname))
+ continue;
+ reopen = 1;
+ if (hfd->drive_empty < 0)
+ continue;
+ hfd->drive_empty = empty ? 1 : 0;
+ }
+ ret = hmc (hfd, i);
+ if (!ret)
+ continue;
+ if (ret > 0) {
+ if (!reopen) {
+ hdf_open (hfd, hfd->emptyname);
+ if (!hfd->handle_valid)
+ continue;
+ }
+ gotinsert = 1;
+ hardfile_remount (i);
+ }
+ hardfile_do_disk_change (i, ret < 0 ? 0 : 1);
+ }
+ return gotinsert;
+}
static int progressdialogreturn;
static int progressdialogactive;
CloseHandle(hdst);
return retcode;
}
-
+++ /dev/null
-//hq2x filter demo program
-//----------------------------------------------------------
-//Copyright (C) 2003 MaxSt ( maxst@hiend3d.com )
-
-//This program is free software; you can redistribute it and/or
-//modify it under the terms of the GNU Lesser General Public
-//License as published by the Free Software Foundation; either
-//version 2.1 of the License, or (at your option) any later version.
-//
-//This program is distributed in the hope that it will be useful,
-//but WITHOUT ANY WARRANTY; without even the implied warranty of
-//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-//Lesser General Public License for more details.
-//
-//You should have received a copy of the GNU Lesser General Public
-//License along with this program; if not, write to the Free Software
-//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-#include <stdio.h>
-
-static int LUT16to32[65536];
-static int RGBtoYUV[65536];
-static int YUV1, YUV2;
-const int Ymask = 0x00FF0000;
-const int Umask = 0x0000FF00;
-const int Vmask = 0x000000FF;
-const int trY = 0x00300000;
-const int trU = 0x00000700;
-const int trV = 0x00000006;
-
-inline void Interp1(unsigned char * pc, int c1, int c2)
-{
- *((int*)pc) = (c1*3+c2) >> 2;
-}
-
-inline void Interp2(unsigned char * pc, int c1, int c2, int c3)
-{
- *((int*)pc) = (c1*2+c2+c3) >> 2;
-}
-
-inline void Interp5(unsigned char * pc, int c1, int c2)
-{
- *((int*)pc) = (c1+c2) >> 1;
-}
-
-inline void Interp6(unsigned char * pc, int c1, int c2, int c3)
-{
- //*((int*)pc) = (c1*5+c2*2+c3)/8;
-
- *((int*)pc) = ((((c1 & 0x00FF00)*5 + (c2 & 0x00FF00)*2 + (c3 & 0x00FF00) ) & 0x0007F800) +
- (((c1 & 0xFF00FF)*5 + (c2 & 0xFF00FF)*2 + (c3 & 0xFF00FF) ) & 0x07F807F8)) >> 3;
-}
-
-inline void Interp7(unsigned char * pc, int c1, int c2, int c3)
-{
- //*((int*)pc) = (c1*6+c2+c3)/8;
-
- *((int*)pc) = ((((c1 & 0x00FF00)*6 + (c2 & 0x00FF00) + (c3 & 0x00FF00) ) & 0x0007F800) +
- (((c1 & 0xFF00FF)*6 + (c2 & 0xFF00FF) + (c3 & 0xFF00FF) ) & 0x07F807F8)) >> 3;
-}
-
-inline void Interp9(unsigned char * pc, int c1, int c2, int c3)
-{
- //*((int*)pc) = (c1*2+(c2+c3)*3)/8;
-
- *((int*)pc) = ((((c1 & 0x00FF00)*2 + ((c2 & 0x00FF00) + (c3 & 0x00FF00))*3 ) & 0x0007F800) +
- (((c1 & 0xFF00FF)*2 + ((c2 & 0xFF00FF) + (c3 & 0xFF00FF))*3 ) & 0x07F807F8)) >> 3;
-}
-
-inline void Interp10(unsigned char * pc, int c1, int c2, int c3)
-{
- //*((int*)pc) = (c1*14+c2+c3)/16;
-
- *((int*)pc) = ((((c1 & 0x00FF00)*14 + (c2 & 0x00FF00) + (c3 & 0x00FF00) ) & 0x000FF000) +
- (((c1 & 0xFF00FF)*14 + (c2 & 0xFF00FF) + (c3 & 0xFF00FF) ) & 0x0FF00FF0)) >> 4;
-}
-
-
-#define PIXEL00_0 *((int*)(pOut)) = c[5];
-#define PIXEL00_10 Interp1(pOut, c[5], c[1]);
-#define PIXEL00_11 Interp1(pOut, c[5], c[4]);
-#define PIXEL00_12 Interp1(pOut, c[5], c[2]);
-#define PIXEL00_20 Interp2(pOut, c[5], c[4], c[2]);
-#define PIXEL00_21 Interp2(pOut, c[5], c[1], c[2]);
-#define PIXEL00_22 Interp2(pOut, c[5], c[1], c[4]);
-#define PIXEL00_60 Interp6(pOut, c[5], c[2], c[4]);
-#define PIXEL00_61 Interp6(pOut, c[5], c[4], c[2]);
-#define PIXEL00_70 Interp7(pOut, c[5], c[4], c[2]);
-#define PIXEL00_90 Interp9(pOut, c[5], c[4], c[2]);
-#define PIXEL00_100 Interp10(pOut, c[5], c[4], c[2]);
-#define PIXEL01_0 *((int*)(pOut+4)) = c[5];
-#define PIXEL01_10 Interp1(pOut+4, c[5], c[3]);
-#define PIXEL01_11 Interp1(pOut+4, c[5], c[2]);
-#define PIXEL01_12 Interp1(pOut+4, c[5], c[6]);
-#define PIXEL01_20 Interp2(pOut+4, c[5], c[2], c[6]);
-#define PIXEL01_21 Interp2(pOut+4, c[5], c[3], c[6]);
-#define PIXEL01_22 Interp2(pOut+4, c[5], c[3], c[2]);
-#define PIXEL01_60 Interp6(pOut+4, c[5], c[6], c[2]);
-#define PIXEL01_61 Interp6(pOut+4, c[5], c[2], c[6]);
-#define PIXEL01_70 Interp7(pOut+4, c[5], c[2], c[6]);
-#define PIXEL01_90 Interp9(pOut+4, c[5], c[2], c[6]);
-#define PIXEL01_100 Interp10(pOut+4, c[5], c[2], c[6]);
-#define PIXEL10_0 *((int*)(pOut+BpL)) = c[5];
-#define PIXEL10_10 Interp1(pOut+BpL, c[5], c[7]);
-#define PIXEL10_11 Interp1(pOut+BpL, c[5], c[8]);
-#define PIXEL10_12 Interp1(pOut+BpL, c[5], c[4]);
-#define PIXEL10_20 Interp2(pOut+BpL, c[5], c[8], c[4]);
-#define PIXEL10_21 Interp2(pOut+BpL, c[5], c[7], c[4]);
-#define PIXEL10_22 Interp2(pOut+BpL, c[5], c[7], c[8]);
-#define PIXEL10_60 Interp6(pOut+BpL, c[5], c[4], c[8]);
-#define PIXEL10_61 Interp6(pOut+BpL, c[5], c[8], c[4]);
-#define PIXEL10_70 Interp7(pOut+BpL, c[5], c[8], c[4]);
-#define PIXEL10_90 Interp9(pOut+BpL, c[5], c[8], c[4]);
-#define PIXEL10_100 Interp10(pOut+BpL, c[5], c[8], c[4]);
-#define PIXEL11_0 *((int*)(pOut+BpL+4)) = c[5];
-#define PIXEL11_10 Interp1(pOut+BpL+4, c[5], c[9]);
-#define PIXEL11_11 Interp1(pOut+BpL+4, c[5], c[6]);
-#define PIXEL11_12 Interp1(pOut+BpL+4, c[5], c[8]);
-#define PIXEL11_20 Interp2(pOut+BpL+4, c[5], c[6], c[8]);
-#define PIXEL11_21 Interp2(pOut+BpL+4, c[5], c[9], c[8]);
-#define PIXEL11_22 Interp2(pOut+BpL+4, c[5], c[9], c[6]);
-#define PIXEL11_60 Interp6(pOut+BpL+4, c[5], c[8], c[6]);
-#define PIXEL11_61 Interp6(pOut+BpL+4, c[5], c[6], c[8]);
-#define PIXEL11_70 Interp7(pOut+BpL+4, c[5], c[6], c[8]);
-#define PIXEL11_90 Interp9(pOut+BpL+4, c[5], c[6], c[8]);
-#define PIXEL11_100 Interp10(pOut+BpL+4, c[5], c[6], c[8]);
-
-
-
-inline bool Diff(unsigned int w1, unsigned int w2)
-{
- YUV1 = RGBtoYUV[w1];
- YUV2 = RGBtoYUV[w2];
- return ( ( abs((YUV1 & Ymask) - (YUV2 & Ymask)) > trY ) ||
- ( abs((YUV1 & Umask) - (YUV2 & Umask)) > trU ) ||
- ( abs((YUV1 & Vmask) - (YUV2 & Vmask)) > trV ) );
-}
-
-void hq2x_32( unsigned char * pIn, unsigned char * pOut, int Xres, int Yres, int BpL )
-{
- int i, j, k;
- int prevline, nextline;
- int w[10];
- int c[10];
-
- // +----+----+----+
- // | | | |
- // | w1 | w2 | w3 |
- // +----+----+----+
- // | | | |
- // | w4 | w5 | w6 |
- // +----+----+----+
- // | | | |
- // | w7 | w8 | w9 |
- // +----+----+----+
-
- for (j=0; j<Yres; j++)
- {
- if (j>0) prevline = -Xres*2; else prevline = 0;
- if (j<Yres-1) nextline = Xres*2; else nextline = 0;
-
- for (i=0; i<Xres; i++)
- {
- w[2] = *((unsigned short*)(pIn + prevline));
- w[5] = *((unsigned short*)pIn);
- w[8] = *((unsigned short*)(pIn + nextline));
-
- if (i>0)
- {
- w[1] = *((unsigned short*)(pIn + prevline - 2));
- w[4] = *((unsigned short*)(pIn - 2));
- w[7] = *((unsigned short*)(pIn + nextline - 2));
- }
- else
- {
- w[1] = w[2];
- w[4] = w[5];
- w[7] = w[8];
- }
-
- if (i<Xres-1)
- {
- w[3] = *((unsigned short*)(pIn + prevline + 2));
- w[6] = *((unsigned short*)(pIn + 2));
- w[9] = *((unsigned short*)(pIn + nextline + 2));
- }
- else
- {
- w[3] = w[2];
- w[6] = w[5];
- w[9] = w[8];
- }
-
- int pattern = 0;
- int flag = 1;
-
- YUV1 = RGBtoYUV[w[5]];
-
- for (k=1; k<=9; k++)
- {
- if (k==5) continue;
-
- if ( w[k] != w[5] )
- {
- YUV2 = RGBtoYUV[w[k]];
- if ( ( abs((YUV1 & Ymask) - (YUV2 & Ymask)) > trY ) ||
- ( abs((YUV1 & Umask) - (YUV2 & Umask)) > trU ) ||
- ( abs((YUV1 & Vmask) - (YUV2 & Vmask)) > trV ) )
- pattern |= flag;
- }
- flag <<= 1;
- }
-
- for (k=1; k<=9; k++)
- c[k] = LUT16to32[w[k]];
-
- switch (pattern)
- {
- case 0:
- case 1:
- case 4:
- case 32:
- case 128:
- case 5:
- case 132:
- case 160:
- case 33:
- case 129:
- case 36:
- case 133:
- case 164:
- case 161:
- case 37:
- case 165:
- {
- PIXEL00_20
- PIXEL01_20
- PIXEL10_20
- PIXEL11_20
- break;
- }
- case 2:
- case 34:
- case 130:
- case 162:
- {
- PIXEL00_22
- PIXEL01_21
- PIXEL10_20
- PIXEL11_20
- break;
- }
- case 16:
- case 17:
- case 48:
- case 49:
- {
- PIXEL00_20
- PIXEL01_22
- PIXEL10_20
- PIXEL11_21
- break;
- }
- case 64:
- case 65:
- case 68:
- case 69:
- {
- PIXEL00_20
- PIXEL01_20
- PIXEL10_21
- PIXEL11_22
- break;
- }
- case 8:
- case 12:
- case 136:
- case 140:
- {
- PIXEL00_21
- PIXEL01_20
- PIXEL10_22
- PIXEL11_20
- break;
- }
- case 3:
- case 35:
- case 131:
- case 163:
- {
- PIXEL00_11
- PIXEL01_21
- PIXEL10_20
- PIXEL11_20
- break;
- }
- case 6:
- case 38:
- case 134:
- case 166:
- {
- PIXEL00_22
- PIXEL01_12
- PIXEL10_20
- PIXEL11_20
- break;
- }
- case 20:
- case 21:
- case 52:
- case 53:
- {
- PIXEL00_20
- PIXEL01_11
- PIXEL10_20
- PIXEL11_21
- break;
- }
- case 144:
- case 145:
- case 176:
- case 177:
- {
- PIXEL00_20
- PIXEL01_22
- PIXEL10_20
- PIXEL11_12
- break;
- }
- case 192:
- case 193:
- case 196:
- case 197:
- {
- PIXEL00_20
- PIXEL01_20
- PIXEL10_21
- PIXEL11_11
- break;
- }
- case 96:
- case 97:
- case 100:
- case 101:
- {
- PIXEL00_20
- PIXEL01_20
- PIXEL10_12
- PIXEL11_22
- break;
- }
- case 40:
- case 44:
- case 168:
- case 172:
- {
- PIXEL00_21
- PIXEL01_20
- PIXEL10_11
- PIXEL11_20
- break;
- }
- case 9:
- case 13:
- case 137:
- case 141:
- {
- PIXEL00_12
- PIXEL01_20
- PIXEL10_22
- PIXEL11_20
- break;
- }
- case 18:
- case 50:
- {
- PIXEL00_22
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_20
- PIXEL11_21
- break;
- }
- case 80:
- case 81:
- {
- PIXEL00_20
- PIXEL01_22
- PIXEL10_21
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 72:
- case 76:
- {
- PIXEL00_21
- PIXEL01_20
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_20
- }
- PIXEL11_22
- break;
- }
- case 10:
- case 138:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_20
- }
- PIXEL01_21
- PIXEL10_22
- PIXEL11_20
- break;
- }
- case 66:
- {
- PIXEL00_22
- PIXEL01_21
- PIXEL10_21
- PIXEL11_22
- break;
- }
- case 24:
- {
- PIXEL00_21
- PIXEL01_22
- PIXEL10_22
- PIXEL11_21
- break;
- }
- case 7:
- case 39:
- case 135:
- {
- PIXEL00_11
- PIXEL01_12
- PIXEL10_20
- PIXEL11_20
- break;
- }
- case 148:
- case 149:
- case 180:
- {
- PIXEL00_20
- PIXEL01_11
- PIXEL10_20
- PIXEL11_12
- break;
- }
- case 224:
- case 228:
- case 225:
- {
- PIXEL00_20
- PIXEL01_20
- PIXEL10_12
- PIXEL11_11
- break;
- }
- case 41:
- case 169:
- case 45:
- {
- PIXEL00_12
- PIXEL01_20
- PIXEL10_11
- PIXEL11_20
- break;
- }
- case 22:
- case 54:
- {
- PIXEL00_22
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_20
- PIXEL11_21
- break;
- }
- case 208:
- case 209:
- {
- PIXEL00_20
- PIXEL01_22
- PIXEL10_21
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 104:
- case 108:
- {
- PIXEL00_21
- PIXEL01_20
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- PIXEL11_22
- break;
- }
- case 11:
- case 139:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- PIXEL01_21
- PIXEL10_22
- PIXEL11_20
- break;
- }
- case 19:
- case 51:
- {
- if (Diff(w[2], w[6]))
- {
- PIXEL00_11
- PIXEL01_10
- }
- else
- {
- PIXEL00_60
- PIXEL01_90
- }
- PIXEL10_20
- PIXEL11_21
- break;
- }
- case 146:
- case 178:
- {
- PIXEL00_22
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- PIXEL11_12
- }
- else
- {
- PIXEL01_90
- PIXEL11_61
- }
- PIXEL10_20
- break;
- }
- case 84:
- case 85:
- {
- PIXEL00_20
- if (Diff(w[6], w[8]))
- {
- PIXEL01_11
- PIXEL11_10
- }
- else
- {
- PIXEL01_60
- PIXEL11_90
- }
- PIXEL10_21
- break;
- }
- case 112:
- case 113:
- {
- PIXEL00_20
- PIXEL01_22
- if (Diff(w[6], w[8]))
- {
- PIXEL10_12
- PIXEL11_10
- }
- else
- {
- PIXEL10_61
- PIXEL11_90
- }
- break;
- }
- case 200:
- case 204:
- {
- PIXEL00_21
- PIXEL01_20
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- PIXEL11_11
- }
- else
- {
- PIXEL10_90
- PIXEL11_60
- }
- break;
- }
- case 73:
- case 77:
- {
- if (Diff(w[8], w[4]))
- {
- PIXEL00_12
- PIXEL10_10
- }
- else
- {
- PIXEL00_61
- PIXEL10_90
- }
- PIXEL01_20
- PIXEL11_22
- break;
- }
- case 42:
- case 170:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- PIXEL10_11
- }
- else
- {
- PIXEL00_90
- PIXEL10_60
- }
- PIXEL01_21
- PIXEL11_20
- break;
- }
- case 14:
- case 142:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- PIXEL01_12
- }
- else
- {
- PIXEL00_90
- PIXEL01_61
- }
- PIXEL10_22
- PIXEL11_20
- break;
- }
- case 67:
- {
- PIXEL00_11
- PIXEL01_21
- PIXEL10_21
- PIXEL11_22
- break;
- }
- case 70:
- {
- PIXEL00_22
- PIXEL01_12
- PIXEL10_21
- PIXEL11_22
- break;
- }
- case 28:
- {
- PIXEL00_21
- PIXEL01_11
- PIXEL10_22
- PIXEL11_21
- break;
- }
- case 152:
- {
- PIXEL00_21
- PIXEL01_22
- PIXEL10_22
- PIXEL11_12
- break;
- }
- case 194:
- {
- PIXEL00_22
- PIXEL01_21
- PIXEL10_21
- PIXEL11_11
- break;
- }
- case 98:
- {
- PIXEL00_22
- PIXEL01_21
- PIXEL10_12
- PIXEL11_22
- break;
- }
- case 56:
- {
- PIXEL00_21
- PIXEL01_22
- PIXEL10_11
- PIXEL11_21
- break;
- }
- case 25:
- {
- PIXEL00_12
- PIXEL01_22
- PIXEL10_22
- PIXEL11_21
- break;
- }
- case 26:
- case 31:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_22
- PIXEL11_21
- break;
- }
- case 82:
- case 214:
- {
- PIXEL00_22
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_21
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 88:
- case 248:
- {
- PIXEL00_21
- PIXEL01_22
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 74:
- case 107:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- PIXEL01_21
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- PIXEL11_22
- break;
- }
- case 27:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- PIXEL01_10
- PIXEL10_22
- PIXEL11_21
- break;
- }
- case 86:
- {
- PIXEL00_22
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_21
- PIXEL11_10
- break;
- }
- case 216:
- {
- PIXEL00_21
- PIXEL01_22
- PIXEL10_10
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 106:
- {
- PIXEL00_10
- PIXEL01_21
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- PIXEL11_22
- break;
- }
- case 30:
- {
- PIXEL00_10
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_22
- PIXEL11_21
- break;
- }
- case 210:
- {
- PIXEL00_22
- PIXEL01_10
- PIXEL10_21
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 120:
- {
- PIXEL00_21
- PIXEL01_22
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- PIXEL11_10
- break;
- }
- case 75:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- PIXEL01_21
- PIXEL10_10
- PIXEL11_22
- break;
- }
- case 29:
- {
- PIXEL00_12
- PIXEL01_11
- PIXEL10_22
- PIXEL11_21
- break;
- }
- case 198:
- {
- PIXEL00_22
- PIXEL01_12
- PIXEL10_21
- PIXEL11_11
- break;
- }
- case 184:
- {
- PIXEL00_21
- PIXEL01_22
- PIXEL10_11
- PIXEL11_12
- break;
- }
- case 99:
- {
- PIXEL00_11
- PIXEL01_21
- PIXEL10_12
- PIXEL11_22
- break;
- }
- case 57:
- {
- PIXEL00_12
- PIXEL01_22
- PIXEL10_11
- PIXEL11_21
- break;
- }
- case 71:
- {
- PIXEL00_11
- PIXEL01_12
- PIXEL10_21
- PIXEL11_22
- break;
- }
- case 156:
- {
- PIXEL00_21
- PIXEL01_11
- PIXEL10_22
- PIXEL11_12
- break;
- }
- case 226:
- {
- PIXEL00_22
- PIXEL01_21
- PIXEL10_12
- PIXEL11_11
- break;
- }
- case 60:
- {
- PIXEL00_21
- PIXEL01_11
- PIXEL10_11
- PIXEL11_21
- break;
- }
- case 195:
- {
- PIXEL00_11
- PIXEL01_21
- PIXEL10_21
- PIXEL11_11
- break;
- }
- case 102:
- {
- PIXEL00_22
- PIXEL01_12
- PIXEL10_12
- PIXEL11_22
- break;
- }
- case 153:
- {
- PIXEL00_12
- PIXEL01_22
- PIXEL10_22
- PIXEL11_12
- break;
- }
- case 58:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- PIXEL10_11
- PIXEL11_21
- break;
- }
- case 83:
- {
- PIXEL00_11
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- PIXEL10_21
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 92:
- {
- PIXEL00_21
- PIXEL01_11
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 202:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- PIXEL01_21
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- PIXEL11_11
- break;
- }
- case 78:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- PIXEL01_12
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- PIXEL11_22
- break;
- }
- case 154:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- PIXEL10_22
- PIXEL11_12
- break;
- }
- case 114:
- {
- PIXEL00_22
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- PIXEL10_12
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 89:
- {
- PIXEL00_12
- PIXEL01_22
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 90:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 55:
- case 23:
- {
- if (Diff(w[2], w[6]))
- {
- PIXEL00_11
- PIXEL01_0
- }
- else
- {
- PIXEL00_60
- PIXEL01_90
- }
- PIXEL10_20
- PIXEL11_21
- break;
- }
- case 182:
- case 150:
- {
- PIXEL00_22
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- PIXEL11_12
- }
- else
- {
- PIXEL01_90
- PIXEL11_61
- }
- PIXEL10_20
- break;
- }
- case 213:
- case 212:
- {
- PIXEL00_20
- if (Diff(w[6], w[8]))
- {
- PIXEL01_11
- PIXEL11_0
- }
- else
- {
- PIXEL01_60
- PIXEL11_90
- }
- PIXEL10_21
- break;
- }
- case 241:
- case 240:
- {
- PIXEL00_20
- PIXEL01_22
- if (Diff(w[6], w[8]))
- {
- PIXEL10_12
- PIXEL11_0
- }
- else
- {
- PIXEL10_61
- PIXEL11_90
- }
- break;
- }
- case 236:
- case 232:
- {
- PIXEL00_21
- PIXEL01_20
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- PIXEL11_11
- }
- else
- {
- PIXEL10_90
- PIXEL11_60
- }
- break;
- }
- case 109:
- case 105:
- {
- if (Diff(w[8], w[4]))
- {
- PIXEL00_12
- PIXEL10_0
- }
- else
- {
- PIXEL00_61
- PIXEL10_90
- }
- PIXEL01_20
- PIXEL11_22
- break;
- }
- case 171:
- case 43:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- PIXEL10_11
- }
- else
- {
- PIXEL00_90
- PIXEL10_60
- }
- PIXEL01_21
- PIXEL11_20
- break;
- }
- case 143:
- case 15:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- PIXEL01_12
- }
- else
- {
- PIXEL00_90
- PIXEL01_61
- }
- PIXEL10_22
- PIXEL11_20
- break;
- }
- case 124:
- {
- PIXEL00_21
- PIXEL01_11
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- PIXEL11_10
- break;
- }
- case 203:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- PIXEL01_21
- PIXEL10_10
- PIXEL11_11
- break;
- }
- case 62:
- {
- PIXEL00_10
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_11
- PIXEL11_21
- break;
- }
- case 211:
- {
- PIXEL00_11
- PIXEL01_10
- PIXEL10_21
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 118:
- {
- PIXEL00_22
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_12
- PIXEL11_10
- break;
- }
- case 217:
- {
- PIXEL00_12
- PIXEL01_22
- PIXEL10_10
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 110:
- {
- PIXEL00_10
- PIXEL01_12
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- PIXEL11_22
- break;
- }
- case 155:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- PIXEL01_10
- PIXEL10_22
- PIXEL11_12
- break;
- }
- case 188:
- {
- PIXEL00_21
- PIXEL01_11
- PIXEL10_11
- PIXEL11_12
- break;
- }
- case 185:
- {
- PIXEL00_12
- PIXEL01_22
- PIXEL10_11
- PIXEL11_12
- break;
- }
- case 61:
- {
- PIXEL00_12
- PIXEL01_11
- PIXEL10_11
- PIXEL11_21
- break;
- }
- case 157:
- {
- PIXEL00_12
- PIXEL01_11
- PIXEL10_22
- PIXEL11_12
- break;
- }
- case 103:
- {
- PIXEL00_11
- PIXEL01_12
- PIXEL10_12
- PIXEL11_22
- break;
- }
- case 227:
- {
- PIXEL00_11
- PIXEL01_21
- PIXEL10_12
- PIXEL11_11
- break;
- }
- case 230:
- {
- PIXEL00_22
- PIXEL01_12
- PIXEL10_12
- PIXEL11_11
- break;
- }
- case 199:
- {
- PIXEL00_11
- PIXEL01_12
- PIXEL10_21
- PIXEL11_11
- break;
- }
- case 220:
- {
- PIXEL00_21
- PIXEL01_11
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 158:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_22
- PIXEL11_12
- break;
- }
- case 234:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- PIXEL01_21
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- PIXEL11_11
- break;
- }
- case 242:
- {
- PIXEL00_22
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- PIXEL10_12
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 59:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- PIXEL10_11
- PIXEL11_21
- break;
- }
- case 121:
- {
- PIXEL00_12
- PIXEL01_22
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 87:
- {
- PIXEL00_11
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_21
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 79:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- PIXEL01_12
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- PIXEL11_22
- break;
- }
- case 122:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 94:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 218:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 91:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 229:
- {
- PIXEL00_20
- PIXEL01_20
- PIXEL10_12
- PIXEL11_11
- break;
- }
- case 167:
- {
- PIXEL00_11
- PIXEL01_12
- PIXEL10_20
- PIXEL11_20
- break;
- }
- case 173:
- {
- PIXEL00_12
- PIXEL01_20
- PIXEL10_11
- PIXEL11_20
- break;
- }
- case 181:
- {
- PIXEL00_20
- PIXEL01_11
- PIXEL10_20
- PIXEL11_12
- break;
- }
- case 186:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- PIXEL10_11
- PIXEL11_12
- break;
- }
- case 115:
- {
- PIXEL00_11
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- PIXEL10_12
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 93:
- {
- PIXEL00_12
- PIXEL01_11
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 206:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- PIXEL01_12
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- PIXEL11_11
- break;
- }
- case 205:
- case 201:
- {
- PIXEL00_12
- PIXEL01_20
- if (Diff(w[8], w[4]))
- {
- PIXEL10_10
- }
- else
- {
- PIXEL10_70
- }
- PIXEL11_11
- break;
- }
- case 174:
- case 46:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_10
- }
- else
- {
- PIXEL00_70
- }
- PIXEL01_12
- PIXEL10_11
- PIXEL11_20
- break;
- }
- case 179:
- case 147:
- {
- PIXEL00_11
- if (Diff(w[2], w[6]))
- {
- PIXEL01_10
- }
- else
- {
- PIXEL01_70
- }
- PIXEL10_20
- PIXEL11_12
- break;
- }
- case 117:
- case 116:
- {
- PIXEL00_20
- PIXEL01_11
- PIXEL10_12
- if (Diff(w[6], w[8]))
- {
- PIXEL11_10
- }
- else
- {
- PIXEL11_70
- }
- break;
- }
- case 189:
- {
- PIXEL00_12
- PIXEL01_11
- PIXEL10_11
- PIXEL11_12
- break;
- }
- case 231:
- {
- PIXEL00_11
- PIXEL01_12
- PIXEL10_12
- PIXEL11_11
- break;
- }
- case 126:
- {
- PIXEL00_10
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- PIXEL11_10
- break;
- }
- case 219:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- PIXEL01_10
- PIXEL10_10
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 125:
- {
- if (Diff(w[8], w[4]))
- {
- PIXEL00_12
- PIXEL10_0
- }
- else
- {
- PIXEL00_61
- PIXEL10_90
- }
- PIXEL01_11
- PIXEL11_10
- break;
- }
- case 221:
- {
- PIXEL00_12
- if (Diff(w[6], w[8]))
- {
- PIXEL01_11
- PIXEL11_0
- }
- else
- {
- PIXEL01_60
- PIXEL11_90
- }
- PIXEL10_10
- break;
- }
- case 207:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- PIXEL01_12
- }
- else
- {
- PIXEL00_90
- PIXEL01_61
- }
- PIXEL10_10
- PIXEL11_11
- break;
- }
- case 238:
- {
- PIXEL00_10
- PIXEL01_12
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- PIXEL11_11
- }
- else
- {
- PIXEL10_90
- PIXEL11_60
- }
- break;
- }
- case 190:
- {
- PIXEL00_10
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- PIXEL11_12
- }
- else
- {
- PIXEL01_90
- PIXEL11_61
- }
- PIXEL10_11
- break;
- }
- case 187:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- PIXEL10_11
- }
- else
- {
- PIXEL00_90
- PIXEL10_60
- }
- PIXEL01_10
- PIXEL11_12
- break;
- }
- case 243:
- {
- PIXEL00_11
- PIXEL01_10
- if (Diff(w[6], w[8]))
- {
- PIXEL10_12
- PIXEL11_0
- }
- else
- {
- PIXEL10_61
- PIXEL11_90
- }
- break;
- }
- case 119:
- {
- if (Diff(w[2], w[6]))
- {
- PIXEL00_11
- PIXEL01_0
- }
- else
- {
- PIXEL00_60
- PIXEL01_90
- }
- PIXEL10_12
- PIXEL11_10
- break;
- }
- case 237:
- case 233:
- {
- PIXEL00_12
- PIXEL01_20
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_100
- }
- PIXEL11_11
- break;
- }
- case 175:
- case 47:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_100
- }
- PIXEL01_12
- PIXEL10_11
- PIXEL11_20
- break;
- }
- case 183:
- case 151:
- {
- PIXEL00_11
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_100
- }
- PIXEL10_20
- PIXEL11_12
- break;
- }
- case 245:
- case 244:
- {
- PIXEL00_20
- PIXEL01_11
- PIXEL10_12
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_100
- }
- break;
- }
- case 250:
- {
- PIXEL00_10
- PIXEL01_10
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 123:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- PIXEL01_10
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- PIXEL11_10
- break;
- }
- case 95:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_10
- PIXEL11_10
- break;
- }
- case 222:
- {
- PIXEL00_10
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_10
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 252:
- {
- PIXEL00_21
- PIXEL01_11
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_100
- }
- break;
- }
- case 249:
- {
- PIXEL00_12
- PIXEL01_22
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_100
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 235:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- PIXEL01_21
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_100
- }
- PIXEL11_11
- break;
- }
- case 111:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_100
- }
- PIXEL01_12
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- PIXEL11_22
- break;
- }
- case 63:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_100
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_11
- PIXEL11_21
- break;
- }
- case 159:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_100
- }
- PIXEL10_22
- PIXEL11_12
- break;
- }
- case 215:
- {
- PIXEL00_11
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_100
- }
- PIXEL10_21
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 246:
- {
- PIXEL00_22
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- PIXEL10_12
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_100
- }
- break;
- }
- case 254:
- {
- PIXEL00_10
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_100
- }
- break;
- }
- case 253:
- {
- PIXEL00_12
- PIXEL01_11
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_100
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_100
- }
- break;
- }
- case 251:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- PIXEL01_10
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_100
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 239:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_100
- }
- PIXEL01_12
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_100
- }
- PIXEL11_11
- break;
- }
- case 127:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_100
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_20
- }
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_20
- }
- PIXEL11_10
- break;
- }
- case 191:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_100
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_100
- }
- PIXEL10_11
- PIXEL11_12
- break;
- }
- case 223:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_20
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_100
- }
- PIXEL10_10
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_20
- }
- break;
- }
- case 247:
- {
- PIXEL00_11
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_100
- }
- PIXEL10_12
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_100
- }
- break;
- }
- case 255:
- {
- if (Diff(w[4], w[2]))
- {
- PIXEL00_0
- }
- else
- {
- PIXEL00_100
- }
- if (Diff(w[2], w[6]))
- {
- PIXEL01_0
- }
- else
- {
- PIXEL01_100
- }
- if (Diff(w[8], w[4]))
- {
- PIXEL10_0
- }
- else
- {
- PIXEL10_100
- }
- if (Diff(w[6], w[8]))
- {
- PIXEL11_0
- }
- else
- {
- PIXEL11_100
- }
- break;
- }
- }
- pIn+=2;
- pOut+=8;
- }
- pOut+=BpL;
- }
-}
-
-void HQ2X_Init(void)
-{
- int i, j, k, r, g, b, Y, u, v;
-
- for (i=0; i<65536; i++)
- LUT16to32[i] = ((i & 0xF800) << 8) + ((i & 0x07E0) << 5) + ((i & 0x001F) << 3);
-
- for (i=0; i<32; i++)
- for (j=0; j<64; j++)
- for (k=0; k<32; k++)
- {
- r = i << 3;
- g = j << 2;
- b = k << 3;
- Y = (r + g + b) >> 2;
- u = 128 + ((r - b) >> 2);
- v = 128 + ((-r + 2*g -b)>>3);
- RGBtoYUV[ (i << 11) + (j << 5) + k ] = (Y<<16) + (u<<8) + v;
- }
-}
--- /dev/null
+;hq2x filter
+;16bpp output
+;----------------------------------------------------------
+;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com )
+;
+;This program is free software; you can redistribute it and/or
+;modify it under the terms of the GNU General Public License
+;as published by the Free Software Foundation; either
+;version 2 of the License, or (at your option) any later
+;version.
+;
+;This program is distributed in the hope that it will be useful,
+;but WITHOUT ANY WARRANTY; without even the implied warranty of
+;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;GNU General Public License for more details.
+;
+;You should have received a copy of the GNU General Public License
+;along with this program; if not, write to the Free Software
+;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+GLOBAL _hq2x_16
+
+EXTERN _LUT16to32
+EXTERN _RGBtoYUV
+
+SECTION .bss
+linesleft resd 1
+xcounter resd 1
+cross resd 1
+nextline resd 1
+prevline resd 1
+w1 resd 1
+w2 resd 1
+w3 resd 1
+w4 resd 1
+w5 resd 1
+w6 resd 1
+w7 resd 1
+w8 resd 1
+w9 resd 1
+
+SECTION .data
+
+reg_blank dd 0,0
+const3 dd 0x00030003,0x00000003
+const5 dd 0x00050005,0x00000005
+const6 dd 0x00060006,0x00000006
+const14 dd 0x000E000E,0x0000000E
+threshold dd 0x00300706,0x00000000
+zerolowbits dd 0xF7DEF7DE
+
+SECTION .text
+
+%macro TestDiff 2
+ xor ecx,ecx
+ mov edx,[%1]
+ cmp edx,[%2]
+ je %%fin
+ mov ecx,_RGBtoYUV
+ movd mm1,[ecx+edx*4]
+ movq mm5,mm1
+ mov edx,[%2]
+ movd mm2,[ecx+edx*4]
+ psubusb mm1,mm2
+ psubusb mm2,mm5
+ por mm1,mm2
+ psubusb mm1,[threshold]
+ movd ecx,mm1
+%%fin:
+%endmacro
+
+%macro DiffOrNot 4
+ TestDiff %1,%2
+ test ecx,ecx
+ jz %%same
+ %3
+ jmp %%fin
+%%same:
+ %4
+%%fin
+%endmacro
+
+%macro DiffOrNot 6
+ TestDiff %1,%2
+ test ecx,ecx
+ jz %%same
+ %3
+ %4
+ jmp %%fin
+%%same:
+ %5
+ %6
+%%fin
+%endmacro
+
+%macro DiffOrNot 8
+ TestDiff %1,%2
+ test ecx,ecx
+ jz %%same
+ %3
+ %4
+ %5
+ jmp %%fin
+%%same:
+ %6
+ %7
+ %8
+%%fin
+%endmacro
+
+%macro DiffOrNot 10
+ TestDiff %1,%2
+ test ecx,ecx
+ jz %%same
+ %3
+ %4
+ %5
+ %6
+ jmp %%fin
+%%same:
+ %7
+ %8
+ %9
+ %10
+%%fin
+%endmacro
+
+%macro Interp1 3
+ mov edx,%2
+ mov ecx,%3
+ cmp edx,ecx
+ je %%fin
+ and edx,[zerolowbits]
+ and ecx,[zerolowbits]
+ add ecx,edx
+ shr ecx,1
+ add ecx,0x0821
+ and ecx,[zerolowbits]
+ add edx,ecx
+ shr edx,1
+%%fin
+ mov %1,dx
+%endmacro
+
+%macro Interp2 4
+ mov edx,%3
+ mov ecx,%4
+ cmp edx,ecx
+ je %%fin1
+ and edx,[zerolowbits]
+ and ecx,[zerolowbits]
+ add ecx,edx
+ shr ecx,1
+ add ecx,0x0821
+%%fin1
+ mov edx,%2
+ cmp edx,ecx
+ je %%fin2
+ and ecx,[zerolowbits]
+ and edx,[zerolowbits]
+ add edx,ecx
+ shr edx,1
+%%fin2
+ mov %1,dx
+%endmacro
+
+%macro Interp5 3
+ mov edx,%2
+ mov ecx,%3
+ cmp edx,ecx
+ je %%fin
+ and edx,[zerolowbits]
+ and ecx,[zerolowbits]
+ add edx,ecx
+ shr edx,1
+%%fin
+ mov %1,dx
+%endmacro
+
+%macro Interp6 3
+ mov ecx, _LUT16to32
+ movd mm1, [ecx+eax*4]
+ mov edx, %2
+ movd mm2, [ecx+edx*4]
+ mov edx, %3
+ movd mm3, [ecx+edx*4]
+ punpcklbw mm1, [reg_blank]
+ punpcklbw mm2, [reg_blank]
+ punpcklbw mm3, [reg_blank]
+ pmullw mm1, [const5]
+ psllw mm2, 1
+ paddw mm1, mm3
+ paddw mm1, mm2
+ psrlw mm1, 5
+ packuswb mm1, [reg_blank]
+ movd edx, mm1
+ shl dl, 2
+ shr edx, 1
+ shl dx, 3
+ shr edx, 5
+ mov %1, dx
+%endmacro
+
+%macro Interp7 3
+ mov ecx, _LUT16to32
+ movd mm1, [ecx+eax*4]
+ mov edx, %2
+ movd mm2, [ecx+edx*4]
+ mov edx, %3
+ movd mm3, [ecx+edx*4]
+ punpcklbw mm1, [reg_blank]
+ punpcklbw mm2, [reg_blank]
+ punpcklbw mm3, [reg_blank]
+ pmullw mm1, [const6]
+ paddw mm2, mm3
+ paddw mm1, mm2
+ psrlw mm1, 5
+ packuswb mm1, [reg_blank]
+ movd edx, mm1
+ shl dl, 2
+ shr edx, 1
+ shl dx, 3
+ shr edx, 5
+ mov %1, dx
+%endmacro
+
+%macro Interp9 3
+ mov ecx, _LUT16to32
+ movd mm1, [ecx+eax*4]
+ mov edx, %2
+ movd mm2, [ecx+edx*4]
+ mov edx, %3
+ movd mm3, [ecx+edx*4]
+ punpcklbw mm1, [reg_blank]
+ punpcklbw mm2, [reg_blank]
+ punpcklbw mm3, [reg_blank]
+ psllw mm1, 1
+ paddw mm2, mm3
+ pmullw mm2, [const3]
+ paddw mm1, mm2
+ psrlw mm1, 5
+ packuswb mm1, [reg_blank]
+ movd edx, mm1
+ shl dl, 2
+ shr edx, 1
+ shl dx, 3
+ shr edx, 5
+ mov %1, dx
+%endmacro
+
+%macro Interp10 3
+ mov ecx, _LUT16to32
+ movd mm1, [ecx+eax*4]
+ mov edx, %2
+ movd mm2, [ecx+edx*4]
+ mov edx, %3
+ movd mm3, [ecx+edx*4]
+ punpcklbw mm1, [reg_blank]
+ punpcklbw mm2, [reg_blank]
+ punpcklbw mm3, [reg_blank]
+ pmullw mm1, [const14]
+ paddw mm2, mm3
+ paddw mm1, mm2
+ psrlw mm1, 6
+ packuswb mm1, [reg_blank]
+ movd edx, mm1
+ shl dl, 2
+ shr edx, 1
+ shl dx, 3
+ shr edx, 5
+ mov %1, dx
+%endmacro
+
+%macro PIXEL00_0 0
+ mov [edi],ax
+%endmacro
+
+%macro PIXEL00_10 0
+ Interp1 [edi],eax,[w1]
+%endmacro
+
+%macro PIXEL00_11 0
+ Interp1 [edi],eax,[w4]
+%endmacro
+
+%macro PIXEL00_12 0
+ Interp1 [edi],eax,[w2]
+%endmacro
+
+%macro PIXEL00_20 0
+ Interp2 [edi],eax,[w4],[w2]
+%endmacro
+
+%macro PIXEL00_21 0
+ Interp2 [edi],eax,[w1],[w2]
+%endmacro
+
+%macro PIXEL00_22 0
+ Interp2 [edi],eax,[w1],[w4]
+%endmacro
+
+%macro PIXEL00_60 0
+ Interp6 [edi],[w2],[w4]
+%endmacro
+
+%macro PIXEL00_61 0
+ Interp6 [edi],[w4],[w2]
+%endmacro
+
+%macro PIXEL00_70 0
+ Interp7 [edi],[w4],[w2]
+%endmacro
+
+%macro PIXEL00_90 0
+ Interp9 [edi],[w4],[w2]
+%endmacro
+
+%macro PIXEL00_100 0
+ Interp10 [edi],[w4],[w2]
+%endmacro
+
+%macro PIXEL01_0 0
+ mov [edi+2],ax
+%endmacro
+
+%macro PIXEL01_10 0
+ Interp1 [edi+2],eax,[w3]
+%endmacro
+
+%macro PIXEL01_11 0
+ Interp1 [edi+2],eax,[w2]
+%endmacro
+
+%macro PIXEL01_12 0
+ Interp1 [edi+2],eax,[w6]
+%endmacro
+
+%macro PIXEL01_20 0
+ Interp2 [edi+2],eax,[w2],[w6]
+%endmacro
+
+%macro PIXEL01_21 0
+ Interp2 [edi+2],eax,[w3],[w6]
+%endmacro
+
+%macro PIXEL01_22 0
+ Interp2 [edi+2],eax,[w3],[w2]
+%endmacro
+
+%macro PIXEL01_60 0
+ Interp6 [edi+2],[w6],[w2]
+%endmacro
+
+%macro PIXEL01_61 0
+ Interp6 [edi+2],[w2],[w6]
+%endmacro
+
+%macro PIXEL01_70 0
+ Interp7 [edi+2],[w2],[w6]
+%endmacro
+
+%macro PIXEL01_90 0
+ Interp9 [edi+2],[w2],[w6]
+%endmacro
+
+%macro PIXEL01_100 0
+ Interp10 [edi+2],[w2],[w6]
+%endmacro
+
+%macro PIXEL10_0 0
+ mov [edi+ebx],ax
+%endmacro
+
+%macro PIXEL10_10 0
+ Interp1 [edi+ebx],eax,[w7]
+%endmacro
+
+%macro PIXEL10_11 0
+ Interp1 [edi+ebx],eax,[w8]
+%endmacro
+
+%macro PIXEL10_12 0
+ Interp1 [edi+ebx],eax,[w4]
+%endmacro
+
+%macro PIXEL10_20 0
+ Interp2 [edi+ebx],eax,[w8],[w4]
+%endmacro
+
+%macro PIXEL10_21 0
+ Interp2 [edi+ebx],eax,[w7],[w4]
+%endmacro
+
+%macro PIXEL10_22 0
+ Interp2 [edi+ebx],eax,[w7],[w8]
+%endmacro
+
+%macro PIXEL10_60 0
+ Interp6 [edi+ebx],[w4],[w8]
+%endmacro
+
+%macro PIXEL10_61 0
+ Interp6 [edi+ebx],[w8],[w4]
+%endmacro
+
+%macro PIXEL10_70 0
+ Interp7 [edi+ebx],[w8],[w4]
+%endmacro
+
+%macro PIXEL10_90 0
+ Interp9 [edi+ebx],[w8],[w4]
+%endmacro
+
+%macro PIXEL10_100 0
+ Interp10 [edi+ebx],[w8],[w4]
+%endmacro
+
+%macro PIXEL11_0 0
+ mov [edi+ebx+2],ax
+%endmacro
+
+%macro PIXEL11_10 0
+ Interp1 [edi+ebx+2],eax,[w9]
+%endmacro
+
+%macro PIXEL11_11 0
+ Interp1 [edi+ebx+2],eax,[w6]
+%endmacro
+
+%macro PIXEL11_12 0
+ Interp1 [edi+ebx+2],eax,[w8]
+%endmacro
+
+%macro PIXEL11_20 0
+ Interp2 [edi+ebx+2],eax,[w6],[w8]
+%endmacro
+
+%macro PIXEL11_21 0
+ Interp2 [edi+ebx+2],eax,[w9],[w8]
+%endmacro
+
+%macro PIXEL11_22 0
+ Interp2 [edi+ebx+2],eax,[w9],[w6]
+%endmacro
+
+%macro PIXEL11_60 0
+ Interp6 [edi+ebx+2],[w8],[w6]
+%endmacro
+
+%macro PIXEL11_61 0
+ Interp6 [edi+ebx+2],[w6],[w8]
+%endmacro
+
+%macro PIXEL11_70 0
+ Interp7 [edi+ebx+2],[w6],[w8]
+%endmacro
+
+%macro PIXEL11_90 0
+ Interp9 [edi+ebx+2],[w6],[w8]
+%endmacro
+
+%macro PIXEL11_100 0
+ Interp10 [edi+ebx+2],[w6],[w8]
+%endmacro
+
+inbuffer equ 8
+outbuffer equ 12
+Xres equ 16
+Yres equ 20
+pitch equ 24
+
+_hq2x_16:
+ push ebp
+ mov ebp,esp
+ pushad
+
+ mov esi,[ebp+inbuffer]
+ mov edi,[ebp+outbuffer]
+ mov edx,[ebp+Yres]
+ mov [linesleft],edx
+ mov ebx,[ebp+Xres]
+ shl ebx,1
+ mov dword[prevline],0
+ mov dword[nextline],ebx
+.loopy
+ mov ecx,[ebp+Xres]
+ sub ecx,2 ; x={Xres-2, Xres-1} are special cases.
+ mov dword[xcounter],ecx
+ ; x=0 - special case
+ mov ebx,[prevline]
+ movq mm5,[esi+ebx]
+ movq mm6,[esi]
+ mov ebx,[nextline]
+ movq mm7,[esi+ebx]
+ movd eax,mm5
+ movzx edx,ax
+ mov [w1],edx
+ mov [w2],edx
+ shr eax,16
+ mov [w3],eax
+ movd eax,mm6
+ movzx edx,ax
+ mov [w4],edx
+ mov [w5],edx
+ shr eax,16
+ mov [w6],eax
+ movd eax,mm7
+ movzx edx,ax
+ mov [w7],edx
+ mov [w8],edx
+ shr eax,16
+ mov [w9],eax
+ jmp .flags
+.loopx
+ mov ebx,[prevline]
+ movq mm5,[esi+ebx-2]
+ movq mm6,[esi-2]
+ mov ebx,[nextline]
+ movq mm7,[esi+ebx-2]
+ movd eax,mm5
+ movzx edx,ax
+ mov [w1],edx
+ shr eax,16
+ mov [w2],eax
+ psrlq mm5,32
+ movd eax,mm5
+ movzx edx,ax
+ mov [w3],edx
+ movd eax,mm6
+ movzx edx,ax
+ mov [w4],edx
+ shr eax,16
+ mov [w5],eax
+ psrlq mm6,32
+ movd eax,mm6
+ movzx edx,ax
+ mov [w6],edx
+ movd eax,mm7
+ movzx edx,ax
+ mov [w7],edx
+ shr eax,16
+ mov [w8],eax
+ psrlq mm7,32
+ movd eax,mm7
+ movzx edx,ax
+ mov [w9],edx
+.flags
+ mov ebx,_RGBtoYUV
+ mov eax,[w5]
+ xor ecx,ecx
+ movd mm5,[ebx+eax*4]
+ mov dword[cross],0
+
+ mov edx,[w2]
+ cmp eax,edx
+ je .noflag2
+ or dword[cross],1
+ movq mm1,mm5
+ movd mm2,[ebx+edx*4]
+ psubusb mm1,mm2
+ psubusb mm2,mm5
+ por mm1,mm2
+ psubusb mm1,[threshold]
+ movd edx,mm1
+ test edx,edx
+ jz .noflag2
+ or ecx,2
+.noflag2
+ mov edx,[w4]
+ cmp eax,edx
+ je .noflag4
+ or dword[cross],2
+ movq mm1,mm5
+ movd mm2,[ebx+edx*4]
+ psubusb mm1,mm2
+ psubusb mm2,mm5
+ por mm1,mm2
+ psubusb mm1,[threshold]
+ movd edx,mm1
+ test edx,edx
+ jz .noflag4
+ or ecx,8
+.noflag4
+ mov edx,[w6]
+ cmp eax,edx
+ je .noflag6
+ or dword[cross],4
+ movq mm1,mm5
+ movd mm2,[ebx+edx*4]
+ psubusb mm1,mm2
+ psubusb mm2,mm5
+ por mm1,mm2
+ psubusb mm1,[threshold]
+ movd edx,mm1
+ test edx,edx
+ jz .noflag6
+ or ecx,16
+.noflag6
+ mov edx,[w8]
+ cmp eax,edx
+ je .noflag8
+ or dword[cross],8
+ movq mm1,mm5
+ movd mm2,[ebx+edx*4]
+ psubusb mm1,mm2
+ psubusb mm2,mm5
+ por mm1,mm2
+ psubusb mm1,[threshold]
+ movd edx,mm1
+ test edx,edx
+ jz .noflag8
+ or ecx,64
+.noflag8
+ test ecx,ecx
+ jnz .testflag1
+ mov ecx,[cross]
+ mov ebx,[ebp+pitch]
+ jmp [FuncTable2+ecx*4]
+.testflag1
+ mov edx,[w1]
+ cmp eax,edx
+ je .noflag1
+ movq mm1,mm5
+ movd mm2,[ebx+edx*4]
+ psubusb mm1,mm2
+ psubusb mm2,mm5
+ por mm1,mm2
+ psubusb mm1,[threshold]
+ movd edx,mm1
+ test edx,edx
+ jz .noflag1
+ or ecx,1
+.noflag1
+ mov edx,[w3]
+ cmp eax,edx
+ je .noflag3
+ movq mm1,mm5
+ movd mm2,[ebx+edx*4]
+ psubusb mm1,mm2
+ psubusb mm2,mm5
+ por mm1,mm2
+ psubusb mm1,[threshold]
+ movd edx,mm1
+ test edx,edx
+ jz .noflag3
+ or ecx,4
+.noflag3
+ mov edx,[w7]
+ cmp eax,edx
+ je .noflag7
+ movq mm1,mm5
+ movd mm2,[ebx+edx*4]
+ psubusb mm1,mm2
+ psubusb mm2,mm5
+ por mm1,mm2
+ psubusb mm1,[threshold]
+ movd edx,mm1
+ test edx,edx
+ jz .noflag7
+ or ecx,32
+.noflag7
+ mov edx,[w9]
+ cmp eax,edx
+ je .noflag9
+ movq mm1,mm5
+ movd mm2,[ebx+edx*4]
+ psubusb mm1,mm2
+ psubusb mm2,mm5
+ por mm1,mm2
+ psubusb mm1,[threshold]
+ movd edx,mm1
+ test edx,edx
+ jz .noflag9
+ or ecx,128
+.noflag9
+ mov ebx,[ebp+pitch]
+ jmp [FuncTable+ecx*4]
+
+..@flag0
+..@flag1
+..@flag4
+..@flag32
+..@flag128
+..@flag5
+..@flag132
+..@flag160
+..@flag33
+..@flag129
+..@flag36
+..@flag133
+..@flag164
+..@flag161
+..@flag37
+..@flag165
+ PIXEL00_20
+ PIXEL01_20
+ PIXEL10_20
+ PIXEL11_20
+ jmp .loopx_end
+..@flag2
+..@flag34
+..@flag130
+..@flag162
+ PIXEL00_22
+ PIXEL01_21
+ PIXEL10_20
+ PIXEL11_20
+ jmp .loopx_end
+..@flag16
+..@flag17
+..@flag48
+..@flag49
+ PIXEL00_20
+ PIXEL01_22
+ PIXEL10_20
+ PIXEL11_21
+ jmp .loopx_end
+..@flag64
+..@flag65
+..@flag68
+..@flag69
+ PIXEL00_20
+ PIXEL01_20
+ PIXEL10_21
+ PIXEL11_22
+ jmp .loopx_end
+..@flag8
+..@flag12
+..@flag136
+..@flag140
+ PIXEL00_21
+ PIXEL01_20
+ PIXEL10_22
+ PIXEL11_20
+ jmp .loopx_end
+..@flag3
+..@flag35
+..@flag131
+..@flag163
+ PIXEL00_11
+ PIXEL01_21
+ PIXEL10_20
+ PIXEL11_20
+ jmp .loopx_end
+..@flag6
+..@flag38
+..@flag134
+..@flag166
+ PIXEL00_22
+ PIXEL01_12
+ PIXEL10_20
+ PIXEL11_20
+ jmp .loopx_end
+..@flag20
+..@flag21
+..@flag52
+..@flag53
+ PIXEL00_20
+ PIXEL01_11
+ PIXEL10_20
+ PIXEL11_21
+ jmp .loopx_end
+..@flag144
+..@flag145
+..@flag176
+..@flag177
+ PIXEL00_20
+ PIXEL01_22
+ PIXEL10_20
+ PIXEL11_12
+ jmp .loopx_end
+..@flag192
+..@flag193
+..@flag196
+..@flag197
+ PIXEL00_20
+ PIXEL01_20
+ PIXEL10_21
+ PIXEL11_11
+ jmp .loopx_end
+..@flag96
+..@flag97
+..@flag100
+..@flag101
+ PIXEL00_20
+ PIXEL01_20
+ PIXEL10_12
+ PIXEL11_22
+ jmp .loopx_end
+..@flag40
+..@flag44
+..@flag168
+..@flag172
+ PIXEL00_21
+ PIXEL01_20
+ PIXEL10_11
+ PIXEL11_20
+ jmp .loopx_end
+..@flag9
+..@flag13
+..@flag137
+..@flag141
+ PIXEL00_12
+ PIXEL01_20
+ PIXEL10_22
+ PIXEL11_20
+ jmp .loopx_end
+..@flag18
+..@flag50
+ PIXEL00_22
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_20
+ PIXEL10_20
+ PIXEL11_21
+ jmp .loopx_end
+..@flag80
+..@flag81
+ PIXEL00_20
+ PIXEL01_22
+ PIXEL10_21
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_20
+ jmp .loopx_end
+..@flag72
+..@flag76
+ PIXEL00_21
+ PIXEL01_20
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_20
+ PIXEL11_22
+ jmp .loopx_end
+..@flag10
+..@flag138
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_20
+ PIXEL01_21
+ PIXEL10_22
+ PIXEL11_20
+ jmp .loopx_end
+..@flag66
+ PIXEL00_22
+ PIXEL01_21
+ PIXEL10_21
+ PIXEL11_22
+ jmp .loopx_end
+..@flag24
+ PIXEL00_21
+ PIXEL01_22
+ PIXEL10_22
+ PIXEL11_21
+ jmp .loopx_end
+..@flag7
+..@flag39
+..@flag135
+ PIXEL00_11
+ PIXEL01_12
+ PIXEL10_20
+ PIXEL11_20
+ jmp .loopx_end
+..@flag148
+..@flag149
+..@flag180
+ PIXEL00_20
+ PIXEL01_11
+ PIXEL10_20
+ PIXEL11_12
+ jmp .loopx_end
+..@flag224
+..@flag228
+..@flag225
+ PIXEL00_20
+ PIXEL01_20
+ PIXEL10_12
+ PIXEL11_11
+ jmp .loopx_end
+..@flag41
+..@flag169
+..@flag45
+ PIXEL00_12
+ PIXEL01_20
+ PIXEL10_11
+ PIXEL11_20
+ jmp .loopx_end
+..@flag22
+..@flag54
+ PIXEL00_22
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_20
+ PIXEL11_21
+ jmp .loopx_end
+..@flag208
+..@flag209
+ PIXEL00_20
+ PIXEL01_22
+ PIXEL10_21
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag104
+..@flag108
+ PIXEL00_21
+ PIXEL01_20
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ PIXEL11_22
+ jmp .loopx_end
+..@flag11
+..@flag139
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ PIXEL01_21
+ PIXEL10_22
+ PIXEL11_20
+ jmp .loopx_end
+..@flag19
+..@flag51
+ DiffOrNot w2,w6,PIXEL00_11,PIXEL01_10,PIXEL00_60,PIXEL01_90
+ PIXEL10_20
+ PIXEL11_21
+ jmp .loopx_end
+..@flag146
+..@flag178
+ PIXEL00_22
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL11_12,PIXEL01_90,PIXEL11_61
+ PIXEL10_20
+ jmp .loopx_end
+..@flag84
+..@flag85
+ PIXEL00_20
+ DiffOrNot w6,w8,PIXEL01_11,PIXEL11_10,PIXEL01_60,PIXEL11_90
+ PIXEL10_21
+ jmp .loopx_end
+..@flag112
+..@flag113
+ PIXEL00_20
+ PIXEL01_22
+ DiffOrNot w6,w8,PIXEL10_12,PIXEL11_10,PIXEL10_61,PIXEL11_90
+ jmp .loopx_end
+..@flag200
+..@flag204
+ PIXEL00_21
+ PIXEL01_20
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL11_11,PIXEL10_90,PIXEL11_60
+ jmp .loopx_end
+..@flag73
+..@flag77
+ DiffOrNot w8,w4,PIXEL00_12,PIXEL10_10,PIXEL00_61,PIXEL10_90
+ PIXEL01_20
+ PIXEL11_22
+ jmp .loopx_end
+..@flag42
+..@flag170
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL10_11,PIXEL00_90,PIXEL10_60
+ PIXEL01_21
+ PIXEL11_20
+ jmp .loopx_end
+..@flag14
+..@flag142
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL01_12,PIXEL00_90,PIXEL01_61
+ PIXEL10_22
+ PIXEL11_20
+ jmp .loopx_end
+..@flag67
+ PIXEL00_11
+ PIXEL01_21
+ PIXEL10_21
+ PIXEL11_22
+ jmp .loopx_end
+..@flag70
+ PIXEL00_22
+ PIXEL01_12
+ PIXEL10_21
+ PIXEL11_22
+ jmp .loopx_end
+..@flag28
+ PIXEL00_21
+ PIXEL01_11
+ PIXEL10_22
+ PIXEL11_21
+ jmp .loopx_end
+..@flag152
+ PIXEL00_21
+ PIXEL01_22
+ PIXEL10_22
+ PIXEL11_12
+ jmp .loopx_end
+..@flag194
+ PIXEL00_22
+ PIXEL01_21
+ PIXEL10_21
+ PIXEL11_11
+ jmp .loopx_end
+..@flag98
+ PIXEL00_22
+ PIXEL01_21
+ PIXEL10_12
+ PIXEL11_22
+ jmp .loopx_end
+..@flag56
+ PIXEL00_21
+ PIXEL01_22
+ PIXEL10_11
+ PIXEL11_21
+ jmp .loopx_end
+..@flag25
+ PIXEL00_12
+ PIXEL01_22
+ PIXEL10_22
+ PIXEL11_21
+ jmp .loopx_end
+..@flag26
+..@flag31
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_22
+ PIXEL11_21
+ jmp .loopx_end
+..@flag82
+..@flag214
+ PIXEL00_22
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_21
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag88
+..@flag248
+ PIXEL00_21
+ PIXEL01_22
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag74
+..@flag107
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ PIXEL01_21
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ PIXEL11_22
+ jmp .loopx_end
+..@flag27
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ PIXEL01_10
+ PIXEL10_22
+ PIXEL11_21
+ jmp .loopx_end
+..@flag86
+ PIXEL00_22
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_21
+ PIXEL11_10
+ jmp .loopx_end
+..@flag216
+ PIXEL00_21
+ PIXEL01_22
+ PIXEL10_10
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag106
+ PIXEL00_10
+ PIXEL01_21
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ PIXEL11_22
+ jmp .loopx_end
+..@flag30
+ PIXEL00_10
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_22
+ PIXEL11_21
+ jmp .loopx_end
+..@flag210
+ PIXEL00_22
+ PIXEL01_10
+ PIXEL10_21
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag120
+ PIXEL00_21
+ PIXEL01_22
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ PIXEL11_10
+ jmp .loopx_end
+..@flag75
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ PIXEL01_21
+ PIXEL10_10
+ PIXEL11_22
+ jmp .loopx_end
+..@flag29
+ PIXEL00_12
+ PIXEL01_11
+ PIXEL10_22
+ PIXEL11_21
+ jmp .loopx_end
+..@flag198
+ PIXEL00_22
+ PIXEL01_12
+ PIXEL10_21
+ PIXEL11_11
+ jmp .loopx_end
+..@flag184
+ PIXEL00_21
+ PIXEL01_22
+ PIXEL10_11
+ PIXEL11_12
+ jmp .loopx_end
+..@flag99
+ PIXEL00_11
+ PIXEL01_21
+ PIXEL10_12
+ PIXEL11_22
+ jmp .loopx_end
+..@flag57
+ PIXEL00_12
+ PIXEL01_22
+ PIXEL10_11
+ PIXEL11_21
+ jmp .loopx_end
+..@flag71
+ PIXEL00_11
+ PIXEL01_12
+ PIXEL10_21
+ PIXEL11_22
+ jmp .loopx_end
+..@flag156
+ PIXEL00_21
+ PIXEL01_11
+ PIXEL10_22
+ PIXEL11_12
+ jmp .loopx_end
+..@flag226
+ PIXEL00_22
+ PIXEL01_21
+ PIXEL10_12
+ PIXEL11_11
+ jmp .loopx_end
+..@flag60
+ PIXEL00_21
+ PIXEL01_11
+ PIXEL10_11
+ PIXEL11_21
+ jmp .loopx_end
+..@flag195
+ PIXEL00_11
+ PIXEL01_21
+ PIXEL10_21
+ PIXEL11_11
+ jmp .loopx_end
+..@flag102
+ PIXEL00_22
+ PIXEL01_12
+ PIXEL10_12
+ PIXEL11_22
+ jmp .loopx_end
+..@flag153
+ PIXEL00_12
+ PIXEL01_22
+ PIXEL10_22
+ PIXEL11_12
+ jmp .loopx_end
+..@flag58
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ PIXEL10_11
+ PIXEL11_21
+ jmp .loopx_end
+..@flag83
+ PIXEL00_11
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ PIXEL10_21
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag92
+ PIXEL00_21
+ PIXEL01_11
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag202
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ PIXEL01_21
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ PIXEL11_11
+ jmp .loopx_end
+..@flag78
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ PIXEL01_12
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ PIXEL11_22
+ jmp .loopx_end
+..@flag154
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ PIXEL10_22
+ PIXEL11_12
+ jmp .loopx_end
+..@flag114
+ PIXEL00_22
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ PIXEL10_12
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag89
+ PIXEL00_12
+ PIXEL01_22
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag90
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag55
+..@flag23
+ DiffOrNot w2,w6,PIXEL00_11,PIXEL01_0,PIXEL00_60,PIXEL01_90
+ PIXEL10_20
+ PIXEL11_21
+ jmp .loopx_end
+..@flag182
+..@flag150
+ PIXEL00_22
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL11_12,PIXEL01_90,PIXEL11_61
+ PIXEL10_20
+ jmp .loopx_end
+..@flag213
+..@flag212
+ PIXEL00_20
+ DiffOrNot w6,w8,PIXEL01_11,PIXEL11_0,PIXEL01_60,PIXEL11_90
+ PIXEL10_21
+ jmp .loopx_end
+..@flag241
+..@flag240
+ PIXEL00_20
+ PIXEL01_22
+ DiffOrNot w6,w8,PIXEL10_12,PIXEL11_0,PIXEL10_61,PIXEL11_90
+ jmp .loopx_end
+..@flag236
+..@flag232
+ PIXEL00_21
+ PIXEL01_20
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL11_11,PIXEL10_90,PIXEL11_60
+ jmp .loopx_end
+..@flag109
+..@flag105
+ DiffOrNot w8,w4,PIXEL00_12,PIXEL10_0,PIXEL00_61,PIXEL10_90
+ PIXEL01_20
+ PIXEL11_22
+ jmp .loopx_end
+..@flag171
+..@flag43
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL10_11,PIXEL00_90,PIXEL10_60
+ PIXEL01_21
+ PIXEL11_20
+ jmp .loopx_end
+..@flag143
+..@flag15
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL01_12,PIXEL00_90,PIXEL01_61
+ PIXEL10_22
+ PIXEL11_20
+ jmp .loopx_end
+..@flag124
+ PIXEL00_21
+ PIXEL01_11
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ PIXEL11_10
+ jmp .loopx_end
+..@flag203
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ PIXEL01_21
+ PIXEL10_10
+ PIXEL11_11
+ jmp .loopx_end
+..@flag62
+ PIXEL00_10
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_11
+ PIXEL11_21
+ jmp .loopx_end
+..@flag211
+ PIXEL00_11
+ PIXEL01_10
+ PIXEL10_21
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag118
+ PIXEL00_22
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_12
+ PIXEL11_10
+ jmp .loopx_end
+..@flag217
+ PIXEL00_12
+ PIXEL01_22
+ PIXEL10_10
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag110
+ PIXEL00_10
+ PIXEL01_12
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ PIXEL11_22
+ jmp .loopx_end
+..@flag155
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ PIXEL01_10
+ PIXEL10_22
+ PIXEL11_12
+ jmp .loopx_end
+..@flag188
+ PIXEL00_21
+ PIXEL01_11
+ PIXEL10_11
+ PIXEL11_12
+ jmp .loopx_end
+..@flag185
+ PIXEL00_12
+ PIXEL01_22
+ PIXEL10_11
+ PIXEL11_12
+ jmp .loopx_end
+..@flag61
+ PIXEL00_12
+ PIXEL01_11
+ PIXEL10_11
+ PIXEL11_21
+ jmp .loopx_end
+..@flag157
+ PIXEL00_12
+ PIXEL01_11
+ PIXEL10_22
+ PIXEL11_12
+ jmp .loopx_end
+..@flag103
+ PIXEL00_11
+ PIXEL01_12
+ PIXEL10_12
+ PIXEL11_22
+ jmp .loopx_end
+..@flag227
+ PIXEL00_11
+ PIXEL01_21
+ PIXEL10_12
+ PIXEL11_11
+ jmp .loopx_end
+..@flag230
+ PIXEL00_22
+ PIXEL01_12
+ PIXEL10_12
+ PIXEL11_11
+ jmp .loopx_end
+..@flag199
+ PIXEL00_11
+ PIXEL01_12
+ PIXEL10_21
+ PIXEL11_11
+ jmp .loopx_end
+..@flag220
+ PIXEL00_21
+ PIXEL01_11
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag158
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_22
+ PIXEL11_12
+ jmp .loopx_end
+..@flag234
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ PIXEL01_21
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ PIXEL11_11
+ jmp .loopx_end
+..@flag242
+ PIXEL00_22
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ PIXEL10_12
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag59
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ PIXEL10_11
+ PIXEL11_21
+ jmp .loopx_end
+..@flag121
+ PIXEL00_12
+ PIXEL01_22
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag87
+ PIXEL00_11
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_21
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag79
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ PIXEL01_12
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ PIXEL11_22
+ jmp .loopx_end
+..@flag122
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag94
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag218
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag91
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag229
+ PIXEL00_20
+ PIXEL01_20
+ PIXEL10_12
+ PIXEL11_11
+ jmp .loopx_end
+..@flag167
+ PIXEL00_11
+ PIXEL01_12
+ PIXEL10_20
+ PIXEL11_20
+ jmp .loopx_end
+..@flag173
+ PIXEL00_12
+ PIXEL01_20
+ PIXEL10_11
+ PIXEL11_20
+ jmp .loopx_end
+..@flag181
+ PIXEL00_20
+ PIXEL01_11
+ PIXEL10_20
+ PIXEL11_12
+ jmp .loopx_end
+..@flag186
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ PIXEL10_11
+ PIXEL11_12
+ jmp .loopx_end
+..@flag115
+ PIXEL00_11
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ PIXEL10_12
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag93
+ PIXEL00_12
+ PIXEL01_11
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag206
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ PIXEL01_12
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ PIXEL11_11
+ jmp .loopx_end
+..@flag205
+..@flag201
+ PIXEL00_12
+ PIXEL01_20
+ DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
+ PIXEL11_11
+ jmp .loopx_end
+..@flag174
+..@flag46
+ DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
+ PIXEL01_12
+ PIXEL10_11
+ PIXEL11_20
+ jmp .loopx_end
+..@flag179
+..@flag147
+ PIXEL00_11
+ DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
+ PIXEL10_20
+ PIXEL11_12
+ jmp .loopx_end
+..@flag117
+..@flag116
+ PIXEL00_20
+ PIXEL01_11
+ PIXEL10_12
+ DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
+ jmp .loopx_end
+..@flag189
+ PIXEL00_12
+ PIXEL01_11
+ PIXEL10_11
+ PIXEL11_12
+ jmp .loopx_end
+..@flag231
+ PIXEL00_11
+ PIXEL01_12
+ PIXEL10_12
+ PIXEL11_11
+ jmp .loopx_end
+..@flag126
+ PIXEL00_10
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ PIXEL11_10
+ jmp .loopx_end
+..@flag219
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ PIXEL01_10
+ PIXEL10_10
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag125
+ DiffOrNot w8,w4,PIXEL00_12,PIXEL10_0,PIXEL00_61,PIXEL10_90
+ PIXEL01_11
+ PIXEL11_10
+ jmp .loopx_end
+..@flag221
+ PIXEL00_12
+ DiffOrNot w6,w8,PIXEL01_11,PIXEL11_0,PIXEL01_60,PIXEL11_90
+ PIXEL10_10
+ jmp .loopx_end
+..@flag207
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL01_12,PIXEL00_90,PIXEL01_61
+ PIXEL10_10
+ PIXEL11_11
+ jmp .loopx_end
+..@flag238
+ PIXEL00_10
+ PIXEL01_12
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL11_11,PIXEL10_90,PIXEL11_60
+ jmp .loopx_end
+..@flag190
+ PIXEL00_10
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL11_12,PIXEL01_90,PIXEL11_61
+ PIXEL10_11
+ jmp .loopx_end
+..@flag187
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL10_11,PIXEL00_90,PIXEL10_60
+ PIXEL01_10
+ PIXEL11_12
+ jmp .loopx_end
+..@flag243
+ PIXEL00_11
+ PIXEL01_10
+ DiffOrNot w6,w8,PIXEL10_12,PIXEL11_0,PIXEL10_61,PIXEL11_90
+ jmp .loopx_end
+..@flag119
+ DiffOrNot w2,w6,PIXEL00_11,PIXEL01_0,PIXEL00_60,PIXEL01_90
+ PIXEL10_12
+ PIXEL11_10
+ jmp .loopx_end
+..@flag237
+..@flag233
+ PIXEL00_12
+ PIXEL01_20
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
+ PIXEL11_11
+ jmp .loopx_end
+..@flag175
+..@flag47
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
+ PIXEL01_12
+ PIXEL10_11
+ PIXEL11_20
+ jmp .loopx_end
+..@flag183
+..@flag151
+ PIXEL00_11
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
+ PIXEL10_20
+ PIXEL11_12
+ jmp .loopx_end
+..@flag245
+..@flag244
+ PIXEL00_20
+ PIXEL01_11
+ PIXEL10_12
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
+ jmp .loopx_end
+..@flag250
+ PIXEL00_10
+ PIXEL01_10
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag123
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ PIXEL01_10
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ PIXEL11_10
+ jmp .loopx_end
+..@flag95
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_10
+ PIXEL11_10
+ jmp .loopx_end
+..@flag222
+ PIXEL00_10
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_10
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag252
+ PIXEL00_21
+ PIXEL01_11
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
+ jmp .loopx_end
+..@flag249
+ PIXEL00_12
+ PIXEL01_22
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag235
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ PIXEL01_21
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
+ PIXEL11_11
+ jmp .loopx_end
+..@flag111
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
+ PIXEL01_12
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ PIXEL11_22
+ jmp .loopx_end
+..@flag63
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_11
+ PIXEL11_21
+ jmp .loopx_end
+..@flag159
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
+ PIXEL10_22
+ PIXEL11_12
+ jmp .loopx_end
+..@flag215
+ PIXEL00_11
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
+ PIXEL10_21
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag246
+ PIXEL00_22
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ PIXEL10_12
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
+ jmp .loopx_end
+..@flag254
+ PIXEL00_10
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
+ jmp .loopx_end
+..@flag253
+ PIXEL00_12
+ PIXEL01_11
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
+ jmp .loopx_end
+..@flag251
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ PIXEL01_10
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag239
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
+ PIXEL01_12
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
+ PIXEL11_11
+ jmp .loopx_end
+..@flag127
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
+ PIXEL11_10
+ jmp .loopx_end
+..@flag191
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
+ PIXEL10_11
+ PIXEL11_12
+ jmp .loopx_end
+..@flag223
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
+ PIXEL10_10
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
+ jmp .loopx_end
+..@flag247
+ PIXEL00_11
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
+ PIXEL10_12
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
+ jmp .loopx_end
+..@flag255
+ DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
+ DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
+ DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
+ DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
+ jmp .loopx_end
+
+
+..@cross0
+ mov edx,eax
+ shl eax,16
+ or eax,edx
+ mov [edi],eax
+ mov [edi+ebx],eax
+ jmp .loopx_end
+..@cross1
+ mov edx,eax
+ shl eax,16
+ or eax,edx
+ mov ecx,[w2]
+ and edx,[zerolowbits]
+ and ecx,[zerolowbits]
+ add ecx,edx
+ shr ecx,1
+ add ecx,0x0821
+ and ecx,[zerolowbits]
+ add edx,ecx
+ shr edx,1
+ mov ecx,edx
+ shl edx,16
+ or edx,ecx
+ mov [edi],edx
+ mov [edi+ebx],eax
+ jmp .loopx_end
+..@cross2
+ shl eax,16
+ mov ecx,[w4]
+ and edx,[zerolowbits]
+ and ecx,[zerolowbits]
+ add ecx,edx
+ shr ecx,1
+ add ecx,0x0821
+ and ecx,[zerolowbits]
+ add edx,ecx
+ shr edx,1
+ or eax,edx
+ mov [edi],eax
+ mov [edi+ebx],eax
+ jmp .loopx_end
+..@cross4
+ mov ecx,[w6]
+ and edx,[zerolowbits]
+ and ecx,[zerolowbits]
+ add ecx,edx
+ shr ecx,1
+ add ecx,0x0821
+ and ecx,[zerolowbits]
+ add edx,ecx
+ shr edx,1
+ shl edx,16
+ or eax,edx
+ mov [edi],eax
+ mov [edi+ebx],eax
+ jmp .loopx_end
+..@cross8
+ mov edx,eax
+ shl eax,16
+ or eax,edx
+ mov ecx,[w8]
+ and edx,[zerolowbits]
+ and ecx,[zerolowbits]
+ add ecx,edx
+ shr ecx,1
+ add ecx,0x0821
+ and ecx,[zerolowbits]
+ add edx,ecx
+ shr edx,1
+ mov ecx,edx
+ shl edx,16
+ or edx,ecx
+ mov [edi],eax
+ mov [edi+ebx],edx
+ jmp .loopx_end
+
+.loopx_end
+ add esi,2
+ add edi,4
+ dec dword[xcounter]
+ jle .xres_2
+ jmp .loopx
+.xres_2
+ ; x=Xres-2 - special case
+ jl .xres_1
+ mov ebx,[prevline]
+ movq mm5,[esi+ebx-4]
+ movq mm6,[esi-4]
+ mov ebx,[nextline]
+ movq mm7,[esi+ebx-4]
+ psrlq mm5,16
+ psrlq mm6,16
+ psrlq mm7,16
+ movd eax,mm5
+ movzx edx,ax
+ mov [w1],edx
+ shr eax,16
+ mov [w2],eax
+ psrlq mm5,32
+ movd eax,mm5
+ mov [w3],eax
+ movd eax,mm6
+ movzx edx,ax
+ mov [w4],edx
+ shr eax,16
+ mov [w5],eax
+ psrlq mm6,32
+ movd eax,mm6
+ mov [w6],eax
+ movd eax,mm7
+ movzx edx,ax
+ mov [w7],edx
+ shr eax,16
+ mov [w8],eax
+ psrlq mm7,32
+ movd eax,mm7
+ mov [w9],eax
+ jmp .flags
+.xres_1
+ cmp dword[xcounter],-1
+ jl .nexty
+ ; x=Xres-1 - special case
+ mov ebx,[prevline]
+ movq mm5,[esi+ebx-6]
+ movq mm6,[esi-6]
+ mov ebx,[nextline]
+ movq mm7,[esi+ebx-6]
+ psrlq mm5,32
+ psrlq mm6,32
+ psrlq mm7,32
+ movd eax,mm5
+ movzx edx,ax
+ mov [w1],edx
+ shr eax,16
+ mov [w2],eax
+ mov [w3],eax
+ movd eax,mm6
+ movzx edx,ax
+ mov [w4],edx
+ shr eax,16
+ mov [w5],eax
+ mov [w6],eax
+ movd eax,mm7
+ movzx edx,ax
+ mov [w7],edx
+ shr eax,16
+ mov [w8],eax
+ mov [w9],eax
+ jmp .flags
+.nexty
+ add edi,ebx
+ dec dword[linesleft]
+ jz .fin
+ mov ebx,[ebp+Xres]
+ shl ebx,1
+ cmp dword[linesleft],1
+ je .lastline
+ mov dword[nextline],ebx
+ neg ebx
+ mov dword[prevline],ebx
+ jmp .loopy
+.lastline
+ mov dword[nextline],0
+ neg ebx
+ mov dword[prevline],ebx
+ jmp .loopy
+.fin
+ emms
+ popad
+ mov esp,ebp
+ pop ebp
+ ret
+
+SECTION .data
+FuncTable
+ dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
+ dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
+ dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
+ dd ..@flag24, ..@flag25, ..@flag26, ..@flag27, ..@flag28, ..@flag29, ..@flag30, ..@flag31
+ dd ..@flag32, ..@flag33, ..@flag34, ..@flag35, ..@flag36, ..@flag37, ..@flag38, ..@flag39
+ dd ..@flag40, ..@flag41, ..@flag42, ..@flag43, ..@flag44, ..@flag45, ..@flag46, ..@flag47
+ dd ..@flag48, ..@flag49, ..@flag50, ..@flag51, ..@flag52, ..@flag53, ..@flag54, ..@flag55
+ dd ..@flag56, ..@flag57, ..@flag58, ..@flag59, ..@flag60, ..@flag61, ..@flag62, ..@flag63
+ dd ..@flag64, ..@flag65, ..@flag66, ..@flag67, ..@flag68, ..@flag69, ..@flag70, ..@flag71
+ dd ..@flag72, ..@flag73, ..@flag74, ..@flag75, ..@flag76, ..@flag77, ..@flag78, ..@flag79
+ dd ..@flag80, ..@flag81, ..@flag82, ..@flag83, ..@flag84, ..@flag85, ..@flag86, ..@flag87
+ dd ..@flag88, ..@flag89, ..@flag90, ..@flag91, ..@flag92, ..@flag93, ..@flag94, ..@flag95
+ dd ..@flag96, ..@flag97, ..@flag98, ..@flag99, ..@flag100, ..@flag101, ..@flag102, ..@flag103
+ dd ..@flag104, ..@flag105, ..@flag106, ..@flag107, ..@flag108, ..@flag109, ..@flag110, ..@flag111
+ dd ..@flag112, ..@flag113, ..@flag114, ..@flag115, ..@flag116, ..@flag117, ..@flag118, ..@flag119
+ dd ..@flag120, ..@flag121, ..@flag122, ..@flag123, ..@flag124, ..@flag125, ..@flag126, ..@flag127
+ dd ..@flag128, ..@flag129, ..@flag130, ..@flag131, ..@flag132, ..@flag133, ..@flag134, ..@flag135
+ dd ..@flag136, ..@flag137, ..@flag138, ..@flag139, ..@flag140, ..@flag141, ..@flag142, ..@flag143
+ dd ..@flag144, ..@flag145, ..@flag146, ..@flag147, ..@flag148, ..@flag149, ..@flag150, ..@flag151
+ dd ..@flag152, ..@flag153, ..@flag154, ..@flag155, ..@flag156, ..@flag157, ..@flag158, ..@flag159
+ dd ..@flag160, ..@flag161, ..@flag162, ..@flag163, ..@flag164, ..@flag165, ..@flag166, ..@flag167
+ dd ..@flag168, ..@flag169, ..@flag170, ..@flag171, ..@flag172, ..@flag173, ..@flag174, ..@flag175
+ dd ..@flag176, ..@flag177, ..@flag178, ..@flag179, ..@flag180, ..@flag181, ..@flag182, ..@flag183
+ dd ..@flag184, ..@flag185, ..@flag186, ..@flag187, ..@flag188, ..@flag189, ..@flag190, ..@flag191
+ dd ..@flag192, ..@flag193, ..@flag194, ..@flag195, ..@flag196, ..@flag197, ..@flag198, ..@flag199
+ dd ..@flag200, ..@flag201, ..@flag202, ..@flag203, ..@flag204, ..@flag205, ..@flag206, ..@flag207
+ dd ..@flag208, ..@flag209, ..@flag210, ..@flag211, ..@flag212, ..@flag213, ..@flag214, ..@flag215
+ dd ..@flag216, ..@flag217, ..@flag218, ..@flag219, ..@flag220, ..@flag221, ..@flag222, ..@flag223
+ dd ..@flag224, ..@flag225, ..@flag226, ..@flag227, ..@flag228, ..@flag229, ..@flag230, ..@flag231
+ dd ..@flag232, ..@flag233, ..@flag234, ..@flag235, ..@flag236, ..@flag237, ..@flag238, ..@flag239
+ dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
+ dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
+
+FuncTable2
+ dd ..@cross0, ..@cross1, ..@cross2, ..@flag0,
+ dd ..@cross4, ..@flag0, ..@flag0, ..@flag0,
+ dd ..@cross8, ..@flag0, ..@flag0, ..@flag0,
+ dd ..@flag0, ..@flag0, ..@flag0, ..@flag0
+
;hq2x filter
+;32bpp output
;----------------------------------------------------------
;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com )
;
outbuffer equ 12
Xres equ 16
Yres equ 20
-dstpitch equ 24
-srcpitch equ 28
+pitch equ 24
_hq2x_32:
push ebp
mov edx,[ebx+edx*4]
mov [c9],edx
.switch
- mov ebx,[ebp+dstpitch]
+ mov ebx,[ebp+pitch]
jmp [FuncTable+ecx*4]
..@flag0
..@cross0
- mov ebx,[ebp+dstpitch]
+ mov ebx,[ebp+pitch]
mov [edi],eax
mov [edi+4],eax
mov [edi+ebx],eax
add edx,[ebx+ecx*4]
sub edx,eax
shr edx,2
- mov ebx,[ebp+dstpitch]
+ mov ebx,[ebp+pitch]
mov [edi],edx
mov [edi+4],edx
mov [edi+ebx],eax
add edx,[ebx+ecx*4]
sub edx,eax
shr edx,2
- mov ebx,[ebp+dstpitch]
+ mov ebx,[ebp+pitch]
mov [edi],edx
mov [edi+4],eax
mov [edi+ebx],edx
add edx,[ebx+ecx*4]
sub edx,eax
shr edx,2
- mov ebx,[ebp+dstpitch]
+ mov ebx,[ebp+pitch]
mov [edi],eax
mov [edi+4],edx
mov [edi+ebx],eax
add edx,[ebx+ecx*4]
sub edx,eax
shr edx,2
- mov ebx,[ebp+dstpitch]
+ mov ebx,[ebp+pitch]
mov [edi],eax
mov [edi+4],eax
mov [edi+ebx],edx
mov edx,[w8]
mov ecx,[ebx+edx*4]
mov [c8],ecx
- mov ebx,[ebp+dstpitch]
+ mov ebx,[ebp+pitch]
jmp ..@flag0
.loopx_end
jmp .flags
.nexty
add edi,ebx
- add esi,[ebp+srcpitch]
- sub esi,[ebp+Xres]
- sub esi,[ebp+Xres]
dec dword[linesleft]
jz .fin
mov ebx,[ebp+Xres]
+++ /dev/null
-;hq3x filter
-;16bpp output
-;----------------------------------------------------------
-;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com )
-;
-;This program is free software; you can redistribute it and/or
-;modify it under the terms of the GNU General Public License
-;as published by the Free Software Foundation; either
-;version 2 of the License, or (at your option) any later
-;version.
-;
-;This program is distributed in the hope that it will be useful,
-;but WITHOUT ANY WARRANTY; without even the implied warranty of
-;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;GNU General Public License for more details.
-;
-;You should have received a copy of the GNU General Public License
-;along with this program; if not, write to the Free Software
-;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-GLOBAL _hq3x_16
-
-EXTERN _LUT16to32
-EXTERN _RGBtoYUV
-
-SECTION .bss
-firstline resd 1
-linesleft resd 1
-xcounter resd 1
-cross resd 1
-nextline resd 1
-prevline resd 1
-w1 resd 1
-w2 resd 1
-w3 resd 1
-w4 resd 1
-w5 resd 1
-w6 resd 1
-w7 resd 1
-w8 resd 1
-w9 resd 1
-
-SECTION .data
-
-reg_blank dd 0,0
-const7 dd 0x00070007,0x00000007
-threshold dd 0x00300706,0x00000000
-zerolowbits dd 0xF7DEF7DE
-
-SECTION .text
-
-%macro TestDiff 2
- xor ecx,ecx
- mov edx,[%1]
- cmp edx,[%2]
- je %%fin
- mov ecx,_RGBtoYUV
- movd mm1,[ecx+edx*4]
- movq mm5,mm1
- mov edx,[%2]
- movd mm2,[ecx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd ecx,mm1
-%%fin:
-%endmacro
-
-%macro DiffOrNot 4
- TestDiff %1,%2
- test ecx,ecx
- jz %%same
- %3
- jmp %%fin
-%%same:
- %4
-%%fin
-%endmacro
-
-%macro DiffOrNot 6
- TestDiff %1,%2
- test ecx,ecx
- jz %%same
- %3
- %4
- jmp %%fin
-%%same:
- %5
- %6
-%%fin
-%endmacro
-
-%macro DiffOrNot 8
- TestDiff %1,%2
- test ecx,ecx
- jz %%same
- %3
- %4
- %5
- jmp %%fin
-%%same:
- %6
- %7
- %8
-%%fin
-%endmacro
-
-%macro DiffOrNot 10
- TestDiff %1,%2
- test ecx,ecx
- jz %%same
- %3
- %4
- %5
- %6
- jmp %%fin
-%%same:
- %7
- %8
- %9
- %10
-%%fin
-%endmacro
-
-%macro Interp1 3
- mov edx,%2
- mov ecx,%3
- cmp edx,ecx
- je %%fin
- and edx,[zerolowbits]
- and ecx,[zerolowbits]
- add ecx,edx
- shr ecx,1
- add ecx,0x0821
- and ecx,[zerolowbits]
- add edx,ecx
- shr edx,1
-%%fin
- mov %1,dx
-%endmacro
-
-%macro Interp2 4
- mov edx,%3
- mov ecx,%4
- cmp edx,ecx
- je %%fin1
- and edx,[zerolowbits]
- and ecx,[zerolowbits]
- add ecx,edx
- shr ecx,1
- add ecx,0x0821
-%%fin1
- mov edx,%2
- cmp edx,ecx
- je %%fin2
- and ecx,[zerolowbits]
- and edx,[zerolowbits]
- add edx,ecx
- shr edx,1
-%%fin2
- mov %1,dx
-%endmacro
-
-%macro Interp3 2
- mov ecx, _LUT16to32
- movd mm1, [ecx+eax*4]
- mov edx, %2
- movd mm2, [ecx+edx*4]
- punpcklbw mm1, [reg_blank]
- punpcklbw mm2, [reg_blank]
- pmullw mm1, [const7]
- paddw mm1, mm2
- psrlw mm1, 5
- packuswb mm1, [reg_blank]
- movd edx, mm1
- shl dl, 2
- shr edx, 1
- shl dx, 3
- shr edx, 5
- mov %1, dx
-%endmacro
-
-%macro Interp4 3
- mov ecx, _LUT16to32
- movd mm1, [ecx+eax*4]
- mov edx, %2
- movd mm2, [ecx+edx*4]
- mov edx, %3
- movd mm3, [ecx+edx*4]
- punpcklbw mm1, [reg_blank]
- punpcklbw mm2, [reg_blank]
- punpcklbw mm3, [reg_blank]
- psllw mm1, 1
- paddw mm2, mm3
- pmullw mm2, [const7]
- paddw mm1, mm2
- psrlw mm1, 6
- packuswb mm1, [reg_blank]
- movd edx, mm1
- shl dl, 2
- shr edx, 1
- shl dx, 3
- shr edx, 5
- mov %1, dx
-%endmacro
-
-%macro Interp5 3
- mov edx,%2
- mov ecx,%3
- cmp edx,ecx
- je %%fin
- and edx,[zerolowbits]
- and ecx,[zerolowbits]
- add edx,ecx
- shr edx,1
-%%fin
- mov %1,dx
-%endmacro
-
-%macro PIXEL00_1M 0
- Interp1 [edi],eax,[w1]
-%endmacro
-
-%macro PIXEL00_1U 0
- Interp1 [edi],eax,[w2]
-%endmacro
-
-%macro PIXEL00_1L 0
- Interp1 [edi],eax,[w4]
-%endmacro
-
-%macro PIXEL00_2 0
- Interp2 [edi],eax,[w4],[w2]
-%endmacro
-
-%macro PIXEL00_4 0
- Interp4 [edi],[w4],[w2]
-%endmacro
-
-%macro PIXEL00_5 0
- Interp5 [edi],[w4],[w2]
-%endmacro
-
-%macro PIXEL00_C 0
- mov [edi],ax
-%endmacro
-
-%macro PIXEL01_1 0
- Interp1 [edi+2],eax,[w2]
-%endmacro
-
-%macro PIXEL01_3 0
- Interp3 [edi+2],[w2]
-%endmacro
-
-%macro PIXEL01_6 0
- Interp1 [edi+2],[w2],eax
-%endmacro
-
-%macro PIXEL01_C 0
- mov [edi+2],ax
-%endmacro
-
-%macro PIXEL02_1M 0
- Interp1 [edi+4],eax,[w3]
-%endmacro
-
-%macro PIXEL02_1U 0
- Interp1 [edi+4],eax,[w2]
-%endmacro
-
-%macro PIXEL02_1R 0
- Interp1 [edi+4],eax,[w6]
-%endmacro
-
-%macro PIXEL02_2 0
- Interp2 [edi+4],eax,[w2],[w6]
-%endmacro
-
-%macro PIXEL02_4 0
- Interp4 [edi+4],[w2],[w6]
-%endmacro
-
-%macro PIXEL02_5 0
- Interp5 [edi+4],[w2],[w6]
-%endmacro
-
-%macro PIXEL02_C 0
- mov [edi+4],ax
-%endmacro
-
-%macro PIXEL10_1 0
- Interp1 [edi+ebx],eax,[w4]
-%endmacro
-
-%macro PIXEL10_3 0
- Interp3 [edi+ebx],[w4]
-%endmacro
-
-%macro PIXEL10_6 0
- Interp1 [edi+ebx],[w4],eax
-%endmacro
-
-%macro PIXEL10_C 0
- mov [edi+ebx],ax
-%endmacro
-
-%macro PIXEL11 0
- mov [edi+ebx+2],ax
-%endmacro
-
-%macro PIXEL12_1 0
- Interp1 [edi+ebx+4],eax,[w6]
-%endmacro
-
-%macro PIXEL12_3 0
- Interp3 [edi+ebx+4],[w6]
-%endmacro
-
-%macro PIXEL12_6 0
- Interp1 [edi+ebx+4],[w6],eax
-%endmacro
-
-%macro PIXEL12_C 0
- mov [edi+ebx+4],ax
-%endmacro
-
-%macro PIXEL20_1M 0
- Interp1 [edi+ebx*2],eax,[w7]
-%endmacro
-
-%macro PIXEL20_1D 0
- Interp1 [edi+ebx*2],eax,[w8]
-%endmacro
-
-%macro PIXEL20_1L 0
- Interp1 [edi+ebx*2],eax,[w4]
-%endmacro
-
-%macro PIXEL20_2 0
- Interp2 [edi+ebx*2],eax,[w8],[w4]
-%endmacro
-
-%macro PIXEL20_4 0
- Interp4 [edi+ebx*2],[w8],[w4]
-%endmacro
-
-%macro PIXEL20_5 0
- Interp5 [edi+ebx*2],[w8],[w4]
-%endmacro
-
-%macro PIXEL20_C 0
- mov [edi+ebx*2],ax
-%endmacro
-
-%macro PIXEL21_1 0
- Interp1 [edi+ebx*2+2],eax,[w8]
-%endmacro
-
-%macro PIXEL21_3 0
- Interp3 [edi+ebx*2+2],[w8]
-%endmacro
-
-%macro PIXEL21_6 0
- Interp1 [edi+ebx*2+2],[w8],eax
-%endmacro
-
-%macro PIXEL21_C 0
- mov [edi+ebx*2+2],ax
-%endmacro
-
-%macro PIXEL22_1M 0
- Interp1 [edi+ebx*2+4],eax,[w9]
-%endmacro
-
-%macro PIXEL22_1D 0
- Interp1 [edi+ebx*2+4],eax,[w8]
-%endmacro
-
-%macro PIXEL22_1R 0
- Interp1 [edi+ebx*2+4],eax,[w6]
-%endmacro
-
-%macro PIXEL22_2 0
- Interp2 [edi+ebx*2+4],eax,[w6],[w8]
-%endmacro
-
-%macro PIXEL22_4 0
- Interp4 [edi+ebx*2+4],[w6],[w8]
-%endmacro
-
-%macro PIXEL22_5 0
- Interp5 [edi+ebx*2+4],[w6],[w8]
-%endmacro
-
-%macro PIXEL22_C 0
- mov [edi+ebx*2+4],ax
-%endmacro
-
-inbuffer equ 8
-outbuffer equ 12
-Xres equ 16
-Yres equ 20
-srcpitch equ 24
-dstpitch equ 28
-
-_hq3x_16:
- push ebp
- mov ebp,esp
- pushad
-
- mov esi,[ebp+inbuffer]
- mov edi,[ebp+outbuffer]
- mov edx,[ebp+Yres]
- mov [linesleft],edx
- mov dword[firstline],1
-.loopy
- mov ebx,[ebp+Xres]
- shl ebx,1
- movzx eax,word[esi]
- mov [w5],eax
- mov [w6],eax
- mov edx,eax
- xor ecx,ecx
- cmp dword[firstline],1
- je .firstline
- sub ecx,ebx
- movzx eax,word[esi+ecx]
-.firstline
- mov [prevline],ecx
- mov [w2],eax
- mov [w3],eax
- xor ecx,ecx
- cmp dword[linesleft],1
- je .lastline
- add ecx,ebx
- movzx edx,word[esi+ecx]
-.lastline
- mov [nextline],ecx
- mov [w8],edx
- mov [w9],edx
- mov ecx,[ebp+Xres]
- mov dword[xcounter],ecx
-.loopx
- mov eax,[w2]
- mov ebx,[w5]
- mov edx,[w8]
- mov [w1],eax
- mov [w4],ebx
- mov [w7],edx
- mov eax,[w3]
- mov ebx,[w6]
- mov edx,[w9]
- mov [w2],eax
- mov [w5],ebx
- mov [w8],edx
- cmp dword[xcounter],1
- je .flags
- movzx eax,word[esi+2]
- mov [w6],eax
- mov ebx,[prevline]
- movzx edx,word[esi+ebx+2]
- mov [w3],edx
- mov ebx,[nextline]
- movzx eax,word[esi+ebx+2]
- mov [w9],eax
-.flags
- mov ebx,_RGBtoYUV
- mov eax,[w5]
- xor ecx,ecx
- movd mm5,[ebx+eax*4]
- mov dword[cross],0
-
- mov edx,[w2]
- cmp eax,edx
- je .noflag2
- or dword[cross],1
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag2
- or ecx,2
-.noflag2
- mov edx,[w4]
- cmp eax,edx
- je .noflag4
- or dword[cross],2
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag4
- or ecx,8
-.noflag4
- mov edx,[w6]
- cmp eax,edx
- je .noflag6
- or dword[cross],4
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag6
- or ecx,16
-.noflag6
- mov edx,[w8]
- cmp eax,edx
- je .noflag8
- or dword[cross],8
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag8
- or ecx,64
-.noflag8
- test ecx,ecx
- jnz .testflag1
- mov ecx,[cross]
- mov ebx,[ebp+dstpitch]
- jmp [FuncTable2+ecx*4]
-.testflag1
- mov edx,[w1]
- cmp eax,edx
- je .noflag1
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag1
- or ecx,1
-.noflag1
- mov edx,[w3]
- cmp eax,edx
- je .noflag3
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag3
- or ecx,4
-.noflag3
- mov edx,[w7]
- cmp eax,edx
- je .noflag7
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag7
- or ecx,32
-.noflag7
- mov edx,[w9]
- cmp eax,edx
- je .noflag9
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag9
- or ecx,128
-.noflag9
- mov ebx,[ebp+dstpitch]
- jmp [FuncTable+ecx*4]
-
-..@flag0
-..@flag1
-..@flag4
-..@flag32
-..@flag128
-..@flag5
-..@flag132
-..@flag160
-..@flag33
-..@flag129
-..@flag36
-..@flag133
-..@flag164
-..@flag161
-..@flag37
-..@flag165
- PIXEL00_2
- PIXEL01_1
- PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_2
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag2
-..@flag34
-..@flag130
-..@flag162
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_2
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag16
-..@flag17
-..@flag48
-..@flag49
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag64
-..@flag65
-..@flag68
-..@flag69
- PIXEL00_2
- PIXEL01_1
- PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag8
-..@flag12
-..@flag136
-..@flag140
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag3
-..@flag35
-..@flag131
-..@flag163
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_2
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag6
-..@flag38
-..@flag134
-..@flag166
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_2
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag20
-..@flag21
-..@flag52
-..@flag53
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag144
-..@flag145
-..@flag176
-..@flag177
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag192
-..@flag193
-..@flag196
-..@flag197
- PIXEL00_2
- PIXEL01_1
- PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag96
-..@flag97
-..@flag100
-..@flag101
- PIXEL00_2
- PIXEL01_1
- PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag40
-..@flag44
-..@flag168
-..@flag172
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag9
-..@flag13
-..@flag137
-..@flag141
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag18
-..@flag50
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_1M,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_1
- PIXEL11
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag80
-..@flag81
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_1M,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag72
-..@flag76
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_2
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_1M,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag10
-..@flag138
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag66
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag24
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag7
-..@flag39
-..@flag135
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_2
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag148
-..@flag149
-..@flag180
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag224
-..@flag228
-..@flag225
- PIXEL00_2
- PIXEL01_1
- PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag41
-..@flag169
-..@flag45
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag22
-..@flag54
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_1
- PIXEL11
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag208
-..@flag209
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag104
-..@flag108
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_2
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag11
-..@flag139
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag19
-..@flag51
- DiffOrNot w2,w6,PIXEL00_1L,PIXEL01_C,PIXEL02_1M,PIXEL12_C,PIXEL00_2,PIXEL01_6,PIXEL02_5,PIXEL12_1
- PIXEL10_1
- PIXEL11
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag146
-..@flag178
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_1M,PIXEL12_C,PIXEL22_1D,PIXEL01_1,PIXEL02_5,PIXEL12_6,PIXEL22_2
- PIXEL00_1M
- PIXEL10_1
- PIXEL11
- PIXEL20_2
- PIXEL21_1
- jmp .loopx_end
-..@flag84
-..@flag85
- DiffOrNot w6,w8,PIXEL02_1U,PIXEL12_C,PIXEL21_C,PIXEL22_1M,PIXEL02_2,PIXEL12_6,PIXEL21_1,PIXEL22_5
- PIXEL00_2
- PIXEL01_1
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- jmp .loopx_end
-..@flag112
-..@flag113
- DiffOrNot w6,w8,PIXEL12_C,PIXEL20_1L,PIXEL21_C,PIXEL22_1M,PIXEL12_1,PIXEL20_2,PIXEL21_6,PIXEL22_5
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- jmp .loopx_end
-..@flag200
-..@flag204
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_1M,PIXEL21_C,PIXEL22_1R,PIXEL10_1,PIXEL20_5,PIXEL21_6,PIXEL22_2
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_2
- PIXEL11
- PIXEL12_1
- jmp .loopx_end
-..@flag73
-..@flag77
- DiffOrNot w8,w4,PIXEL00_1U,PIXEL10_C,PIXEL20_1M,PIXEL21_C,PIXEL00_2,PIXEL10_6,PIXEL20_5,PIXEL21_1
- PIXEL01_1
- PIXEL02_2
- PIXEL11
- PIXEL12_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag42
-..@flag170
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL01_C,PIXEL10_C,PIXEL20_1D,PIXEL00_5,PIXEL01_1,PIXEL10_6,PIXEL20_2
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag14
-..@flag142
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL01_C,PIXEL02_1R,PIXEL10_C,PIXEL00_5,PIXEL01_6,PIXEL02_2,PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag67
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag70
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag28
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag152
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag194
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag98
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag56
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag25
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag26
-..@flag31
- DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
- PIXEL11
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag82
-..@flag214
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag88
-..@flag248
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL11
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
- jmp .loopx_end
-..@flag74
-..@flag107
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag27
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag86
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag216
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag106
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag30
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_C
- PIXEL11
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag210
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag120
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag75
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag29
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag198
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag184
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag99
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag57
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag71
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag156
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag226
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag60
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag195
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag102
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag153
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag58
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag83
- PIXEL00_1L
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag92
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag202
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag78
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag154
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag114
- PIXEL00_1M
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1L
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag89
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag90
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag55
-..@flag23
- DiffOrNot w2,w6,PIXEL00_1L,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL00_2,PIXEL01_6,PIXEL02_5,PIXEL12_1
- PIXEL10_1
- PIXEL11
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag182
-..@flag150
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL22_1D,PIXEL01_1,PIXEL02_5,PIXEL12_6,PIXEL22_2
- PIXEL00_1M
- PIXEL10_1
- PIXEL11
- PIXEL20_2
- PIXEL21_1
- jmp .loopx_end
-..@flag213
-..@flag212
- DiffOrNot w6,w8,PIXEL02_1U,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL02_2,PIXEL12_6,PIXEL21_1,PIXEL22_5
- PIXEL00_2
- PIXEL01_1
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- jmp .loopx_end
-..@flag241
-..@flag240
- DiffOrNot w6,w8,PIXEL12_C,PIXEL20_1L,PIXEL21_C,PIXEL22_C,PIXEL12_1,PIXEL20_2,PIXEL21_6,PIXEL22_5
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- jmp .loopx_end
-..@flag236
-..@flag232
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL22_1R,PIXEL10_1,PIXEL20_5,PIXEL21_6,PIXEL22_2
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_2
- PIXEL11
- PIXEL12_1
- jmp .loopx_end
-..@flag109
-..@flag105
- DiffOrNot w8,w4,PIXEL00_1U,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL00_2,PIXEL10_6,PIXEL20_5,PIXEL21_1
- PIXEL01_1
- PIXEL02_2
- PIXEL11
- PIXEL12_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag171
-..@flag43
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL20_1D,PIXEL00_5,PIXEL01_1,PIXEL10_6,PIXEL20_2
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag143
-..@flag15
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL02_1R,PIXEL10_C,PIXEL00_5,PIXEL01_6,PIXEL02_2,PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag124
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag203
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag62
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_C
- PIXEL11
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag211
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag118
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_1
- PIXEL11
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag217
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag110
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag155
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag188
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag185
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag61
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag157
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag103
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag227
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag230
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag199
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag220
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag158
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_C
- PIXEL11
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag234
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1R
- jmp .loopx_end
-..@flag242
- PIXEL00_1M
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL20_1L
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag59
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag121
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag87
- PIXEL00_1L
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag79
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1R
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag122
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag94
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_C
- PIXEL11
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag218
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_C
- PIXEL11
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag91
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag229
- PIXEL00_2
- PIXEL01_1
- PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag167
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_2
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag173
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag181
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag186
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag115
- PIXEL00_1L
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1L
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag93
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag206
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag205
-..@flag201
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag174
-..@flag46
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag179
-..@flag147
- PIXEL00_1L
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag117
-..@flag116
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1L
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag189
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag231
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag126
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL11
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag219
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag125
- DiffOrNot w8,w4,PIXEL00_1U,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL00_2,PIXEL10_6,PIXEL20_5,PIXEL21_1
- PIXEL01_1
- PIXEL02_1U
- PIXEL11
- PIXEL12_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag221
- DiffOrNot w6,w8,PIXEL02_1U,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL02_2,PIXEL12_6,PIXEL21_1,PIXEL22_5
- PIXEL00_1U
- PIXEL01_1
- PIXEL10_C
- PIXEL11
- PIXEL20_1M
- jmp .loopx_end
-..@flag207
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL02_1R,PIXEL10_C,PIXEL00_5,PIXEL01_6,PIXEL02_2,PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag238
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL22_1R,PIXEL10_1,PIXEL20_5,PIXEL21_6,PIXEL22_2
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL11
- PIXEL12_1
- jmp .loopx_end
-..@flag190
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL22_1D,PIXEL01_1,PIXEL02_5,PIXEL12_6,PIXEL22_2
- PIXEL00_1M
- PIXEL10_C
- PIXEL11
- PIXEL20_1D
- PIXEL21_1
- jmp .loopx_end
-..@flag187
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL20_1D,PIXEL00_5,PIXEL01_1,PIXEL10_6,PIXEL20_2
- PIXEL02_1M
- PIXEL11
- PIXEL12_C
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag243
- DiffOrNot w6,w8,PIXEL12_C,PIXEL20_1L,PIXEL21_C,PIXEL22_C,PIXEL12_1,PIXEL20_2,PIXEL21_6,PIXEL22_5
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- jmp .loopx_end
-..@flag119
- DiffOrNot w2,w6,PIXEL00_1L,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL00_2,PIXEL01_6,PIXEL02_5,PIXEL12_1
- PIXEL10_1
- PIXEL11
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag237
-..@flag233
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag175
-..@flag47
- DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag183
-..@flag151
- PIXEL00_1L
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag245
-..@flag244
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1L
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
- jmp .loopx_end
-..@flag250
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL11
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
- jmp .loopx_end
-..@flag123
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag95
- DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
- PIXEL11
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag222
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag252
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
- jmp .loopx_end
-..@flag249
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
- jmp .loopx_end
-..@flag235
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag111
- DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag63
- DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
- PIXEL10_C
- PIXEL11
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag159
- DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag215
- PIXEL00_1L
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag246
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1L
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
- jmp .loopx_end
-..@flag254
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
- PIXEL11
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_2
- jmp .loopx_end
-..@flag253
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
- jmp .loopx_end
-..@flag251
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
- PIXEL02_1M
- PIXEL11
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_2,PIXEL21_3
- DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
- jmp .loopx_end
-..@flag239
- DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag127
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_2,PIXEL01_3,PIXEL10_3
- DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
- PIXEL11
- DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag191
- DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag223
- DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_2,PIXEL12_3
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag247
- PIXEL00_1L
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1L
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
- jmp .loopx_end
-..@flag255
- DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
- jmp .loopx_end
-
-..@cross0
- mov edx,eax
- shl eax,16
- or eax,edx
- mov [edi],eax
- mov [edi+4],ax
- mov [edi+ebx],eax
- mov [edi+ebx+4],ax
- mov [edi+ebx*2],eax
- mov [edi+ebx*2+4],ax
- jmp .loopx_end
-..@cross1
- mov edx,eax
- shl eax,16
- or eax,edx
- mov ecx,[w2]
- and edx,[zerolowbits]
- and ecx,[zerolowbits]
- add ecx,edx
- shr ecx,1
- add ecx,0x0821
- and ecx,[zerolowbits]
- add edx,ecx
- shr edx,1
- mov [edi],dx
- mov [edi+2],dx
- mov [edi+4],dx
- mov [edi+ebx],eax
- mov [edi+ebx+4],ax
- mov [edi+ebx*2],eax
- mov [edi+ebx*2+4],ax
- jmp .loopx_end
-..@cross2
- mov edx,eax
- shl eax,16
- or eax,edx
- mov ecx,[w4]
- and edx,[zerolowbits]
- and ecx,[zerolowbits]
- add ecx,edx
- shr ecx,1
- add ecx,0x0821
- and ecx,[zerolowbits]
- add edx,ecx
- shr edx,1
- mov [edi],dx
- mov [edi+2],eax
- mov [edi+ebx],dx
- mov [edi+ebx+2],eax
- mov [edi+ebx*2],dx
- mov [edi+ebx*2+2],eax
- jmp .loopx_end
-..@cross4
- mov edx,eax
- shl eax,16
- or eax,edx
- mov ecx,[w6]
- and edx,[zerolowbits]
- and ecx,[zerolowbits]
- add ecx,edx
- shr ecx,1
- add ecx,0x0821
- and ecx,[zerolowbits]
- add edx,ecx
- shr edx,1
- mov [edi],eax
- mov [edi+4],dx
- mov [edi+ebx],eax
- mov [edi+ebx+4],dx
- mov [edi+ebx*2],eax
- mov [edi+ebx*2+4],dx
- jmp .loopx_end
-..@cross8
- mov edx,eax
- shl eax,16
- or eax,edx
- mov ecx,[w8]
- and edx,[zerolowbits]
- and ecx,[zerolowbits]
- add ecx,edx
- shr ecx,1
- add ecx,0x0821
- and ecx,[zerolowbits]
- add edx,ecx
- shr edx,1
- mov [edi],eax
- mov [edi+4],ax
- mov [edi+ebx],eax
- mov [edi+ebx+4],ax
- mov [edi+ebx*2],dx
- mov [edi+ebx*2+2],dx
- mov [edi+ebx*2+4],dx
- jmp .loopx_end
-
-.loopx_end
- add esi,2
- add edi,6
- dec dword[xcounter]
- jz .nexty
- jmp .loopx
-.nexty
- mov dword[firstline],0
- add edi,ebx
- add edi,ebx
- add esi,[ebp+srcpitch]
- dec dword[linesleft]
- jz .fin
- jmp .loopy
-.fin
- emms
- popad
- mov esp,ebp
- pop ebp
- ret
-
-SECTION .data
-FuncTable
- dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
- dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
- dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
- dd ..@flag24, ..@flag25, ..@flag26, ..@flag27, ..@flag28, ..@flag29, ..@flag30, ..@flag31
- dd ..@flag32, ..@flag33, ..@flag34, ..@flag35, ..@flag36, ..@flag37, ..@flag38, ..@flag39
- dd ..@flag40, ..@flag41, ..@flag42, ..@flag43, ..@flag44, ..@flag45, ..@flag46, ..@flag47
- dd ..@flag48, ..@flag49, ..@flag50, ..@flag51, ..@flag52, ..@flag53, ..@flag54, ..@flag55
- dd ..@flag56, ..@flag57, ..@flag58, ..@flag59, ..@flag60, ..@flag61, ..@flag62, ..@flag63
- dd ..@flag64, ..@flag65, ..@flag66, ..@flag67, ..@flag68, ..@flag69, ..@flag70, ..@flag71
- dd ..@flag72, ..@flag73, ..@flag74, ..@flag75, ..@flag76, ..@flag77, ..@flag78, ..@flag79
- dd ..@flag80, ..@flag81, ..@flag82, ..@flag83, ..@flag84, ..@flag85, ..@flag86, ..@flag87
- dd ..@flag88, ..@flag89, ..@flag90, ..@flag91, ..@flag92, ..@flag93, ..@flag94, ..@flag95
- dd ..@flag96, ..@flag97, ..@flag98, ..@flag99, ..@flag100, ..@flag101, ..@flag102, ..@flag103
- dd ..@flag104, ..@flag105, ..@flag106, ..@flag107, ..@flag108, ..@flag109, ..@flag110, ..@flag111
- dd ..@flag112, ..@flag113, ..@flag114, ..@flag115, ..@flag116, ..@flag117, ..@flag118, ..@flag119
- dd ..@flag120, ..@flag121, ..@flag122, ..@flag123, ..@flag124, ..@flag125, ..@flag126, ..@flag127
- dd ..@flag128, ..@flag129, ..@flag130, ..@flag131, ..@flag132, ..@flag133, ..@flag134, ..@flag135
- dd ..@flag136, ..@flag137, ..@flag138, ..@flag139, ..@flag140, ..@flag141, ..@flag142, ..@flag143
- dd ..@flag144, ..@flag145, ..@flag146, ..@flag147, ..@flag148, ..@flag149, ..@flag150, ..@flag151
- dd ..@flag152, ..@flag153, ..@flag154, ..@flag155, ..@flag156, ..@flag157, ..@flag158, ..@flag159
- dd ..@flag160, ..@flag161, ..@flag162, ..@flag163, ..@flag164, ..@flag165, ..@flag166, ..@flag167
- dd ..@flag168, ..@flag169, ..@flag170, ..@flag171, ..@flag172, ..@flag173, ..@flag174, ..@flag175
- dd ..@flag176, ..@flag177, ..@flag178, ..@flag179, ..@flag180, ..@flag181, ..@flag182, ..@flag183
- dd ..@flag184, ..@flag185, ..@flag186, ..@flag187, ..@flag188, ..@flag189, ..@flag190, ..@flag191
- dd ..@flag192, ..@flag193, ..@flag194, ..@flag195, ..@flag196, ..@flag197, ..@flag198, ..@flag199
- dd ..@flag200, ..@flag201, ..@flag202, ..@flag203, ..@flag204, ..@flag205, ..@flag206, ..@flag207
- dd ..@flag208, ..@flag209, ..@flag210, ..@flag211, ..@flag212, ..@flag213, ..@flag214, ..@flag215
- dd ..@flag216, ..@flag217, ..@flag218, ..@flag219, ..@flag220, ..@flag221, ..@flag222, ..@flag223
- dd ..@flag224, ..@flag225, ..@flag226, ..@flag227, ..@flag228, ..@flag229, ..@flag230, ..@flag231
- dd ..@flag232, ..@flag233, ..@flag234, ..@flag235, ..@flag236, ..@flag237, ..@flag238, ..@flag239
- dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
- dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
-
-FuncTable2
- dd ..@cross0, ..@cross1, ..@cross2, ..@flag0,
- dd ..@cross4, ..@flag0, ..@flag0, ..@flag0,
- dd ..@cross8, ..@flag0, ..@flag0, ..@flag0,
- dd ..@flag0, ..@flag0, ..@flag0, ..@flag0
-
+++ /dev/null
-;hq3x filter
-;----------------------------------------------------------
-;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com )
-;
-;This program is free software; you can redistribute it and/or
-;modify it under the terms of the GNU General Public License
-;as published by the Free Software Foundation; either
-;version 2 of the License, or (at your option) any later
-;version.
-;
-;This program is distributed in the hope that it will be useful,
-;but WITHOUT ANY WARRANTY; without even the implied warranty of
-;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;GNU General Public License for more details.
-;
-;You should have received a copy of the GNU General Public License
-;along with this program; if not, write to the Free Software
-;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-GLOBAL _hq3x_32
-
-EXTERN _LUT16to32
-EXTERN _RGBtoYUV
-
-SECTION .bss
-firstline resd 1
-linesleft resd 1
-xcounter resd 1
-cross resd 1
-nextline resd 1
-prevline resd 1
-w1 resd 1
-w2 resd 1
-w3 resd 1
-w4 resd 1
-w5 resd 1
-w6 resd 1
-w7 resd 1
-w8 resd 1
-w9 resd 1
-c1 resd 1
-c2 resd 1
-c3 resd 1
-c4 resd 1
-c5 resd 1
-c6 resd 1
-c7 resd 1
-c8 resd 1
-c9 resd 1
-
-SECTION .data
-
-reg_blank dd 0,0
-const7 dd 0x00070007,0x00000007
-threshold dd 0x00300706,0x00000000
-
-SECTION .text
-
-%macro TestDiff 2
- xor ecx,ecx
- mov edx,[%1]
- cmp edx,[%2]
- je %%fin
- mov ecx,_RGBtoYUV
- movd mm1,[ecx+edx*4]
- movq mm5,mm1
- mov edx,[%2]
- movd mm2,[ecx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd ecx,mm1
-%%fin:
-%endmacro
-
-%macro DiffOrNot 4
- TestDiff %1,%2
- test ecx,ecx
- jz %%same
- %3
- jmp %%fin
-%%same:
- %4
-%%fin
-%endmacro
-
-%macro DiffOrNot 6
- TestDiff %1,%2
- test ecx,ecx
- jz %%same
- %3
- %4
- jmp %%fin
-%%same:
- %5
- %6
-%%fin
-%endmacro
-
-%macro DiffOrNot 8
- TestDiff %1,%2
- test ecx,ecx
- jz %%same
- %3
- %4
- %5
- jmp %%fin
-%%same:
- %6
- %7
- %8
-%%fin
-%endmacro
-
-%macro DiffOrNot 10
- TestDiff %1,%2
- test ecx,ecx
- jz %%same
- %3
- %4
- %5
- %6
- jmp %%fin
-%%same:
- %7
- %8
- %9
- %10
-%%fin
-%endmacro
-
-%macro Interp1 3
- mov edx,%2
- shl edx,2
- add edx,%3
- sub edx,%2
- shr edx,2
- mov %1,edx
-%endmacro
-
-%macro Interp2 4
- mov edx,%2
- shl edx,1
- add edx,%3
- add edx,%4
- shr edx,2
- mov %1,edx
-%endmacro
-
-%macro Interp3 2
- movd mm1, eax
- movd mm2, %2
- punpcklbw mm1, [reg_blank]
- punpcklbw mm2, [reg_blank]
- pmullw mm1, [const7]
- paddw mm1, mm2
- psrlw mm1, 3
- packuswb mm1, [reg_blank]
- movd %1, mm1
-%endmacro
-
-%macro Interp4 3
- movd mm1, eax
- movd mm2, %2
- movd mm3, %3
- punpcklbw mm1, [reg_blank]
- punpcklbw mm2, [reg_blank]
- punpcklbw mm3, [reg_blank]
- psllw mm1, 1
- paddw mm2, mm3
- pmullw mm2, [const7]
- paddw mm1, mm2
- psrlw mm1, 4
- packuswb mm1, [reg_blank]
- movd %1, mm1
-%endmacro
-
-%macro Interp5 3
- mov edx,%2
- add edx,%3
- shr edx,1
- mov %1,edx
-%endmacro
-
-%macro PIXEL00_1M 0
- Interp1 [edi],eax,[c1]
-%endmacro
-
-%macro PIXEL00_1U 0
- Interp1 [edi],eax,[c2]
-%endmacro
-
-%macro PIXEL00_1L 0
- Interp1 [edi],eax,[c4]
-%endmacro
-
-%macro PIXEL00_2 0
- Interp2 [edi],eax,[c4],[c2]
-%endmacro
-
-%macro PIXEL00_4 0
- Interp4 [edi],[c4],[c2]
-%endmacro
-
-%macro PIXEL00_5 0
- Interp5 [edi],[c4],[c2]
-%endmacro
-
-%macro PIXEL00_C 0
- mov [edi],eax
-%endmacro
-
-%macro PIXEL01_1 0
- Interp1 [edi+4],eax,[c2]
-%endmacro
-
-%macro PIXEL01_3 0
- Interp3 [edi+4],[c2]
-%endmacro
-
-%macro PIXEL01_6 0
- Interp1 [edi+4],[c2],eax
-%endmacro
-
-%macro PIXEL01_C 0
- mov [edi+4],eax
-%endmacro
-
-%macro PIXEL02_1M 0
- Interp1 [edi+8],eax,[c3]
-%endmacro
-
-%macro PIXEL02_1U 0
- Interp1 [edi+8],eax,[c2]
-%endmacro
-
-%macro PIXEL02_1R 0
- Interp1 [edi+8],eax,[c6]
-%endmacro
-
-%macro PIXEL02_2 0
- Interp2 [edi+8],eax,[c2],[c6]
-%endmacro
-
-%macro PIXEL02_4 0
- Interp4 [edi+8],[c2],[c6]
-%endmacro
-
-%macro PIXEL02_5 0
- Interp5 [edi+8],[c2],[c6]
-%endmacro
-
-%macro PIXEL02_C 0
- mov [edi+8],eax
-%endmacro
-
-%macro PIXEL10_1 0
- Interp1 [edi+ebx],eax,[c4]
-%endmacro
-
-%macro PIXEL10_3 0
- Interp3 [edi+ebx],[c4]
-%endmacro
-
-%macro PIXEL10_6 0
- Interp1 [edi+ebx],[c4],eax
-%endmacro
-
-%macro PIXEL10_C 0
- mov [edi+ebx],eax
-%endmacro
-
-%macro PIXEL11 0
- mov [edi+ebx+4],eax
-%endmacro
-
-%macro PIXEL12_1 0
- Interp1 [edi+ebx+8],eax,[c6]
-%endmacro
-
-%macro PIXEL12_3 0
- Interp3 [edi+ebx+8],[c6]
-%endmacro
-
-%macro PIXEL12_6 0
- Interp1 [edi+ebx+8],[c6],eax
-%endmacro
-
-%macro PIXEL12_C 0
- mov [edi+ebx+8],eax
-%endmacro
-
-%macro PIXEL20_1M 0
- Interp1 [edi+ebx*2],eax,[c7]
-%endmacro
-
-%macro PIXEL20_1D 0
- Interp1 [edi+ebx*2],eax,[c8]
-%endmacro
-
-%macro PIXEL20_1L 0
- Interp1 [edi+ebx*2],eax,[c4]
-%endmacro
-
-%macro PIXEL20_2 0
- Interp2 [edi+ebx*2],eax,[c8],[c4]
-%endmacro
-
-%macro PIXEL20_4 0
- Interp4 [edi+ebx*2],[c8],[c4]
-%endmacro
-
-%macro PIXEL20_5 0
- Interp5 [edi+ebx*2],[c8],[c4]
-%endmacro
-
-%macro PIXEL20_C 0
- mov [edi+ebx*2],eax
-%endmacro
-
-%macro PIXEL21_1 0
- Interp1 [edi+ebx*2+4],eax,[c8]
-%endmacro
-
-%macro PIXEL21_3 0
- Interp3 [edi+ebx*2+4],[c8]
-%endmacro
-
-%macro PIXEL21_6 0
- Interp1 [edi+ebx*2+4],[c8],eax
-%endmacro
-
-%macro PIXEL21_C 0
- mov [edi+ebx*2+4],eax
-%endmacro
-
-%macro PIXEL22_1M 0
- Interp1 [edi+ebx*2+8],eax,[c9]
-%endmacro
-
-%macro PIXEL22_1D 0
- Interp1 [edi+ebx*2+8],eax,[c8]
-%endmacro
-
-%macro PIXEL22_1R 0
- Interp1 [edi+ebx*2+8],eax,[c6]
-%endmacro
-
-%macro PIXEL22_2 0
- Interp2 [edi+ebx*2+8],eax,[c6],[c8]
-%endmacro
-
-%macro PIXEL22_4 0
- Interp4 [edi+ebx*2+8],[c6],[c8]
-%endmacro
-
-%macro PIXEL22_5 0
- Interp5 [edi+ebx*2+8],[c6],[c8]
-%endmacro
-
-%macro PIXEL22_C 0
- mov [edi+ebx*2+8],eax
-%endmacro
-
-inbuffer equ 8
-outbuffer equ 12
-Xres equ 16
-Yres equ 20
-dstpitch equ 24
-srcpitch equ 28
-dstpitch2 equ 32
-
-_hq3x_32:
- push ebp
- mov ebp,esp
- pushad
-
- mov esi,[ebp+inbuffer]
- mov edi,[ebp+outbuffer]
- mov edx,[ebp+Yres]
- mov [linesleft],edx
- mov dword[firstline],1
-.loopy
- mov ebx,[ebp+Xres]
- shl ebx,1
- movzx eax,word[esi]
- mov [w5],eax
- mov [w6],eax
- mov edx,eax
- xor ecx,ecx
- cmp dword[firstline],1
- je .firstline
- sub ecx,ebx
- movzx eax,word[esi+ecx]
-.firstline
- mov [prevline],ecx
- mov [w2],eax
- mov [w3],eax
- xor ecx,ecx
- cmp dword[linesleft],1
- je .lastline
- add ecx,ebx
- movzx edx,word[esi+ecx]
-.lastline
- mov [nextline],ecx
- mov [w8],edx
- mov [w9],edx
- mov ecx,[ebp+Xres]
- mov dword[xcounter],ecx
-.loopx
- mov eax,[w2]
- mov ebx,[w5]
- mov edx,[w8]
- mov [w1],eax
- mov [w4],ebx
- mov [w7],edx
- mov eax,[w3]
- mov ebx,[w6]
- mov edx,[w9]
- mov [w2],eax
- mov [w5],ebx
- mov [w8],edx
- cmp dword[xcounter],1
- je .flags
- movzx eax,word[esi+2]
- mov [w6],eax
- mov ebx,[prevline]
- movzx edx,word[esi+ebx+2]
- mov [w3],edx
- mov ebx,[nextline]
- movzx eax,word[esi+ebx+2]
- mov [w9],eax
-.flags
- mov ebx,_RGBtoYUV
- mov eax,[w5]
- xor ecx,ecx
- movd mm5,[ebx+eax*4]
- mov dword[cross],0
-
- mov edx,[w2]
- cmp eax,edx
- je .noflag2
- or dword[cross],1
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag2
- or ecx,2
-.noflag2
- mov edx,[w4]
- cmp eax,edx
- je .noflag4
- or dword[cross],2
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag4
- or ecx,8
-.noflag4
- mov edx,[w6]
- cmp eax,edx
- je .noflag6
- or dword[cross],4
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag6
- or ecx,16
-.noflag6
- mov edx,[w8]
- cmp eax,edx
- je .noflag8
- or dword[cross],8
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag8
- or ecx,64
-.noflag8
- test ecx,ecx
- jnz .testflag1
- mov ecx,[cross]
- mov ebx,_LUT16to32
- mov eax,[ebx+eax*4]
- jmp [FuncTable2+ecx*4]
-.testflag1
- mov edx,[w1]
- cmp eax,edx
- je .noflag1
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag1
- or ecx,1
-.noflag1
- mov edx,[w3]
- cmp eax,edx
- je .noflag3
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag3
- or ecx,4
-.noflag3
- mov edx,[w7]
- cmp eax,edx
- je .noflag7
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag7
- or ecx,32
-.noflag7
- mov edx,[w9]
- cmp eax,edx
- je .noflag9
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag9
- or ecx,128
-.noflag9
- mov ebx,_LUT16to32
- mov eax,[ebx+eax*4]
- mov edx,[w2]
- mov edx,[ebx+edx*4]
- mov [c2],edx
- mov edx,[w4]
- mov edx,[ebx+edx*4]
- mov [c4],edx
- mov edx,[w6]
- mov edx,[ebx+edx*4]
- mov [c6],edx
- mov edx,[w8]
- mov edx,[ebx+edx*4]
- mov [c8],edx
- test ecx,0x005A
- jz .switch
- mov edx,[w1]
- mov edx,[ebx+edx*4]
- mov [c1],edx
- mov edx,[w3]
- mov edx,[ebx+edx*4]
- mov [c3],edx
- mov edx,[w7]
- mov edx,[ebx+edx*4]
- mov [c7],edx
- mov edx,[w9]
- mov edx,[ebx+edx*4]
- mov [c9],edx
-.switch
- mov ebx,[ebp+dstpitch]
- jmp [FuncTable+ecx*4]
-
-..@flag0
-..@flag1
-..@flag4
-..@flag32
-..@flag128
-..@flag5
-..@flag132
-..@flag160
-..@flag33
-..@flag129
-..@flag36
-..@flag133
-..@flag164
-..@flag161
-..@flag37
-..@flag165
-; PIXEL00_2
-; PIXEL01_1
-; PIXEL02_2
-; PIXEL10_1
-; PIXEL11
-; PIXEL12_1
-; PIXEL20_2
-; PIXEL21_1
-; PIXEL22_2
-
-; the same, only optimized
- mov ecx,eax
- shl ecx,1
- add ecx,[c2]
- mov edx,ecx
- add edx,[c4]
- shr edx,2
- mov [edi],edx
- mov edx,ecx
- add edx,eax
- shr edx,2
- mov [edi+4],edx
- add ecx,[c6]
- shr ecx,2
- mov [edi+8],ecx
- mov ecx,eax
- shl ecx,2
- sub ecx,eax
- mov edx,ecx
- add edx,[c4]
- shr edx,2
- mov [edi+ebx],edx
- mov [edi+ebx+4],eax
- add ecx,[c6]
- shr ecx,2
- mov [edi+ebx+8],ecx
- mov ecx,eax
- shl ecx,1
- add ecx,[c8]
- mov edx,ecx
- add edx,[c4]
- shr edx,2
- mov [edi+ebx*2],edx
- mov edx,ecx
- add edx,eax
- shr edx,2
- mov [edi+ebx*2+4],edx
- add ecx,[c6]
- shr ecx,2
- mov [edi+ebx*2+8],ecx
- jmp .loopx_end
-..@flag2
-..@flag34
-..@flag130
-..@flag162
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_2
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag16
-..@flag17
-..@flag48
-..@flag49
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag64
-..@flag65
-..@flag68
-..@flag69
- PIXEL00_2
- PIXEL01_1
- PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag8
-..@flag12
-..@flag136
-..@flag140
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag3
-..@flag35
-..@flag131
-..@flag163
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_2
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag6
-..@flag38
-..@flag134
-..@flag166
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_2
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag20
-..@flag21
-..@flag52
-..@flag53
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag144
-..@flag145
-..@flag176
-..@flag177
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag192
-..@flag193
-..@flag196
-..@flag197
- PIXEL00_2
- PIXEL01_1
- PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag96
-..@flag97
-..@flag100
-..@flag101
- PIXEL00_2
- PIXEL01_1
- PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag40
-..@flag44
-..@flag168
-..@flag172
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag9
-..@flag13
-..@flag137
-..@flag141
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag18
-..@flag50
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_1M,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_1
- PIXEL11
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag80
-..@flag81
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_1M,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag72
-..@flag76
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_2
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_1M,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag10
-..@flag138
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag66
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag24
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag7
-..@flag39
-..@flag135
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_2
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag148
-..@flag149
-..@flag180
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag224
-..@flag228
-..@flag225
- PIXEL00_2
- PIXEL01_1
- PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag41
-..@flag169
-..@flag45
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag22
-..@flag54
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_1
- PIXEL11
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag208
-..@flag209
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag104
-..@flag108
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_2
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag11
-..@flag139
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag19
-..@flag51
- DiffOrNot w2,w6,PIXEL00_1L,PIXEL01_C,PIXEL02_1M,PIXEL12_C,PIXEL00_2,PIXEL01_6,PIXEL02_5,PIXEL12_1
- PIXEL10_1
- PIXEL11
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag146
-..@flag178
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_1M,PIXEL12_C,PIXEL22_1D,PIXEL01_1,PIXEL02_5,PIXEL12_6,PIXEL22_2
- PIXEL00_1M
- PIXEL10_1
- PIXEL11
- PIXEL20_2
- PIXEL21_1
- jmp .loopx_end
-..@flag84
-..@flag85
- DiffOrNot w6,w8,PIXEL02_1U,PIXEL12_C,PIXEL21_C,PIXEL22_1M,PIXEL02_2,PIXEL12_6,PIXEL21_1,PIXEL22_5
- PIXEL00_2
- PIXEL01_1
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- jmp .loopx_end
-..@flag112
-..@flag113
- DiffOrNot w6,w8,PIXEL12_C,PIXEL20_1L,PIXEL21_C,PIXEL22_1M,PIXEL12_1,PIXEL20_2,PIXEL21_6,PIXEL22_5
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- jmp .loopx_end
-..@flag200
-..@flag204
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_1M,PIXEL21_C,PIXEL22_1R,PIXEL10_1,PIXEL20_5,PIXEL21_6,PIXEL22_2
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_2
- PIXEL11
- PIXEL12_1
- jmp .loopx_end
-..@flag73
-..@flag77
- DiffOrNot w8,w4,PIXEL00_1U,PIXEL10_C,PIXEL20_1M,PIXEL21_C,PIXEL00_2,PIXEL10_6,PIXEL20_5,PIXEL21_1
- PIXEL01_1
- PIXEL02_2
- PIXEL11
- PIXEL12_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag42
-..@flag170
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL01_C,PIXEL10_C,PIXEL20_1D,PIXEL00_5,PIXEL01_1,PIXEL10_6,PIXEL20_2
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag14
-..@flag142
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL01_C,PIXEL02_1R,PIXEL10_C,PIXEL00_5,PIXEL01_6,PIXEL02_2,PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag67
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag70
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag28
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag152
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag194
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag98
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag56
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag25
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag26
-..@flag31
- DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
- PIXEL11
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag82
-..@flag214
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag88
-..@flag248
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL11
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
- jmp .loopx_end
-..@flag74
-..@flag107
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag27
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag86
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag216
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag106
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag30
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_C
- PIXEL11
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag210
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag120
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag75
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag29
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag198
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag184
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag99
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag57
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag71
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag156
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag226
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag60
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag195
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag102
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag153
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag58
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag83
- PIXEL00_1L
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag92
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag202
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag78
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag154
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag114
- PIXEL00_1M
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1L
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag89
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag90
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag55
-..@flag23
- DiffOrNot w2,w6,PIXEL00_1L,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL00_2,PIXEL01_6,PIXEL02_5,PIXEL12_1
- PIXEL10_1
- PIXEL11
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag182
-..@flag150
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL22_1D,PIXEL01_1,PIXEL02_5,PIXEL12_6,PIXEL22_2
- PIXEL00_1M
- PIXEL10_1
- PIXEL11
- PIXEL20_2
- PIXEL21_1
- jmp .loopx_end
-..@flag213
-..@flag212
- DiffOrNot w6,w8,PIXEL02_1U,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL02_2,PIXEL12_6,PIXEL21_1,PIXEL22_5
- PIXEL00_2
- PIXEL01_1
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- jmp .loopx_end
-..@flag241
-..@flag240
- DiffOrNot w6,w8,PIXEL12_C,PIXEL20_1L,PIXEL21_C,PIXEL22_C,PIXEL12_1,PIXEL20_2,PIXEL21_6,PIXEL22_5
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- jmp .loopx_end
-..@flag236
-..@flag232
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL22_1R,PIXEL10_1,PIXEL20_5,PIXEL21_6,PIXEL22_2
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_2
- PIXEL11
- PIXEL12_1
- jmp .loopx_end
-..@flag109
-..@flag105
- DiffOrNot w8,w4,PIXEL00_1U,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL00_2,PIXEL10_6,PIXEL20_5,PIXEL21_1
- PIXEL01_1
- PIXEL02_2
- PIXEL11
- PIXEL12_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag171
-..@flag43
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL20_1D,PIXEL00_5,PIXEL01_1,PIXEL10_6,PIXEL20_2
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag143
-..@flag15
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL02_1R,PIXEL10_C,PIXEL00_5,PIXEL01_6,PIXEL02_2,PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag124
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag203
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag62
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_C
- PIXEL11
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag211
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag118
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_1
- PIXEL11
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag217
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag110
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag155
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag188
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag185
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag61
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag157
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag103
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag227
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag230
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag199
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag220
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag158
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_C
- PIXEL11
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag234
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- PIXEL02_1M
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1R
- jmp .loopx_end
-..@flag242
- PIXEL00_1M
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL20_1L
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag59
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag121
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag87
- PIXEL00_1L
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_1
- PIXEL11
- PIXEL20_1M
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag79
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1R
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag122
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag94
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL10_C
- PIXEL11
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag218
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_C
- PIXEL11
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag91
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag229
- PIXEL00_2
- PIXEL01_1
- PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag167
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_2
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag173
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag181
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag186
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag115
- PIXEL00_1L
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1L
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag93
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag206
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag205
-..@flag201
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag174
-..@flag46
- DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag179
-..@flag147
- PIXEL00_1L
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag117
-..@flag116
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1L
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
- jmp .loopx_end
-..@flag189
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag231
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag126
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
- PIXEL11
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag219
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
- PIXEL02_1M
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag125
- DiffOrNot w8,w4,PIXEL00_1U,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL00_2,PIXEL10_6,PIXEL20_5,PIXEL21_1
- PIXEL01_1
- PIXEL02_1U
- PIXEL11
- PIXEL12_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag221
- DiffOrNot w6,w8,PIXEL02_1U,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL02_2,PIXEL12_6,PIXEL21_1,PIXEL22_5
- PIXEL00_1U
- PIXEL01_1
- PIXEL10_C
- PIXEL11
- PIXEL20_1M
- jmp .loopx_end
-..@flag207
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL02_1R,PIXEL10_C,PIXEL00_5,PIXEL01_6,PIXEL02_2,PIXEL10_1
- PIXEL11
- PIXEL12_1
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag238
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL22_1R,PIXEL10_1,PIXEL20_5,PIXEL21_6,PIXEL22_2
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1R
- PIXEL11
- PIXEL12_1
- jmp .loopx_end
-..@flag190
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL22_1D,PIXEL01_1,PIXEL02_5,PIXEL12_6,PIXEL22_2
- PIXEL00_1M
- PIXEL10_C
- PIXEL11
- PIXEL20_1D
- PIXEL21_1
- jmp .loopx_end
-..@flag187
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL20_1D,PIXEL00_5,PIXEL01_1,PIXEL10_6,PIXEL20_2
- PIXEL02_1M
- PIXEL11
- PIXEL12_C
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag243
- DiffOrNot w6,w8,PIXEL12_C,PIXEL20_1L,PIXEL21_C,PIXEL22_C,PIXEL12_1,PIXEL20_2,PIXEL21_6,PIXEL22_5
- PIXEL00_1L
- PIXEL01_C
- PIXEL02_1M
- PIXEL10_1
- PIXEL11
- jmp .loopx_end
-..@flag119
- DiffOrNot w2,w6,PIXEL00_1L,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL00_2,PIXEL01_6,PIXEL02_5,PIXEL12_1
- PIXEL10_1
- PIXEL11
- PIXEL20_1L
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag237
-..@flag233
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag175
-..@flag47
- DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_2
- jmp .loopx_end
-..@flag183
-..@flag151
- PIXEL00_1L
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_2
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag245
-..@flag244
- PIXEL00_2
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1L
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
- jmp .loopx_end
-..@flag250
- PIXEL00_1M
- PIXEL01_C
- PIXEL02_1M
- PIXEL11
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
- jmp .loopx_end
-..@flag123
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag95
- DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
- PIXEL11
- PIXEL20_1M
- PIXEL21_C
- PIXEL22_1M
- jmp .loopx_end
-..@flag222
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag252
- PIXEL00_1M
- PIXEL01_1
- PIXEL02_1U
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
- jmp .loopx_end
-..@flag249
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
- jmp .loopx_end
-..@flag235
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
- PIXEL02_1M
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag111
- DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag63
- DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
- PIXEL10_C
- PIXEL11
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1M
- jmp .loopx_end
-..@flag159
- DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag215
- PIXEL00_1L
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag246
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1L
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
- jmp .loopx_end
-..@flag254
- PIXEL00_1M
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
- PIXEL11
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
- DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_2
- jmp .loopx_end
-..@flag253
- PIXEL00_1U
- PIXEL01_1
- PIXEL02_1U
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
- jmp .loopx_end
-..@flag251
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
- PIXEL02_1M
- PIXEL11
- DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_2,PIXEL21_3
- DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
- jmp .loopx_end
-..@flag239
- DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
- PIXEL01_C
- PIXEL02_1R
- PIXEL10_C
- PIXEL11
- PIXEL12_1
- DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
- PIXEL21_C
- PIXEL22_1R
- jmp .loopx_end
-..@flag127
- DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_2,PIXEL01_3,PIXEL10_3
- DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
- PIXEL11
- DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
- PIXEL22_1M
- jmp .loopx_end
-..@flag191
- DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- PIXEL20_1D
- PIXEL21_1
- PIXEL22_1D
- jmp .loopx_end
-..@flag223
- DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
- DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_2,PIXEL12_3
- PIXEL11
- PIXEL20_1M
- DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
- jmp .loopx_end
-..@flag247
- PIXEL00_1L
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
- PIXEL10_1
- PIXEL11
- PIXEL12_C
- PIXEL20_1L
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
- jmp .loopx_end
-..@flag255
- DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
- PIXEL01_C
- DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
- PIXEL10_C
- PIXEL11
- PIXEL12_C
- DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
- PIXEL21_C
- DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
- jmp .loopx_end
-
-..@cross0
- mov ebx,[ebp+dstpitch]
- mov [edi],eax
- mov [edi+4],eax
- mov [edi+8],eax
- mov [edi+ebx],eax
- mov [edi+ebx+4],eax
- mov [edi+ebx+8],eax
- mov [edi+ebx*2],eax
- mov [edi+ebx*2+4],eax
- mov [edi+ebx*2+8],eax
- jmp .loopx_end
-..@cross1
- mov ecx,[w2]
- mov edx,eax
- shl edx,2
- add edx,[ebx+ecx*4]
- sub edx,eax
- shr edx,2
- mov ebx,[ebp+dstpitch]
- mov [edi],edx
- mov [edi+4],edx
- mov [edi+8],edx
- mov [edi+ebx],eax
- mov [edi+ebx+4],eax
- mov [edi+ebx+8],eax
- mov [edi+ebx*2],eax
- mov [edi+ebx*2+4],eax
- mov [edi+ebx*2+8],eax
- jmp .loopx_end
-..@cross2
- mov ecx,[w4]
- mov edx,eax
- shl edx,2
- add edx,[ebx+ecx*4]
- sub edx,eax
- shr edx,2
- mov ebx,[ebp+dstpitch]
- mov [edi],edx
- mov [edi+4],eax
- mov [edi+8],eax
- mov [edi+ebx],edx
- mov [edi+ebx+4],eax
- mov [edi+ebx+8],eax
- mov [edi+ebx*2],edx
- mov [edi+ebx*2+4],eax
- mov [edi+ebx*2+8],eax
- jmp .loopx_end
-..@cross4
- mov ecx,[w6]
- mov edx,eax
- shl edx,2
- add edx,[ebx+ecx*4]
- sub edx,eax
- shr edx,2
- mov ebx,[ebp+dstpitch]
- mov [edi],eax
- mov [edi+4],eax
- mov [edi+8],edx
- mov [edi+ebx],eax
- mov [edi+ebx+4],eax
- mov [edi+ebx+8],edx
- mov [edi+ebx*2],eax
- mov [edi+ebx*2+4],eax
- mov [edi+ebx*2+8],edx
- jmp .loopx_end
-..@cross8
- mov ecx,[w8]
- mov edx,eax
- shl edx,2
- add edx,[ebx+ecx*4]
- sub edx,eax
- shr edx,2
- mov ebx,[ebp+dstpitch]
- mov [edi],eax
- mov [edi+4],eax
- mov [edi+8],eax
- mov [edi+ebx],eax
- mov [edi+ebx+4],eax
- mov [edi+ebx+8],eax
- mov [edi+ebx*2],edx
- mov [edi+ebx*2+4],edx
- mov [edi+ebx*2+8],edx
- jmp .loopx_end
-..@crossN
- mov edx,[w2]
- mov ecx,[ebx+edx*4]
- mov [c2],ecx
- mov edx,[w4]
- mov ecx,[ebx+edx*4]
- mov [c4],ecx
- mov edx,[w6]
- mov ecx,[ebx+edx*4]
- mov [c6],ecx
- mov edx,[w8]
- mov ecx,[ebx+edx*4]
- mov [c8],ecx
- mov ebx,[ebp+dstpitch]
- jmp ..@flag0
-
-.loopx_end
- add esi,2
- add edi,12
- dec dword[xcounter]
- jz .nexty
- jmp .loopx
-.nexty
- mov dword[firstline],0
- add esi,[ebp+srcpitch]
- add edi,[ebp+dstpitch2]
- dec dword[linesleft]
- jz .fin
- jmp .loopy
-.fin
- emms
- popad
- mov esp,ebp
- pop ebp
- ret
-
-SECTION .data
-FuncTable
- dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
- dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
- dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
- dd ..@flag24, ..@flag25, ..@flag26, ..@flag27, ..@flag28, ..@flag29, ..@flag30, ..@flag31
- dd ..@flag32, ..@flag33, ..@flag34, ..@flag35, ..@flag36, ..@flag37, ..@flag38, ..@flag39
- dd ..@flag40, ..@flag41, ..@flag42, ..@flag43, ..@flag44, ..@flag45, ..@flag46, ..@flag47
- dd ..@flag48, ..@flag49, ..@flag50, ..@flag51, ..@flag52, ..@flag53, ..@flag54, ..@flag55
- dd ..@flag56, ..@flag57, ..@flag58, ..@flag59, ..@flag60, ..@flag61, ..@flag62, ..@flag63
- dd ..@flag64, ..@flag65, ..@flag66, ..@flag67, ..@flag68, ..@flag69, ..@flag70, ..@flag71
- dd ..@flag72, ..@flag73, ..@flag74, ..@flag75, ..@flag76, ..@flag77, ..@flag78, ..@flag79
- dd ..@flag80, ..@flag81, ..@flag82, ..@flag83, ..@flag84, ..@flag85, ..@flag86, ..@flag87
- dd ..@flag88, ..@flag89, ..@flag90, ..@flag91, ..@flag92, ..@flag93, ..@flag94, ..@flag95
- dd ..@flag96, ..@flag97, ..@flag98, ..@flag99, ..@flag100, ..@flag101, ..@flag102, ..@flag103
- dd ..@flag104, ..@flag105, ..@flag106, ..@flag107, ..@flag108, ..@flag109, ..@flag110, ..@flag111
- dd ..@flag112, ..@flag113, ..@flag114, ..@flag115, ..@flag116, ..@flag117, ..@flag118, ..@flag119
- dd ..@flag120, ..@flag121, ..@flag122, ..@flag123, ..@flag124, ..@flag125, ..@flag126, ..@flag127
- dd ..@flag128, ..@flag129, ..@flag130, ..@flag131, ..@flag132, ..@flag133, ..@flag134, ..@flag135
- dd ..@flag136, ..@flag137, ..@flag138, ..@flag139, ..@flag140, ..@flag141, ..@flag142, ..@flag143
- dd ..@flag144, ..@flag145, ..@flag146, ..@flag147, ..@flag148, ..@flag149, ..@flag150, ..@flag151
- dd ..@flag152, ..@flag153, ..@flag154, ..@flag155, ..@flag156, ..@flag157, ..@flag158, ..@flag159
- dd ..@flag160, ..@flag161, ..@flag162, ..@flag163, ..@flag164, ..@flag165, ..@flag166, ..@flag167
- dd ..@flag168, ..@flag169, ..@flag170, ..@flag171, ..@flag172, ..@flag173, ..@flag174, ..@flag175
- dd ..@flag176, ..@flag177, ..@flag178, ..@flag179, ..@flag180, ..@flag181, ..@flag182, ..@flag183
- dd ..@flag184, ..@flag185, ..@flag186, ..@flag187, ..@flag188, ..@flag189, ..@flag190, ..@flag191
- dd ..@flag192, ..@flag193, ..@flag194, ..@flag195, ..@flag196, ..@flag197, ..@flag198, ..@flag199
- dd ..@flag200, ..@flag201, ..@flag202, ..@flag203, ..@flag204, ..@flag205, ..@flag206, ..@flag207
- dd ..@flag208, ..@flag209, ..@flag210, ..@flag211, ..@flag212, ..@flag213, ..@flag214, ..@flag215
- dd ..@flag216, ..@flag217, ..@flag218, ..@flag219, ..@flag220, ..@flag221, ..@flag222, ..@flag223
- dd ..@flag224, ..@flag225, ..@flag226, ..@flag227, ..@flag228, ..@flag229, ..@flag230, ..@flag231
- dd ..@flag232, ..@flag233, ..@flag234, ..@flag235, ..@flag236, ..@flag237, ..@flag238, ..@flag239
- dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
- dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
-
-FuncTable2
- dd ..@cross0, ..@cross1, ..@cross2, ..@crossN,
- dd ..@cross4, ..@crossN, ..@crossN, ..@crossN,
- dd ..@cross8, ..@crossN, ..@crossN, ..@crossN,
- dd ..@crossN, ..@crossN, ..@crossN, ..@crossN
-
+++ /dev/null
-;hq4x filter
-;----------------------------------------------------------
-;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com )
-;
-;This program is free software; you can redistribute it and/or
-;modify it under the terms of the GNU General Public License
-;as published by the Free Software Foundation; either
-;version 2 of the License, or (at your option) any later
-;version.
-;
-;This program is distributed in the hope that it will be useful,
-;but WITHOUT ANY WARRANTY; without even the implied warranty of
-;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;GNU General Public License for more details.
-;
-;You should have received a copy of the GNU General Public License
-;along with this program; if not, write to the Free Software
-;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-GLOBAL _hq4x_32
-
-EXTERN _LUT16to32
-EXTERN _RGBtoYUV
-
-SECTION .bss
-linesleft resd 1
-xcounter resd 1
-cross resd 1
-nextline resd 1
-prevline resd 1
-w1 resd 1
-w2 resd 1
-w3 resd 1
-w4 resd 1
-w5 resd 1
-w6 resd 1
-w7 resd 1
-w8 resd 1
-w9 resd 1
-c1 resd 1
-c2 resd 1
-c3 resd 1
-c4 resd 1
-c5 resd 1
-c6 resd 1
-c7 resd 1
-c8 resd 1
-c9 resd 1
-
-SECTION .data
-
-reg_blank dd 0,0
-const3 dd 0x00030003,0x00000003
-const5 dd 0x00050005,0x00000005
-const6 dd 0x00060006,0x00000006
-const7 dd 0x00070007,0x00000007
-threshold dd 0x00300706,0x00000000
-
-SECTION .text
-
-%macro AUXADDRESS 0
- mov ecx, edi
- add ecx, ebx
- add ecx, ebx
-%endmacro
-
-%macro TestDiff 2
- mov edx,[%1]
- sub edx,[%2]
- jz %%fin
- mov edx,[%1]
- shl edx,2
- add edx,_RGBtoYUV
- movd mm1,[edx]
- movq mm5,mm1
- mov edx,[%2]
- shl edx,2
- add edx,_RGBtoYUV
- movd mm2,[edx]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
-%%fin:
-%endmacro
-
-%macro DiffOrNot 4
- TestDiff %1,%2
- test edx,edx
- jz %%same
- %3
- jmp %%fin
-%%same:
- %4
-%%fin
-%endmacro
-
-%macro DiffOrNot 8
- TestDiff %1,%2
- test edx,edx
- jz %%same
- %3
- %4
- %5
- jmp %%fin
-%%same:
- %6
- %7
- %8
-%%fin
-%endmacro
-
-%macro DiffOrNot 10
- TestDiff %1,%2
- test edx,edx
- jz %%same
- %3
- %4
- %5
- %6
- jmp %%fin
-%%same:
- %7
- %8
- %9
- %10
-%%fin
-%endmacro
-
-%macro DiffOrNot 14
- TestDiff %1,%2
- test edx,edx
- jz %%same
- %3
- %4
- %5
- %6
- %7
- %8
- jmp %%fin
-%%same:
- %9
- %10
- %11
- %12
- %13
- %14
-%%fin
-%endmacro
-
-%macro Interp1 3
- mov edx,%2
- shl edx,2
- add edx,%3
- sub edx,%2
- shr edx,2
- mov %1,edx
-%endmacro
-
-%macro Interp2 4
- mov edx,%2
- shl edx,1
- add edx,%3
- add edx,%4
- shr edx,2
- mov %1,edx
-%endmacro
-
-%macro Interp3 2
- movd mm1, eax
- movd mm2, %2
- punpcklbw mm1, [reg_blank]
- punpcklbw mm2, [reg_blank]
- pmullw mm1, [const7]
- paddw mm1, mm2
- psrlw mm1, 3
- packuswb mm1, [reg_blank]
- movd %1, mm1
-%endmacro
-
-%macro Interp5 3
- mov edx,%2
- add edx,%3
- shr edx,1
- mov %1,edx
-%endmacro
-
-%macro Interp6 3
- movd mm1, eax
- movd mm2, %2
- movd mm3, %3
- punpcklbw mm1, [reg_blank]
- punpcklbw mm2, [reg_blank]
- punpcklbw mm3, [reg_blank]
- pmullw mm1, [const5]
- psllw mm2, 1
- paddw mm1, mm3
- paddw mm1, mm2
- psrlw mm1, 3
- packuswb mm1, [reg_blank]
- movd %1, mm1
-%endmacro
-
-%macro Interp7 3
- movd mm1, eax
- movd mm2, %2
- movd mm3, %3
- punpcklbw mm1, [reg_blank]
- punpcklbw mm2, [reg_blank]
- punpcklbw mm3, [reg_blank]
- pmullw mm1, [const6]
- paddw mm2, mm3
- paddw mm1, mm2
- psrlw mm1, 3
- packuswb mm1, [reg_blank]
- movd %1, mm1
-%endmacro
-
-%macro Interp8 3
- movd mm1, %2
- movd mm2, %3
- punpcklbw mm1, [reg_blank]
- punpcklbw mm2, [reg_blank]
- pmullw mm1, [const5]
- pmullw mm2, [const3]
- paddw mm1, mm2
- psrlw mm1, 3
- packuswb mm1, [reg_blank]
- movd %1, mm1
-%endmacro
-
-%macro PIXEL00_0 0
- mov [edi],eax
-%endmacro
-
-%macro PIXEL00_11 0
- Interp1 [edi],eax,[c4]
-%endmacro
-
-%macro PIXEL00_12 0
- Interp1 [edi],eax,[c2]
-%endmacro
-
-%macro PIXEL00_20 0
- Interp2 [edi],eax,[c2],[c4]
-%endmacro
-
-%macro PIXEL00_50 0
- Interp5 [edi],[c2],[c4]
-%endmacro
-
-%macro PIXEL00_80 0
- Interp8 [edi],eax,[c1]
-%endmacro
-
-%macro PIXEL00_81 0
- Interp8 [edi],eax,[c4]
-%endmacro
-
-%macro PIXEL00_82 0
- Interp8 [edi],eax,[c2]
-%endmacro
-
-%macro PIXEL01_0 0
- mov [edi+4],eax
-%endmacro
-
-%macro PIXEL01_10 0
- Interp1 [edi+4],eax,[c1]
-%endmacro
-
-%macro PIXEL01_12 0
- Interp1 [edi+4],eax,[c2]
-%endmacro
-
-%macro PIXEL01_14 0
- Interp1 [edi+4],[c2],eax
-%endmacro
-
-%macro PIXEL01_21 0
- Interp2 [edi+4],[c2],eax,[c4]
-%endmacro
-
-%macro PIXEL01_31 0
- Interp3 [edi+4],[c4]
-%endmacro
-
-%macro PIXEL01_50 0
- Interp5 [edi+4],[c2],eax
-%endmacro
-
-%macro PIXEL01_60 0
- Interp6 [edi+4],[c2],[c4]
-%endmacro
-
-%macro PIXEL01_61 0
- Interp6 [edi+4],[c2],[c1]
-%endmacro
-
-%macro PIXEL01_82 0
- Interp8 [edi+4],eax,[c2]
-%endmacro
-
-%macro PIXEL01_83 0
- Interp8 [edi+4],[c2],[c4]
-%endmacro
-
-%macro PIXEL02_0 0
- mov [edi+8],eax
-%endmacro
-
-%macro PIXEL02_10 0
- Interp1 [edi+8],eax,[c3]
-%endmacro
-
-%macro PIXEL02_11 0
- Interp1 [edi+8],eax,[c2]
-%endmacro
-
-%macro PIXEL02_13 0
- Interp1 [edi+8],[c2],eax
-%endmacro
-
-%macro PIXEL02_21 0
- Interp2 [edi+8],[c2],eax,[c6]
-%endmacro
-
-%macro PIXEL02_32 0
- Interp3 [edi+8],[c6]
-%endmacro
-
-%macro PIXEL02_50 0
- Interp5 [edi+8],[c2],eax
-%endmacro
-
-%macro PIXEL02_60 0
- Interp6 [edi+8],[c2],[c6]
-%endmacro
-
-%macro PIXEL02_61 0
- Interp6 [edi+8],[c2],[c3]
-%endmacro
-
-%macro PIXEL02_81 0
- Interp8 [edi+8],eax,[c2]
-%endmacro
-
-%macro PIXEL02_83 0
- Interp8 [edi+8],[c2],[c6]
-%endmacro
-
-%macro PIXEL03_0 0
- mov [edi+12],eax
-%endmacro
-
-%macro PIXEL03_11 0
- Interp1 [edi+12],eax,[c2]
-%endmacro
-
-%macro PIXEL03_12 0
- Interp1 [edi+12],eax,[c6]
-%endmacro
-
-%macro PIXEL03_20 0
- Interp2 [edi+12],eax,[c2],[c6]
-%endmacro
-
-%macro PIXEL03_50 0
- Interp5 [edi+12],[c2],[c6]
-%endmacro
-
-%macro PIXEL03_80 0
- Interp8 [edi+12],eax,[c3]
-%endmacro
-
-%macro PIXEL03_81 0
- Interp8 [edi+12],eax,[c2]
-%endmacro
-
-%macro PIXEL03_82 0
- Interp8 [edi+12],eax,[c6]
-%endmacro
-
-%macro PIXEL10_0 0
- mov [edi+ebx],eax
-%endmacro
-
-%macro PIXEL10_10 0
- Interp1 [edi+ebx],eax,[c1]
-%endmacro
-
-%macro PIXEL10_11 0
- Interp1 [edi+ebx],eax,[c4]
-%endmacro
-
-%macro PIXEL10_13 0
- Interp1 [edi+ebx],[c4],eax
-%endmacro
-
-%macro PIXEL10_21 0
- Interp2 [edi+ebx],[c4],eax,[c2]
-%endmacro
-
-%macro PIXEL10_32 0
- Interp3 [edi+ebx],[c2]
-%endmacro
-
-%macro PIXEL10_50 0
- Interp5 [edi+ebx],[c4],eax
-%endmacro
-
-%macro PIXEL10_60 0
- Interp6 [edi+ebx],[c4],[c2]
-%endmacro
-
-%macro PIXEL10_61 0
- Interp6 [edi+ebx],[c4],[c1]
-%endmacro
-
-%macro PIXEL10_81 0
- Interp8 [edi+ebx],eax,[c4]
-%endmacro
-
-%macro PIXEL10_83 0
- Interp8 [edi+ebx],[c4],[c2]
-%endmacro
-
-%macro PIXEL11_0 0
- mov [edi+ebx+4],eax
-%endmacro
-
-%macro PIXEL11_30 0
- Interp3 [edi+ebx+4],[c1]
-%endmacro
-
-%macro PIXEL11_31 0
- Interp3 [edi+ebx+4],[c4]
-%endmacro
-
-%macro PIXEL11_32 0
- Interp3 [edi+ebx+4],[c2]
-%endmacro
-
-%macro PIXEL11_70 0
- Interp7 [edi+ebx+4],[c4],[c2]
-%endmacro
-
-%macro PIXEL12_0 0
- mov [edi+ebx+8],eax
-%endmacro
-
-%macro PIXEL12_30 0
- Interp3 [edi+ebx+8],[c3]
-%endmacro
-
-%macro PIXEL12_31 0
- Interp3 [edi+ebx+8],[c2]
-%endmacro
-
-%macro PIXEL12_32 0
- Interp3 [edi+ebx+8],[c6]
-%endmacro
-
-%macro PIXEL12_70 0
- Interp7 [edi+ebx+8],[c6],[c2]
-%endmacro
-
-%macro PIXEL13_0 0
- mov [edi+ebx+12],eax
-%endmacro
-
-%macro PIXEL13_10 0
- Interp1 [edi+ebx+12],eax,[c3]
-%endmacro
-
-%macro PIXEL13_12 0
- Interp1 [edi+ebx+12],eax,[c6]
-%endmacro
-
-%macro PIXEL13_14 0
- Interp1 [edi+ebx+12],[c6],eax
-%endmacro
-
-%macro PIXEL13_21 0
- Interp2 [edi+ebx+12],[c6],eax,[c2]
-%endmacro
-
-%macro PIXEL13_31 0
- Interp3 [edi+ebx+12],[c2]
-%endmacro
-
-%macro PIXEL13_50 0
- Interp5 [edi+ebx+12],[c6],eax
-%endmacro
-
-%macro PIXEL13_60 0
- Interp6 [edi+ebx+12],[c6],[c2]
-%endmacro
-
-%macro PIXEL13_61 0
- Interp6 [edi+ebx+12],[c6],[c3]
-%endmacro
-
-%macro PIXEL13_82 0
- Interp8 [edi+ebx+12],eax,[c6]
-%endmacro
-
-%macro PIXEL13_83 0
- Interp8 [edi+ebx+12],[c6],[c2]
-%endmacro
-
-%macro PIXEL20_0 0
- mov [ecx],eax
-%endmacro
-
-%macro PIXEL20_10 0
- Interp1 [ecx],eax,[c7]
-%endmacro
-
-%macro PIXEL20_12 0
- Interp1 [ecx],eax,[c4]
-%endmacro
-
-%macro PIXEL20_14 0
- Interp1 [ecx],[c4],eax
-%endmacro
-
-%macro PIXEL20_21 0
- Interp2 [ecx],[c4],eax,[c8]
-%endmacro
-
-%macro PIXEL20_31 0
- Interp3 [ecx],[c8]
-%endmacro
-
-%macro PIXEL20_50 0
- Interp5 [ecx],[c4],eax
-%endmacro
-
-%macro PIXEL20_60 0
- Interp6 [ecx],[c4],[c8]
-%endmacro
-
-%macro PIXEL20_61 0
- Interp6 [ecx],[c4],[c7]
-%endmacro
-
-%macro PIXEL20_82 0
- Interp8 [ecx],eax,[c4]
-%endmacro
-
-%macro PIXEL20_83 0
- Interp8 [ecx],[c4],[c8]
-%endmacro
-
-%macro PIXEL21_0 0
- mov [ecx+4],eax
-%endmacro
-
-%macro PIXEL21_30 0
- Interp3 [ecx+4],[c7]
-%endmacro
-
-%macro PIXEL21_31 0
- Interp3 [ecx+4],[c8]
-%endmacro
-
-%macro PIXEL21_32 0
- Interp3 [ecx+4],[c4]
-%endmacro
-
-%macro PIXEL21_70 0
- Interp7 [ecx+4],[c4],[c8]
-%endmacro
-
-%macro PIXEL22_0 0
- mov [ecx+8],eax
-%endmacro
-
-%macro PIXEL22_30 0
- Interp3 [ecx+8],[c9]
-%endmacro
-
-%macro PIXEL22_31 0
- Interp3 [ecx+8],[c6]
-%endmacro
-
-%macro PIXEL22_32 0
- Interp3 [ecx+8],[c8]
-%endmacro
-
-%macro PIXEL22_70 0
- Interp7 [ecx+8],[c6],[c8]
-%endmacro
-
-%macro PIXEL23_0 0
- mov [ecx+12],eax
-%endmacro
-
-%macro PIXEL23_10 0
- Interp1 [ecx+12],eax,[c9]
-%endmacro
-
-%macro PIXEL23_11 0
- Interp1 [ecx+12],eax,[c6]
-%endmacro
-
-%macro PIXEL23_13 0
- Interp1 [ecx+12],[c6],eax
-%endmacro
-
-%macro PIXEL23_21 0
- Interp2 [ecx+12],[c6],eax,[c8]
-%endmacro
-
-%macro PIXEL23_32 0
- Interp3 [ecx+12],[c8]
-%endmacro
-
-%macro PIXEL23_50 0
- Interp5 [ecx+12],[c6],eax
-%endmacro
-
-%macro PIXEL23_60 0
- Interp6 [ecx+12],[c6],[c8]
-%endmacro
-
-%macro PIXEL23_61 0
- Interp6 [ecx+12],[c6],[c9]
-%endmacro
-
-%macro PIXEL23_81 0
- Interp8 [ecx+12],eax,[c6]
-%endmacro
-
-%macro PIXEL23_83 0
- Interp8 [ecx+12],[c6],[c8]
-%endmacro
-
-%macro PIXEL30_0 0
- mov [ecx+ebx],eax
-%endmacro
-
-%macro PIXEL30_11 0
- Interp1 [ecx+ebx],eax,[c8]
-%endmacro
-
-%macro PIXEL30_12 0
- Interp1 [ecx+ebx],eax,[c4]
-%endmacro
-
-%macro PIXEL30_20 0
- Interp2 [ecx+ebx],eax,[c8],[c4]
-%endmacro
-
-%macro PIXEL30_50 0
- Interp5 [ecx+ebx],[c8],[c4]
-%endmacro
-
-%macro PIXEL30_80 0
- Interp8 [ecx+ebx],eax,[c7]
-%endmacro
-
-%macro PIXEL30_81 0
- Interp8 [ecx+ebx],eax,[c8]
-%endmacro
-
-%macro PIXEL30_82 0
- Interp8 [ecx+ebx],eax,[c4]
-%endmacro
-
-%macro PIXEL31_0 0
- mov [ecx+ebx+4],eax
-%endmacro
-
-%macro PIXEL31_10 0
- Interp1 [ecx+ebx+4],eax,[c7]
-%endmacro
-
-%macro PIXEL31_11 0
- Interp1 [ecx+ebx+4],eax,[c8]
-%endmacro
-
-%macro PIXEL31_13 0
- Interp1 [ecx+ebx+4],[c8],eax
-%endmacro
-
-%macro PIXEL31_21 0
- Interp2 [ecx+ebx+4],[c8],eax,[c4]
-%endmacro
-
-%macro PIXEL31_32 0
- Interp3 [ecx+ebx+4],[c4]
-%endmacro
-
-%macro PIXEL31_50 0
- Interp5 [ecx+ebx+4],[c8],eax
-%endmacro
-
-%macro PIXEL31_60 0
- Interp6 [ecx+ebx+4],[c8],[c4]
-%endmacro
-
-%macro PIXEL31_61 0
- Interp6 [ecx+ebx+4],[c8],[c7]
-%endmacro
-
-%macro PIXEL31_81 0
- Interp8 [ecx+ebx+4],eax,[c8]
-%endmacro
-
-%macro PIXEL31_83 0
- Interp8 [ecx+ebx+4],[c8],[c4]
-%endmacro
-
-%macro PIXEL32_0 0
- mov [ecx+ebx+8],eax
-%endmacro
-
-%macro PIXEL32_10 0
- Interp1 [ecx+ebx+8],eax,[c9]
-%endmacro
-
-%macro PIXEL32_12 0
- Interp1 [ecx+ebx+8],eax,[c8]
-%endmacro
-
-%macro PIXEL32_14 0
- Interp1 [ecx+ebx+8],[c8],eax
-%endmacro
-
-%macro PIXEL32_21 0
- Interp2 [ecx+ebx+8],[c8],eax,[c6]
-%endmacro
-
-%macro PIXEL32_31 0
- Interp3 [ecx+ebx+8],[c6]
-%endmacro
-
-%macro PIXEL32_50 0
- Interp5 [ecx+ebx+8],[c8],eax
-%endmacro
-
-%macro PIXEL32_60 0
- Interp6 [ecx+ebx+8],[c8],[c6]
-%endmacro
-
-%macro PIXEL32_61 0
- Interp6 [ecx+ebx+8],[c8],[c9]
-%endmacro
-
-%macro PIXEL32_82 0
- Interp8 [ecx+ebx+8],eax,[c8]
-%endmacro
-
-%macro PIXEL32_83 0
- Interp8 [ecx+ebx+8],[c8],[c6]
-%endmacro
-
-%macro PIXEL33_0 0
- mov [ecx+ebx+12],eax
-%endmacro
-
-%macro PIXEL33_11 0
- Interp1 [ecx+ebx+12],eax,[c6]
-%endmacro
-
-%macro PIXEL33_12 0
- Interp1 [ecx+ebx+12],eax,[c8]
-%endmacro
-
-%macro PIXEL33_20 0
- Interp2 [ecx+ebx+12],eax,[c8],[c6]
-%endmacro
-
-%macro PIXEL33_50 0
- Interp5 [ecx+ebx+12],[c8],[c6]
-%endmacro
-
-%macro PIXEL33_80 0
- Interp8 [ecx+ebx+12],eax,[c9]
-%endmacro
-
-%macro PIXEL33_81 0
- Interp8 [ecx+ebx+12],eax,[c6]
-%endmacro
-
-%macro PIXEL33_82 0
- Interp8 [ecx+ebx+12],eax,[c8]
-%endmacro
-
-inbuffer equ 8
-outbuffer equ 12
-Xres equ 16
-Yres equ 20
-dstpitch equ 24
-srcpitch equ 28
-
-_hq4x_32:
- push ebp
- mov ebp,esp
- pushad
-
- mov esi,[ebp+inbuffer]
- mov edi,[ebp+outbuffer]
- mov edx,[ebp+Yres]
- mov [linesleft],edx
- mov ebx,[ebp+Xres]
- shl ebx,1
- mov dword[prevline],0
- mov dword[nextline],ebx
-.loopy
- mov ecx,[ebp+Xres]
- sub ecx,2 ; x={Xres-2, Xres-1} are special cases.
- mov dword[xcounter],ecx
- ; x=0 - special case
- mov ebx,[prevline]
- movq mm5,[esi+ebx]
- movq mm6,[esi]
- mov ebx,[nextline]
- movq mm7,[esi+ebx]
- movd eax,mm5
- movzx edx,ax
- mov [w1],edx
- mov [w2],edx
- shr eax,16
- mov [w3],eax
- movd eax,mm6
- movzx edx,ax
- mov [w4],edx
- mov [w5],edx
- shr eax,16
- mov [w6],eax
- movd eax,mm7
- movzx edx,ax
- mov [w7],edx
- mov [w8],edx
- shr eax,16
- mov [w9],eax
- jmp .flags
-.loopx
- mov ebx,[prevline]
- movq mm5,[esi+ebx-2]
- movq mm6,[esi-2]
- mov ebx,[nextline]
- movq mm7,[esi+ebx-2]
- movd eax,mm5
- movzx edx,ax
- mov [w1],edx
- shr eax,16
- mov [w2],eax
- psrlq mm5,32
- movd eax,mm5
- movzx edx,ax
- mov [w3],edx
- movd eax,mm6
- movzx edx,ax
- mov [w4],edx
- shr eax,16
- mov [w5],eax
- psrlq mm6,32
- movd eax,mm6
- movzx edx,ax
- mov [w6],edx
- movd eax,mm7
- movzx edx,ax
- mov [w7],edx
- shr eax,16
- mov [w8],eax
- psrlq mm7,32
- movd eax,mm7
- movzx edx,ax
- mov [w9],edx
-.flags
- mov ebx,_RGBtoYUV
- mov eax,[w5]
- xor ecx,ecx
- movd mm5,[ebx+eax*4]
- mov dword[cross],0
-
- mov edx,[w2]
- cmp eax,edx
- je .noflag2
- or dword[cross],1
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag2
- or ecx,2
-.noflag2
- mov edx,[w4]
- cmp eax,edx
- je .noflag4
- or dword[cross],2
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag4
- or ecx,8
-.noflag4
- mov edx,[w6]
- cmp eax,edx
- je .noflag6
- or dword[cross],4
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag6
- or ecx,16
-.noflag6
- mov edx,[w8]
- cmp eax,edx
- je .noflag8
- or dword[cross],8
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag8
- or ecx,64
-.noflag8
- cmp dword[cross],0
- jnz .testflag1
- mov ebx,_LUT16to32
- mov eax,[ebx+eax*4]
- mov ebx,[ebp+dstpitch]
- AUXADDRESS
- mov [edi],eax
- mov [edi+4],eax
- mov [edi+8],eax
- mov [edi+12],eax
- mov [edi+ebx],eax
- mov [edi+ebx+4],eax
- mov [edi+ebx+8],eax
- mov [edi+ebx+12],eax
- mov [ecx],eax
- mov [ecx+4],eax
- mov [ecx+8],eax
- mov [ecx+12],eax
- mov [ecx+ebx],eax
- mov [ecx+ebx+4],eax
- mov [ecx+ebx+8],eax
- mov [ecx+ebx+12],eax
- jmp .loopx_end
-.testflag1
- mov edx,[w1]
- cmp eax,edx
- je .noflag1
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag1
- or ecx,1
-.noflag1
- mov edx,[w3]
- cmp eax,edx
- je .noflag3
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag3
- or ecx,4
-.noflag3
- mov edx,[w7]
- cmp eax,edx
- je .noflag7
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag7
- or ecx,32
-.noflag7
- mov edx,[w9]
- cmp eax,edx
- je .noflag9
- movq mm1,mm5
- movd mm2,[ebx+edx*4]
- psubusb mm1,mm2
- psubusb mm2,mm5
- por mm1,mm2
- psubusb mm1,[threshold]
- movd edx,mm1
- test edx,edx
- jz .noflag9
- or ecx,128
-.noflag9
- mov ebx,_LUT16to32
- mov eax,[ebx+eax*4]
- mov edx,[w2]
- mov edx,[ebx+edx*4]
- mov [c2],edx
- mov edx,[w4]
- mov edx,[ebx+edx*4]
- mov [c4],edx
- mov edx,[w6]
- mov edx,[ebx+edx*4]
- mov [c6],edx
- mov edx,[w8]
- mov edx,[ebx+edx*4]
- mov [c8],edx
- test ecx,0x005A
- jz .switch
- mov edx,[w1]
- mov edx,[ebx+edx*4]
- mov [c1],edx
- mov edx,[w3]
- mov edx,[ebx+edx*4]
- mov [c3],edx
- mov edx,[w7]
- mov edx,[ebx+edx*4]
- mov [c7],edx
- mov edx,[w9]
- mov edx,[ebx+edx*4]
- mov [c9],edx
-.switch
- mov ebx,[ebp+dstpitch]
- jmp [FuncTable+ecx*4]
-
-..@flag0
-..@flag1
-..@flag4
-..@flag32
-..@flag128
-..@flag5
-..@flag132
-..@flag160
-..@flag33
-..@flag129
-..@flag36
-..@flag133
-..@flag164
-..@flag161
-..@flag37
-..@flag165
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_60
- PIXEL03_20
- PIXEL10_60
- PIXEL11_70
- PIXEL12_70
- PIXEL13_60
- PIXEL20_60
- PIXEL21_70
- PIXEL22_70
- PIXEL23_60
- PIXEL30_20
- PIXEL31_60
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag2
-..@flag34
-..@flag130
-..@flag162
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_10
- PIXEL03_80
- PIXEL10_61
- PIXEL11_30
- PIXEL12_30
- PIXEL13_61
- PIXEL20_60
- PIXEL21_70
- PIXEL22_70
- PIXEL23_60
- PIXEL30_20
- PIXEL31_60
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag16
-..@flag17
-..@flag48
-..@flag49
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_61
- PIXEL03_80
- PIXEL10_60
- PIXEL11_70
- PIXEL12_30
- PIXEL13_10
- PIXEL20_60
- PIXEL21_70
- PIXEL22_30
- PIXEL23_10
- PIXEL30_20
- PIXEL31_60
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag64
-..@flag65
-..@flag68
-..@flag69
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_60
- PIXEL03_20
- PIXEL10_60
- PIXEL11_70
- PIXEL12_70
- PIXEL13_60
- PIXEL20_61
- PIXEL21_30
- PIXEL22_30
- PIXEL23_61
- PIXEL30_80
- PIXEL31_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag8
-..@flag12
-..@flag136
-..@flag140
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_60
- PIXEL03_20
- PIXEL10_10
- PIXEL11_30
- PIXEL12_70
- PIXEL13_60
- PIXEL20_10
- PIXEL21_30
- PIXEL22_70
- PIXEL23_60
- PIXEL30_80
- PIXEL31_61
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag3
-..@flag35
-..@flag131
-..@flag163
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_10
- PIXEL03_80
- PIXEL10_81
- PIXEL11_31
- PIXEL12_30
- PIXEL13_61
- PIXEL20_60
- PIXEL21_70
- PIXEL22_70
- PIXEL23_60
- PIXEL30_20
- PIXEL31_60
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag6
-..@flag38
-..@flag134
-..@flag166
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_32
- PIXEL03_82
- PIXEL10_61
- PIXEL11_30
- PIXEL12_32
- PIXEL13_82
- PIXEL20_60
- PIXEL21_70
- PIXEL22_70
- PIXEL23_60
- PIXEL30_20
- PIXEL31_60
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag20
-..@flag21
-..@flag52
-..@flag53
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_81
- PIXEL03_81
- PIXEL10_60
- PIXEL11_70
- PIXEL12_31
- PIXEL13_31
- PIXEL20_60
- PIXEL21_70
- PIXEL22_30
- PIXEL23_10
- PIXEL30_20
- PIXEL31_60
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag144
-..@flag145
-..@flag176
-..@flag177
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_61
- PIXEL03_80
- PIXEL10_60
- PIXEL11_70
- PIXEL12_30
- PIXEL13_10
- PIXEL20_60
- PIXEL21_70
- PIXEL22_32
- PIXEL23_32
- PIXEL30_20
- PIXEL31_60
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag192
-..@flag193
-..@flag196
-..@flag197
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_60
- PIXEL03_20
- PIXEL10_60
- PIXEL11_70
- PIXEL12_70
- PIXEL13_60
- PIXEL20_61
- PIXEL21_30
- PIXEL22_31
- PIXEL23_81
- PIXEL30_80
- PIXEL31_10
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag96
-..@flag97
-..@flag100
-..@flag101
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_60
- PIXEL03_20
- PIXEL10_60
- PIXEL11_70
- PIXEL12_70
- PIXEL13_60
- PIXEL20_82
- PIXEL21_32
- PIXEL22_30
- PIXEL23_61
- PIXEL30_82
- PIXEL31_32
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag40
-..@flag44
-..@flag168
-..@flag172
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_60
- PIXEL03_20
- PIXEL10_10
- PIXEL11_30
- PIXEL12_70
- PIXEL13_60
- PIXEL20_31
- PIXEL21_31
- PIXEL22_70
- PIXEL23_60
- PIXEL30_81
- PIXEL31_81
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag9
-..@flag13
-..@flag137
-..@flag141
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_60
- PIXEL03_20
- PIXEL10_32
- PIXEL11_32
- PIXEL12_70
- PIXEL13_60
- PIXEL20_10
- PIXEL21_30
- PIXEL22_70
- PIXEL23_60
- PIXEL30_80
- PIXEL31_61
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag18
-..@flag50
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_50,PIXEL03_50,PIXEL12_0,PIXEL13_50
- PIXEL10_61
- PIXEL11_30
- PIXEL20_60
- PIXEL21_70
- PIXEL22_30
- PIXEL23_10
- PIXEL30_20
- PIXEL31_60
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag80
-..@flag81
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_61
- PIXEL03_80
- PIXEL10_60
- PIXEL11_70
- PIXEL12_30
- PIXEL13_10
- PIXEL20_61
- PIXEL21_30
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag72
-..@flag76
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_60
- PIXEL03_20
- PIXEL10_10
- PIXEL11_30
- PIXEL12_70
- PIXEL13_60
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_50,PIXEL21_0,PIXEL30_50,PIXEL31_50
- PIXEL22_30
- PIXEL23_61
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag10
-..@flag138
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_50,PIXEL01_50,PIXEL10_50,PIXEL11_0
- PIXEL02_10
- PIXEL03_80
- PIXEL12_30
- PIXEL13_61
- PIXEL20_10
- PIXEL21_30
- PIXEL22_70
- PIXEL23_60
- PIXEL30_80
- PIXEL31_61
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag66
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_10
- PIXEL03_80
- PIXEL10_61
- PIXEL11_30
- PIXEL12_30
- PIXEL13_61
- PIXEL20_61
- PIXEL21_30
- PIXEL22_30
- PIXEL23_61
- PIXEL30_80
- PIXEL31_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag24
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_61
- PIXEL03_80
- PIXEL10_10
- PIXEL11_30
- PIXEL12_30
- PIXEL13_10
- PIXEL20_10
- PIXEL21_30
- PIXEL22_30
- PIXEL23_10
- PIXEL30_80
- PIXEL31_61
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag7
-..@flag39
-..@flag135
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_32
- PIXEL03_82
- PIXEL10_81
- PIXEL11_31
- PIXEL12_32
- PIXEL13_82
- PIXEL20_60
- PIXEL21_70
- PIXEL22_70
- PIXEL23_60
- PIXEL30_20
- PIXEL31_60
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag148
-..@flag149
-..@flag180
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_81
- PIXEL03_81
- PIXEL10_60
- PIXEL11_70
- PIXEL12_31
- PIXEL13_31
- PIXEL20_60
- PIXEL21_70
- PIXEL22_32
- PIXEL23_32
- PIXEL30_20
- PIXEL31_60
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag224
-..@flag228
-..@flag225
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_60
- PIXEL03_20
- PIXEL10_60
- PIXEL11_70
- PIXEL12_70
- PIXEL13_60
- PIXEL20_82
- PIXEL21_32
- PIXEL22_31
- PIXEL23_81
- PIXEL30_82
- PIXEL31_32
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag41
-..@flag169
-..@flag45
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_60
- PIXEL03_20
- PIXEL10_32
- PIXEL11_32
- PIXEL12_70
- PIXEL13_60
- PIXEL20_31
- PIXEL21_31
- PIXEL22_70
- PIXEL23_60
- PIXEL30_81
- PIXEL31_81
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag22
-..@flag54
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_61
- PIXEL11_30
- PIXEL12_0
- PIXEL20_60
- PIXEL21_70
- PIXEL22_30
- PIXEL23_10
- PIXEL30_20
- PIXEL31_60
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag208
-..@flag209
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_61
- PIXEL03_80
- PIXEL10_60
- PIXEL11_70
- PIXEL12_30
- PIXEL13_10
- PIXEL20_61
- PIXEL21_30
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag104
-..@flag108
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_60
- PIXEL03_20
- PIXEL10_10
- PIXEL11_30
- PIXEL12_70
- PIXEL13_60
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_30
- PIXEL23_61
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag11
-..@flag139
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_10
- PIXEL03_80
- PIXEL11_0
- PIXEL12_30
- PIXEL13_61
- PIXEL20_10
- PIXEL21_30
- PIXEL22_70
- PIXEL23_60
- PIXEL30_80
- PIXEL31_61
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag19
-..@flag51
- AUXADDRESS
- DiffOrNot w2,w6,PIXEL00_81,PIXEL01_31,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL00_12,PIXEL01_14,PIXEL02_83,PIXEL03_50,PIXEL12_70,PIXEL13_21
- PIXEL10_81
- PIXEL11_31
- PIXEL20_60
- PIXEL21_70
- PIXEL22_30
- PIXEL23_10
- PIXEL30_20
- PIXEL31_60
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag146
-..@flag178
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL23_32,PIXEL33_82,PIXEL02_21,PIXEL03_50,PIXEL12_70,PIXEL13_83,PIXEL23_13,PIXEL33_11
- PIXEL10_61
- PIXEL11_30
- PIXEL20_60
- PIXEL21_70
- PIXEL22_32
- PIXEL30_20
- PIXEL31_60
- PIXEL32_82
- jmp .loopx_end
-..@flag84
-..@flag85
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_81
- DiffOrNot w6,w8,PIXEL03_81,PIXEL13_31,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL03_12,PIXEL13_14,PIXEL22_70,PIXEL23_83,PIXEL32_21,PIXEL33_50
- PIXEL10_60
- PIXEL11_70
- PIXEL12_31
- PIXEL20_61
- PIXEL21_30
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag112
-..@flag113
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_61
- PIXEL03_80
- PIXEL10_60
- PIXEL11_70
- PIXEL12_30
- PIXEL13_10
- PIXEL20_82
- PIXEL21_32
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL30_82,PIXEL31_32,PIXEL32_10,PIXEL33_80,PIXEL22_70,PIXEL23_21,PIXEL30_11,PIXEL31_13,PIXEL32_83,PIXEL33_50
- jmp .loopx_end
-..@flag200
-..@flag204
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_60
- PIXEL03_20
- PIXEL10_10
- PIXEL11_30
- PIXEL12_70
- PIXEL13_60
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL32_31,PIXEL33_81,PIXEL20_21,PIXEL21_70,PIXEL30_50,PIXEL31_83,PIXEL32_14,PIXEL33_12
- PIXEL22_31
- PIXEL23_81
- jmp .loopx_end
-..@flag73
-..@flag77
- AUXADDRESS
- DiffOrNot w8,w4,PIXEL00_82,PIXEL10_32,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL00_11,PIXEL10_13,PIXEL20_83,PIXEL21_70,PIXEL30_50,PIXEL31_21
- PIXEL01_82
- PIXEL02_60
- PIXEL03_20
- PIXEL11_32
- PIXEL12_70
- PIXEL13_60
- PIXEL22_30
- PIXEL23_61
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag42
-..@flag170
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL20_31,PIXEL30_81,PIXEL00_50,PIXEL01_21,PIXEL10_83,PIXEL11_70,PIXEL20_14,PIXEL30_12
- PIXEL02_10
- PIXEL03_80
- PIXEL12_30
- PIXEL13_61
- PIXEL21_31
- PIXEL22_70
- PIXEL23_60
- PIXEL31_81
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag14
-..@flag142
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL02_32,PIXEL03_82,PIXEL10_10,PIXEL11_30,PIXEL00_50,PIXEL01_83,PIXEL02_13,PIXEL03_11,PIXEL10_21,PIXEL11_70
- PIXEL12_32
- PIXEL13_82
- PIXEL20_10
- PIXEL21_30
- PIXEL22_70
- PIXEL23_60
- PIXEL30_80
- PIXEL31_61
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag67
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_10
- PIXEL03_80
- PIXEL10_81
- PIXEL11_31
- PIXEL12_30
- PIXEL13_61
- PIXEL20_61
- PIXEL21_30
- PIXEL22_30
- PIXEL23_61
- PIXEL30_80
- PIXEL31_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag70
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_32
- PIXEL03_82
- PIXEL10_61
- PIXEL11_30
- PIXEL12_32
- PIXEL13_82
- PIXEL20_61
- PIXEL21_30
- PIXEL22_30
- PIXEL23_61
- PIXEL30_80
- PIXEL31_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag28
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_81
- PIXEL03_81
- PIXEL10_10
- PIXEL11_30
- PIXEL12_31
- PIXEL13_31
- PIXEL20_10
- PIXEL21_30
- PIXEL22_30
- PIXEL23_10
- PIXEL30_80
- PIXEL31_61
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag152
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_61
- PIXEL03_80
- PIXEL10_10
- PIXEL11_30
- PIXEL12_30
- PIXEL13_10
- PIXEL20_10
- PIXEL21_30
- PIXEL22_32
- PIXEL23_32
- PIXEL30_80
- PIXEL31_61
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag194
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_10
- PIXEL03_80
- PIXEL10_61
- PIXEL11_30
- PIXEL12_30
- PIXEL13_61
- PIXEL20_61
- PIXEL21_30
- PIXEL22_31
- PIXEL23_81
- PIXEL30_80
- PIXEL31_10
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag98
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_10
- PIXEL03_80
- PIXEL10_61
- PIXEL11_30
- PIXEL12_30
- PIXEL13_61
- PIXEL20_82
- PIXEL21_32
- PIXEL22_30
- PIXEL23_61
- PIXEL30_82
- PIXEL31_32
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag56
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_61
- PIXEL03_80
- PIXEL10_10
- PIXEL11_30
- PIXEL12_30
- PIXEL13_10
- PIXEL20_31
- PIXEL21_31
- PIXEL22_30
- PIXEL23_10
- PIXEL30_81
- PIXEL31_81
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag25
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_61
- PIXEL03_80
- PIXEL10_32
- PIXEL11_32
- PIXEL12_30
- PIXEL13_10
- PIXEL20_10
- PIXEL21_30
- PIXEL22_30
- PIXEL23_10
- PIXEL30_80
- PIXEL31_61
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag26
-..@flag31
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL11_0
- PIXEL12_0
- PIXEL20_10
- PIXEL21_30
- PIXEL22_30
- PIXEL23_10
- PIXEL30_80
- PIXEL31_61
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag82
-..@flag214
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_61
- PIXEL11_30
- PIXEL12_0
- PIXEL20_61
- PIXEL21_30
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag88
-..@flag248
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_61
- PIXEL03_80
- PIXEL10_10
- PIXEL11_30
- PIXEL12_30
- PIXEL13_10
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- jmp .loopx_end
-..@flag74
-..@flag107
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_10
- PIXEL03_80
- PIXEL11_0
- PIXEL12_30
- PIXEL13_61
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_30
- PIXEL23_61
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag27
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_10
- PIXEL03_80
- PIXEL11_0
- PIXEL12_30
- PIXEL13_10
- PIXEL20_10
- PIXEL21_30
- PIXEL22_30
- PIXEL23_10
- PIXEL30_80
- PIXEL31_61
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag86
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_61
- PIXEL11_30
- PIXEL12_0
- PIXEL20_61
- PIXEL21_30
- PIXEL22_30
- PIXEL23_10
- PIXEL30_80
- PIXEL31_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag216
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_61
- PIXEL03_80
- PIXEL10_10
- PIXEL11_30
- PIXEL12_30
- PIXEL13_10
- PIXEL20_10
- PIXEL21_30
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag106
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_10
- PIXEL03_80
- PIXEL10_10
- PIXEL11_30
- PIXEL12_30
- PIXEL13_61
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_30
- PIXEL23_61
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag30
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_10
- PIXEL11_30
- PIXEL12_0
- PIXEL20_10
- PIXEL21_30
- PIXEL22_30
- PIXEL23_10
- PIXEL30_80
- PIXEL31_61
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag210
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_10
- PIXEL03_80
- PIXEL10_61
- PIXEL11_30
- PIXEL12_30
- PIXEL13_10
- PIXEL20_61
- PIXEL21_30
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag120
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_61
- PIXEL03_80
- PIXEL10_10
- PIXEL11_30
- PIXEL12_30
- PIXEL13_10
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_30
- PIXEL23_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag75
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_10
- PIXEL03_80
- PIXEL11_0
- PIXEL12_30
- PIXEL13_61
- PIXEL20_10
- PIXEL21_30
- PIXEL22_30
- PIXEL23_61
- PIXEL30_80
- PIXEL31_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag29
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_81
- PIXEL03_81
- PIXEL10_32
- PIXEL11_32
- PIXEL12_31
- PIXEL13_31
- PIXEL20_10
- PIXEL21_30
- PIXEL22_30
- PIXEL23_10
- PIXEL30_80
- PIXEL31_61
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag198
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_32
- PIXEL03_82
- PIXEL10_61
- PIXEL11_30
- PIXEL12_32
- PIXEL13_82
- PIXEL20_61
- PIXEL21_30
- PIXEL22_31
- PIXEL23_81
- PIXEL30_80
- PIXEL31_10
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag184
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_61
- PIXEL03_80
- PIXEL10_10
- PIXEL11_30
- PIXEL12_30
- PIXEL13_10
- PIXEL20_31
- PIXEL21_31
- PIXEL22_32
- PIXEL23_32
- PIXEL30_81
- PIXEL31_81
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag99
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_10
- PIXEL03_80
- PIXEL10_81
- PIXEL11_31
- PIXEL12_30
- PIXEL13_61
- PIXEL20_82
- PIXEL21_32
- PIXEL22_30
- PIXEL23_61
- PIXEL30_82
- PIXEL31_32
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag57
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_61
- PIXEL03_80
- PIXEL10_32
- PIXEL11_32
- PIXEL12_30
- PIXEL13_10
- PIXEL20_31
- PIXEL21_31
- PIXEL22_30
- PIXEL23_10
- PIXEL30_81
- PIXEL31_81
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag71
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_32
- PIXEL03_82
- PIXEL10_81
- PIXEL11_31
- PIXEL12_32
- PIXEL13_82
- PIXEL20_61
- PIXEL21_30
- PIXEL22_30
- PIXEL23_61
- PIXEL30_80
- PIXEL31_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag156
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_81
- PIXEL03_81
- PIXEL10_10
- PIXEL11_30
- PIXEL12_31
- PIXEL13_31
- PIXEL20_10
- PIXEL21_30
- PIXEL22_32
- PIXEL23_32
- PIXEL30_80
- PIXEL31_61
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag226
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_10
- PIXEL03_80
- PIXEL10_61
- PIXEL11_30
- PIXEL12_30
- PIXEL13_61
- PIXEL20_82
- PIXEL21_32
- PIXEL22_31
- PIXEL23_81
- PIXEL30_82
- PIXEL31_32
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag60
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_81
- PIXEL03_81
- PIXEL10_10
- PIXEL11_30
- PIXEL12_31
- PIXEL13_31
- PIXEL20_31
- PIXEL21_31
- PIXEL22_30
- PIXEL23_10
- PIXEL30_81
- PIXEL31_81
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag195
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_10
- PIXEL03_80
- PIXEL10_81
- PIXEL11_31
- PIXEL12_30
- PIXEL13_61
- PIXEL20_61
- PIXEL21_30
- PIXEL22_31
- PIXEL23_81
- PIXEL30_80
- PIXEL31_10
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag102
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_32
- PIXEL03_82
- PIXEL10_61
- PIXEL11_30
- PIXEL12_32
- PIXEL13_82
- PIXEL20_82
- PIXEL21_32
- PIXEL22_30
- PIXEL23_61
- PIXEL30_82
- PIXEL31_32
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag153
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_61
- PIXEL03_80
- PIXEL10_32
- PIXEL11_32
- PIXEL12_30
- PIXEL13_10
- PIXEL20_10
- PIXEL21_30
- PIXEL22_32
- PIXEL23_32
- PIXEL30_80
- PIXEL31_61
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag58
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- PIXEL20_31
- PIXEL21_31
- PIXEL22_30
- PIXEL23_10
- PIXEL30_81
- PIXEL31_81
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag83
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- PIXEL10_81
- PIXEL11_31
- PIXEL20_61
- PIXEL21_30
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag92
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_81
- PIXEL03_81
- PIXEL10_10
- PIXEL11_30
- PIXEL12_31
- PIXEL13_31
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- jmp .loopx_end
-..@flag202
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- PIXEL02_10
- PIXEL03_80
- PIXEL12_30
- PIXEL13_61
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- PIXEL22_31
- PIXEL23_81
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag78
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- PIXEL02_32
- PIXEL03_82
- PIXEL12_32
- PIXEL13_82
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- PIXEL22_30
- PIXEL23_61
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag154
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- PIXEL20_10
- PIXEL21_30
- PIXEL22_32
- PIXEL23_32
- PIXEL30_80
- PIXEL31_61
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag114
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- PIXEL10_61
- PIXEL11_30
- PIXEL20_82
- PIXEL21_32
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- PIXEL30_82
- PIXEL31_32
- jmp .loopx_end
-..@flag89
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_61
- PIXEL03_80
- PIXEL10_32
- PIXEL11_32
- PIXEL12_30
- PIXEL13_10
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- jmp .loopx_end
-..@flag90
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- jmp .loopx_end
-..@flag55
-..@flag23
- AUXADDRESS
- DiffOrNot w2,w6,PIXEL00_81,PIXEL01_31,PIXEL02_0,PIXEL03_0,PIXEL12_0,PIXEL13_0,PIXEL00_12,PIXEL01_14,PIXEL02_83,PIXEL03_50,PIXEL12_70,PIXEL13_21
- PIXEL10_81
- PIXEL11_31
- PIXEL20_60
- PIXEL21_70
- PIXEL22_30
- PIXEL23_10
- PIXEL30_20
- PIXEL31_60
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag182
-..@flag150
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL12_0,PIXEL13_0,PIXEL23_32,PIXEL33_82,PIXEL02_21,PIXEL03_50,PIXEL12_70,PIXEL13_83,PIXEL23_13,PIXEL33_11
- PIXEL10_61
- PIXEL11_30
- PIXEL20_60
- PIXEL21_70
- PIXEL22_32
- PIXEL30_20
- PIXEL31_60
- PIXEL32_82
- jmp .loopx_end
-..@flag213
-..@flag212
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_81
- DiffOrNot w6,w8,PIXEL03_81,PIXEL13_31,PIXEL22_0,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL03_12,PIXEL13_14,PIXEL22_70,PIXEL23_83,PIXEL32_21,PIXEL33_50
- PIXEL10_60
- PIXEL11_70
- PIXEL12_31
- PIXEL20_61
- PIXEL21_30
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag241
-..@flag240
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_61
- PIXEL03_80
- PIXEL10_60
- PIXEL11_70
- PIXEL12_30
- PIXEL13_10
- PIXEL20_82
- PIXEL21_32
- DiffOrNot w6,w8,PIXEL22_0,PIXEL23_0,PIXEL30_82,PIXEL31_32,PIXEL32_0,PIXEL33_0,PIXEL22_70,PIXEL23_21,PIXEL30_11,PIXEL31_13,PIXEL32_83,PIXEL33_50
- jmp .loopx_end
-..@flag236
-..@flag232
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_60
- PIXEL03_20
- PIXEL10_10
- PIXEL11_30
- PIXEL12_70
- PIXEL13_60
- DiffOrNot w8,w4,PIXEL20_0,PIXEL21_0,PIXEL30_0,PIXEL31_0,PIXEL32_31,PIXEL33_81,PIXEL20_21,PIXEL21_70,PIXEL30_50,PIXEL31_83,PIXEL32_14,PIXEL33_12
- PIXEL22_31
- PIXEL23_81
- jmp .loopx_end
-..@flag109
-..@flag105
- AUXADDRESS
- DiffOrNot w8,w4,PIXEL00_82,PIXEL10_32,PIXEL20_0,PIXEL21_0,PIXEL30_0,PIXEL31_0,PIXEL00_11,PIXEL10_13,PIXEL20_83,PIXEL21_70,PIXEL30_50,PIXEL31_21
- PIXEL01_82
- PIXEL02_60
- PIXEL03_20
- PIXEL11_32
- PIXEL12_70
- PIXEL13_60
- PIXEL22_30
- PIXEL23_61
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag171
-..@flag43
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL11_0,PIXEL20_31,PIXEL30_81,PIXEL00_50,PIXEL01_21,PIXEL10_83,PIXEL11_70,PIXEL20_14,PIXEL30_12
- PIXEL02_10
- PIXEL03_80
- PIXEL12_30
- PIXEL13_61
- PIXEL21_31
- PIXEL22_70
- PIXEL23_60
- PIXEL31_81
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag143
-..@flag15
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL02_32,PIXEL03_82,PIXEL10_0,PIXEL11_0,PIXEL00_50,PIXEL01_83,PIXEL02_13,PIXEL03_11,PIXEL10_21,PIXEL11_70
- PIXEL12_32
- PIXEL13_82
- PIXEL20_10
- PIXEL21_30
- PIXEL22_70
- PIXEL23_60
- PIXEL30_80
- PIXEL31_61
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag124
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_81
- PIXEL03_81
- PIXEL10_10
- PIXEL11_30
- PIXEL12_31
- PIXEL13_31
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_30
- PIXEL23_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag203
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_10
- PIXEL03_80
- PIXEL11_0
- PIXEL12_30
- PIXEL13_61
- PIXEL20_10
- PIXEL21_30
- PIXEL22_31
- PIXEL23_81
- PIXEL30_80
- PIXEL31_10
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag62
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_10
- PIXEL11_30
- PIXEL12_0
- PIXEL20_31
- PIXEL21_31
- PIXEL22_30
- PIXEL23_10
- PIXEL30_81
- PIXEL31_81
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag211
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_10
- PIXEL03_80
- PIXEL10_81
- PIXEL11_31
- PIXEL12_30
- PIXEL13_10
- PIXEL20_61
- PIXEL21_30
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag118
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_61
- PIXEL11_30
- PIXEL12_0
- PIXEL20_82
- PIXEL21_32
- PIXEL22_30
- PIXEL23_10
- PIXEL30_82
- PIXEL31_32
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag217
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_61
- PIXEL03_80
- PIXEL10_32
- PIXEL11_32
- PIXEL12_30
- PIXEL13_10
- PIXEL20_10
- PIXEL21_30
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag110
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_32
- PIXEL03_82
- PIXEL10_10
- PIXEL11_30
- PIXEL12_32
- PIXEL13_82
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_30
- PIXEL23_61
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag155
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_10
- PIXEL03_80
- PIXEL11_0
- PIXEL12_30
- PIXEL13_10
- PIXEL20_10
- PIXEL21_30
- PIXEL22_32
- PIXEL23_32
- PIXEL30_80
- PIXEL31_61
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag188
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_81
- PIXEL03_81
- PIXEL10_10
- PIXEL11_30
- PIXEL12_31
- PIXEL13_31
- PIXEL20_31
- PIXEL21_31
- PIXEL22_32
- PIXEL23_32
- PIXEL30_81
- PIXEL31_81
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag185
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_61
- PIXEL03_80
- PIXEL10_32
- PIXEL11_32
- PIXEL12_30
- PIXEL13_10
- PIXEL20_31
- PIXEL21_31
- PIXEL22_32
- PIXEL23_32
- PIXEL30_81
- PIXEL31_81
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag61
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_81
- PIXEL03_81
- PIXEL10_32
- PIXEL11_32
- PIXEL12_31
- PIXEL13_31
- PIXEL20_31
- PIXEL21_31
- PIXEL22_30
- PIXEL23_10
- PIXEL30_81
- PIXEL31_81
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag157
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_81
- PIXEL03_81
- PIXEL10_32
- PIXEL11_32
- PIXEL12_31
- PIXEL13_31
- PIXEL20_10
- PIXEL21_30
- PIXEL22_32
- PIXEL23_32
- PIXEL30_80
- PIXEL31_61
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag103
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_32
- PIXEL03_82
- PIXEL10_81
- PIXEL11_31
- PIXEL12_32
- PIXEL13_82
- PIXEL20_82
- PIXEL21_32
- PIXEL22_30
- PIXEL23_61
- PIXEL30_82
- PIXEL31_32
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag227
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_10
- PIXEL03_80
- PIXEL10_81
- PIXEL11_31
- PIXEL12_30
- PIXEL13_61
- PIXEL20_82
- PIXEL21_32
- PIXEL22_31
- PIXEL23_81
- PIXEL30_82
- PIXEL31_32
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag230
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_32
- PIXEL03_82
- PIXEL10_61
- PIXEL11_30
- PIXEL12_32
- PIXEL13_82
- PIXEL20_82
- PIXEL21_32
- PIXEL22_31
- PIXEL23_81
- PIXEL30_82
- PIXEL31_32
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag199
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_32
- PIXEL03_82
- PIXEL10_81
- PIXEL11_31
- PIXEL12_32
- PIXEL13_82
- PIXEL20_61
- PIXEL21_30
- PIXEL22_31
- PIXEL23_81
- PIXEL30_80
- PIXEL31_10
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag220
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_81
- PIXEL03_81
- PIXEL10_10
- PIXEL11_30
- PIXEL12_31
- PIXEL13_31
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- jmp .loopx_end
-..@flag158
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL12_0
- PIXEL20_10
- PIXEL21_30
- PIXEL22_32
- PIXEL23_32
- PIXEL30_80
- PIXEL31_61
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag234
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- PIXEL02_10
- PIXEL03_80
- PIXEL12_30
- PIXEL13_61
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_31
- PIXEL23_81
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag242
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- PIXEL10_61
- PIXEL11_30
- PIXEL20_82
- PIXEL21_32
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- PIXEL30_82
- PIXEL31_32
- jmp .loopx_end
-..@flag59
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- PIXEL11_0
- PIXEL20_31
- PIXEL21_31
- PIXEL22_30
- PIXEL23_10
- PIXEL30_81
- PIXEL31_81
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag121
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_61
- PIXEL03_80
- PIXEL10_32
- PIXEL11_32
- PIXEL12_30
- PIXEL13_10
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- jmp .loopx_end
-..@flag87
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_81
- PIXEL11_31
- PIXEL12_0
- PIXEL20_61
- PIXEL21_30
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag79
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_32
- PIXEL03_82
- PIXEL11_0
- PIXEL12_32
- PIXEL13_82
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- PIXEL22_30
- PIXEL23_61
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag122
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- jmp .loopx_end
-..@flag94
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL12_0
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- jmp .loopx_end
-..@flag218
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- jmp .loopx_end
-..@flag91
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- PIXEL11_0
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- jmp .loopx_end
-..@flag229
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_60
- PIXEL03_20
- PIXEL10_60
- PIXEL11_70
- PIXEL12_70
- PIXEL13_60
- PIXEL20_82
- PIXEL21_32
- PIXEL22_31
- PIXEL23_81
- PIXEL30_82
- PIXEL31_32
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag167
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_32
- PIXEL03_82
- PIXEL10_81
- PIXEL11_31
- PIXEL12_32
- PIXEL13_82
- PIXEL20_60
- PIXEL21_70
- PIXEL22_70
- PIXEL23_60
- PIXEL30_20
- PIXEL31_60
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag173
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_60
- PIXEL03_20
- PIXEL10_32
- PIXEL11_32
- PIXEL12_70
- PIXEL13_60
- PIXEL20_31
- PIXEL21_31
- PIXEL22_70
- PIXEL23_60
- PIXEL30_81
- PIXEL31_81
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag181
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_81
- PIXEL03_81
- PIXEL10_60
- PIXEL11_70
- PIXEL12_31
- PIXEL13_31
- PIXEL20_60
- PIXEL21_70
- PIXEL22_32
- PIXEL23_32
- PIXEL30_20
- PIXEL31_60
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag186
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- PIXEL20_31
- PIXEL21_31
- PIXEL22_32
- PIXEL23_32
- PIXEL30_81
- PIXEL31_81
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag115
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- PIXEL10_81
- PIXEL11_31
- PIXEL20_82
- PIXEL21_32
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- PIXEL30_82
- PIXEL31_32
- jmp .loopx_end
-..@flag93
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_81
- PIXEL03_81
- PIXEL10_32
- PIXEL11_32
- PIXEL12_31
- PIXEL13_31
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- jmp .loopx_end
-..@flag206
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- PIXEL02_32
- PIXEL03_82
- PIXEL12_32
- PIXEL13_82
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- PIXEL22_31
- PIXEL23_81
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag205
-..@flag201
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_60
- PIXEL03_20
- PIXEL10_32
- PIXEL11_32
- PIXEL12_70
- PIXEL13_60
- DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
- PIXEL22_31
- PIXEL23_81
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag174
-..@flag46
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
- PIXEL02_32
- PIXEL03_82
- PIXEL12_32
- PIXEL13_82
- PIXEL20_31
- PIXEL21_31
- PIXEL22_70
- PIXEL23_60
- PIXEL30_81
- PIXEL31_81
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag179
-..@flag147
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
- PIXEL10_81
- PIXEL11_31
- PIXEL20_60
- PIXEL21_70
- PIXEL22_32
- PIXEL23_32
- PIXEL30_20
- PIXEL31_60
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag117
-..@flag116
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_81
- PIXEL03_81
- PIXEL10_60
- PIXEL11_70
- PIXEL12_31
- PIXEL13_31
- PIXEL20_82
- PIXEL21_32
- DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
- PIXEL30_82
- PIXEL31_32
- jmp .loopx_end
-..@flag189
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_81
- PIXEL03_81
- PIXEL10_32
- PIXEL11_32
- PIXEL12_31
- PIXEL13_31
- PIXEL20_31
- PIXEL21_31
- PIXEL22_32
- PIXEL23_32
- PIXEL30_81
- PIXEL31_81
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag231
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_32
- PIXEL03_82
- PIXEL10_81
- PIXEL11_31
- PIXEL12_32
- PIXEL13_82
- PIXEL20_82
- PIXEL21_32
- PIXEL22_31
- PIXEL23_81
- PIXEL30_82
- PIXEL31_32
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag126
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_10
- PIXEL11_30
- PIXEL12_0
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_30
- PIXEL23_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag219
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_10
- PIXEL03_80
- PIXEL11_0
- PIXEL12_30
- PIXEL13_10
- PIXEL20_10
- PIXEL21_30
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag125
- AUXADDRESS
- DiffOrNot w8,w4,PIXEL00_82,PIXEL10_32,PIXEL20_0,PIXEL21_0,PIXEL30_0,PIXEL31_0,PIXEL00_11,PIXEL10_13,PIXEL20_83,PIXEL21_70,PIXEL30_50,PIXEL31_21
- PIXEL01_82
- PIXEL02_81
- PIXEL03_81
- PIXEL11_32
- PIXEL12_31
- PIXEL13_31
- PIXEL22_30
- PIXEL23_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag221
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_81
- DiffOrNot w6,w8,PIXEL03_81,PIXEL13_31,PIXEL22_0,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL03_12,PIXEL13_14,PIXEL22_70,PIXEL23_83,PIXEL32_21,PIXEL33_50
- PIXEL10_32
- PIXEL11_32
- PIXEL12_31
- PIXEL20_10
- PIXEL21_30
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag207
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL02_32,PIXEL03_82,PIXEL10_0,PIXEL11_0,PIXEL00_50,PIXEL01_83,PIXEL02_13,PIXEL03_11,PIXEL10_21,PIXEL11_70
- PIXEL12_32
- PIXEL13_82
- PIXEL20_10
- PIXEL21_30
- PIXEL22_31
- PIXEL23_81
- PIXEL30_80
- PIXEL31_10
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag238
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_32
- PIXEL03_82
- PIXEL10_10
- PIXEL11_30
- PIXEL12_32
- PIXEL13_82
- DiffOrNot w8,w4,PIXEL20_0,PIXEL21_0,PIXEL30_0,PIXEL31_0,PIXEL32_31,PIXEL33_81,PIXEL20_21,PIXEL21_70,PIXEL30_50,PIXEL31_83,PIXEL32_14,PIXEL33_12
- PIXEL22_31
- PIXEL23_81
- jmp .loopx_end
-..@flag190
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL12_0,PIXEL13_0,PIXEL23_32,PIXEL33_82,PIXEL02_21,PIXEL03_50,PIXEL12_70,PIXEL13_83,PIXEL23_13,PIXEL33_11
- PIXEL10_10
- PIXEL11_30
- PIXEL20_31
- PIXEL21_31
- PIXEL22_32
- PIXEL30_81
- PIXEL31_81
- PIXEL32_82
- jmp .loopx_end
-..@flag187
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL11_0,PIXEL20_31,PIXEL30_81,PIXEL00_50,PIXEL01_21,PIXEL10_83,PIXEL11_70,PIXEL20_14,PIXEL30_12
- PIXEL02_10
- PIXEL03_80
- PIXEL12_30
- PIXEL13_10
- PIXEL21_31
- PIXEL22_32
- PIXEL23_32
- PIXEL31_81
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag243
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_10
- PIXEL03_80
- PIXEL10_81
- PIXEL11_31
- PIXEL12_30
- PIXEL13_10
- PIXEL20_82
- PIXEL21_32
- DiffOrNot w6,w8,PIXEL22_0,PIXEL23_0,PIXEL30_82,PIXEL31_32,PIXEL32_0,PIXEL33_0,PIXEL22_70,PIXEL23_21,PIXEL30_11,PIXEL31_13,PIXEL32_83,PIXEL33_50
- jmp .loopx_end
-..@flag119
- AUXADDRESS
- DiffOrNot w2,w6,PIXEL00_81,PIXEL01_31,PIXEL02_0,PIXEL03_0,PIXEL12_0,PIXEL13_0,PIXEL00_12,PIXEL01_14,PIXEL02_83,PIXEL03_50,PIXEL12_70,PIXEL13_21
- PIXEL10_81
- PIXEL11_31
- PIXEL20_82
- PIXEL21_32
- PIXEL22_30
- PIXEL23_10
- PIXEL30_82
- PIXEL31_32
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag237
-..@flag233
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_60
- PIXEL03_20
- PIXEL10_32
- PIXEL11_32
- PIXEL12_70
- PIXEL13_60
- PIXEL20_0
- PIXEL21_0
- PIXEL22_31
- PIXEL23_81
- DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
- PIXEL31_0
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag175
-..@flag47
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
- PIXEL01_0
- PIXEL02_32
- PIXEL03_82
- PIXEL10_0
- PIXEL11_0
- PIXEL12_32
- PIXEL13_82
- PIXEL20_31
- PIXEL21_31
- PIXEL22_70
- PIXEL23_60
- PIXEL30_81
- PIXEL31_81
- PIXEL32_60
- PIXEL33_20
- jmp .loopx_end
-..@flag183
-..@flag151
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_0
- DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
- PIXEL10_81
- PIXEL11_31
- PIXEL12_0
- PIXEL13_0
- PIXEL20_60
- PIXEL21_70
- PIXEL22_32
- PIXEL23_32
- PIXEL30_20
- PIXEL31_60
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag245
-..@flag244
- AUXADDRESS
- PIXEL00_20
- PIXEL01_60
- PIXEL02_81
- PIXEL03_81
- PIXEL10_60
- PIXEL11_70
- PIXEL12_31
- PIXEL13_31
- PIXEL20_82
- PIXEL21_32
- PIXEL22_0
- PIXEL23_0
- PIXEL30_82
- PIXEL31_32
- PIXEL32_0
- DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
- jmp .loopx_end
-..@flag250
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- PIXEL02_10
- PIXEL03_80
- PIXEL10_10
- PIXEL11_30
- PIXEL12_30
- PIXEL13_10
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- jmp .loopx_end
-..@flag123
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_10
- PIXEL03_80
- PIXEL11_0
- PIXEL12_30
- PIXEL13_10
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_30
- PIXEL23_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag95
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL11_0
- PIXEL12_0
- PIXEL20_10
- PIXEL21_30
- PIXEL22_30
- PIXEL23_10
- PIXEL30_80
- PIXEL31_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag222
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_10
- PIXEL11_30
- PIXEL12_0
- PIXEL20_10
- PIXEL21_30
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag252
- AUXADDRESS
- PIXEL00_80
- PIXEL01_61
- PIXEL02_81
- PIXEL03_81
- PIXEL10_10
- PIXEL11_30
- PIXEL12_31
- PIXEL13_31
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_0
- PIXEL23_0
- PIXEL32_0
- DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
- jmp .loopx_end
-..@flag249
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_61
- PIXEL03_80
- PIXEL10_32
- PIXEL11_32
- PIXEL12_30
- PIXEL13_10
- PIXEL20_0
- PIXEL21_0
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
- PIXEL31_0
- jmp .loopx_end
-..@flag235
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_10
- PIXEL03_80
- PIXEL11_0
- PIXEL12_30
- PIXEL13_61
- PIXEL20_0
- PIXEL21_0
- PIXEL22_31
- PIXEL23_81
- DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
- PIXEL31_0
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag111
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
- PIXEL01_0
- PIXEL02_32
- PIXEL03_82
- PIXEL10_0
- PIXEL11_0
- PIXEL12_32
- PIXEL13_82
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_30
- PIXEL23_61
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag63
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
- PIXEL01_0
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_0
- PIXEL11_0
- PIXEL12_0
- PIXEL20_31
- PIXEL21_31
- PIXEL22_30
- PIXEL23_10
- PIXEL30_81
- PIXEL31_81
- PIXEL32_61
- PIXEL33_80
- jmp .loopx_end
-..@flag159
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_0
- DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
- PIXEL11_0
- PIXEL12_0
- PIXEL13_0
- PIXEL20_10
- PIXEL21_30
- PIXEL22_32
- PIXEL23_32
- PIXEL30_80
- PIXEL31_61
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag215
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_0
- DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
- PIXEL10_81
- PIXEL11_31
- PIXEL12_0
- PIXEL13_0
- PIXEL20_61
- PIXEL21_30
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag246
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_61
- PIXEL11_30
- PIXEL12_0
- PIXEL20_82
- PIXEL21_32
- PIXEL22_0
- PIXEL23_0
- PIXEL30_82
- PIXEL31_32
- PIXEL32_0
- DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
- jmp .loopx_end
-..@flag254
- AUXADDRESS
- PIXEL00_80
- PIXEL01_10
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_10
- PIXEL11_30
- PIXEL12_0
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_0
- PIXEL23_0
- PIXEL32_0
- DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
- jmp .loopx_end
-..@flag253
- AUXADDRESS
- PIXEL00_82
- PIXEL01_82
- PIXEL02_81
- PIXEL03_81
- PIXEL10_32
- PIXEL11_32
- PIXEL12_31
- PIXEL13_31
- PIXEL20_0
- PIXEL21_0
- PIXEL22_0
- PIXEL23_0
- DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
- PIXEL31_0
- PIXEL32_0
- DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
- jmp .loopx_end
-..@flag251
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_10
- PIXEL03_80
- PIXEL11_0
- PIXEL12_30
- PIXEL13_10
- PIXEL20_0
- PIXEL21_0
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
- PIXEL31_0
- jmp .loopx_end
-..@flag239
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
- PIXEL01_0
- PIXEL02_32
- PIXEL03_82
- PIXEL10_0
- PIXEL11_0
- PIXEL12_32
- PIXEL13_82
- PIXEL20_0
- PIXEL21_0
- PIXEL22_31
- PIXEL23_81
- DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
- PIXEL31_0
- PIXEL32_31
- PIXEL33_81
- jmp .loopx_end
-..@flag127
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
- PIXEL01_0
- DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
- PIXEL10_0
- PIXEL11_0
- PIXEL12_0
- DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
- PIXEL21_0
- PIXEL22_30
- PIXEL23_10
- PIXEL32_10
- PIXEL33_80
- jmp .loopx_end
-..@flag191
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
- PIXEL01_0
- PIXEL02_0
- DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
- PIXEL10_0
- PIXEL11_0
- PIXEL12_0
- PIXEL13_0
- PIXEL20_31
- PIXEL21_31
- PIXEL22_32
- PIXEL23_32
- PIXEL30_81
- PIXEL31_81
- PIXEL32_82
- PIXEL33_82
- jmp .loopx_end
-..@flag223
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
- PIXEL02_0
- DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
- PIXEL11_0
- PIXEL12_0
- PIXEL13_0
- PIXEL20_10
- PIXEL21_30
- PIXEL22_0
- DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
- PIXEL30_80
- PIXEL31_10
- jmp .loopx_end
-..@flag247
- AUXADDRESS
- PIXEL00_81
- PIXEL01_31
- PIXEL02_0
- DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
- PIXEL10_81
- PIXEL11_31
- PIXEL12_0
- PIXEL13_0
- PIXEL20_82
- PIXEL21_32
- PIXEL22_0
- PIXEL23_0
- PIXEL30_82
- PIXEL31_32
- PIXEL32_0
- DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
- jmp .loopx_end
-..@flag255
- AUXADDRESS
- DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
- PIXEL01_0
- PIXEL02_0
- DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
- PIXEL10_0
- PIXEL11_0
- PIXEL12_0
- PIXEL13_0
- PIXEL20_0
- PIXEL21_0
- PIXEL22_0
- PIXEL23_0
- DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
- PIXEL31_0
- PIXEL32_0
- DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
- jmp .loopx_end
-
-
-..@cross0
- mov ebx,[ebp+dstpitch]
- AUXADDRESS
- mov [edi],eax
- mov [edi+4],eax
- mov [edi+8],eax
- mov [edi+12],eax
- mov [edi+ebx],eax
- mov [edi+ebx+4],eax
- mov [edi+ebx+8],eax
- mov [edi+ebx+12],eax
- mov [ecx],eax
- mov [ecx+4],eax
- mov [ecx+8],eax
- mov [ecx+12],eax
- mov [ecx+ebx],eax
- mov [ecx+ebx+4],eax
- mov [ecx+ebx+8],eax
- mov [ecx+ebx+12],eax
- jmp .loopx_end
-..@cross1
- mov ecx,[w2]
- mov edx,eax
- shl edx,2
- add edx,[ebx+ecx*4]
- sub edx,eax
- shr edx,2
- mov [edi],edx
- mov [edi+4],edx
- mov [edi+8],edx
- mov [edi+12],edx
- mov ebx,[ebp+dstpitch]
- AUXADDRESS
- mov [edi],edx
- mov [edi+4],edx
- mov [edi+ebx],eax
- mov [edi+ebx+4],eax
- jmp .loopx_end
-..@cross2
- mov ecx,[w4]
- mov edx,eax
- shl edx,2
- add edx,[ebx+ecx*4]
- sub edx,eax
- shr edx,2
- mov ebx,[ebp+dstpitch]
- mov [edi],edx
- mov [edi+4],eax
- mov [edi+ebx],edx
- mov [edi+ebx+4],eax
- jmp .loopx_end
-..@cross4
- mov ecx,[w6]
- mov edx,eax
- shl edx,2
- add edx,[ebx+ecx*4]
- sub edx,eax
- shr edx,2
- mov ebx,[ebp+dstpitch]
- mov [edi],eax
- mov [edi+4],edx
- mov [edi+ebx],eax
- mov [edi+ebx+4],edx
- jmp .loopx_end
-..@cross8
- mov ecx,[w8]
- mov edx,eax
- shl edx,2
- add edx,[ebx+ecx*4]
- sub edx,eax
- shr edx,2
- mov ebx,[ebp+dstpitch]
- mov [edi],eax
- mov [edi+4],eax
- mov [edi+ebx],edx
- mov [edi+ebx+4],edx
- jmp .loopx_end
-..@crossN
- mov edx,[w2]
- mov ecx,[ebx+edx*4]
- mov [c2],ecx
- mov edx,[w4]
- mov ecx,[ebx+edx*4]
- mov [c4],ecx
- mov edx,[w6]
- mov ecx,[ebx+edx*4]
- mov [c6],ecx
- mov edx,[w8]
- mov ecx,[ebx+edx*4]
- mov [c8],ecx
- mov ebx,[ebp+dstpitch]
- jmp ..@flag0
-
-.loopx_end
- add esi,2
- add edi,16
- dec dword[xcounter]
- jle .xres_2
- jmp .loopx
-.xres_2
- ; x=Xres-2 - special case
- jl .xres_1
- mov ebx,[prevline]
- movq mm5,[esi+ebx-4]
- movq mm6,[esi-4]
- mov ebx,[nextline]
- movq mm7,[esi+ebx-4]
- psrlq mm5,16
- psrlq mm6,16
- psrlq mm7,16
- movd eax,mm5
- movzx edx,ax
- mov [w1],edx
- shr eax,16
- mov [w2],eax
- psrlq mm5,32
- movd eax,mm5
- mov [w3],eax
- movd eax,mm6
- movzx edx,ax
- mov [w4],edx
- shr eax,16
- mov [w5],eax
- psrlq mm6,32
- movd eax,mm6
- mov [w6],eax
- movd eax,mm7
- movzx edx,ax
- mov [w7],edx
- shr eax,16
- mov [w8],eax
- psrlq mm7,32
- movd eax,mm7
- mov [w9],eax
- jmp .flags
-.xres_1
- cmp dword[xcounter],-1
- jl .nexty
- ; x=Xres-1 - special case
- mov ebx,[prevline]
- movq mm5,[esi+ebx-6]
- movq mm6,[esi-6]
- mov ebx,[nextline]
- movq mm7,[esi+ebx-6]
- psrlq mm5,32
- psrlq mm6,32
- psrlq mm7,32
- movd eax,mm5
- movzx edx,ax
- mov [w1],edx
- shr eax,16
- mov [w2],eax
- mov [w3],eax
- movd eax,mm6
- movzx edx,ax
- mov [w4],edx
- shr eax,16
- mov [w5],eax
- mov [w6],eax
- movd eax,mm7
- movzx edx,ax
- mov [w7],edx
- shr eax,16
- mov [w8],eax
- mov [w9],eax
- jmp .flags
-.nexty
- add edi,ebx
- add edi,ebx
- add edi,ebx
- add esi,[ebp+srcpitch]
- dec dword[linesleft]
- jz .fin
- mov ebx,[ebp+Xres]
- shl ebx,1
- cmp dword[linesleft],1
- je .lastline
- mov dword[nextline],ebx
- neg ebx
- mov dword[prevline],ebx
- jmp .loopy
-.lastline
- mov dword[nextline],0
- neg ebx
- mov dword[prevline],ebx
- jmp .loopy
-.fin
- emms
- popad
- mov esp,ebp
- pop ebp
- ret
-
-SECTION .data
-FuncTable
- dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
- dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
- dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
- dd ..@flag24, ..@flag25, ..@flag26, ..@flag27, ..@flag28, ..@flag29, ..@flag30, ..@flag31
- dd ..@flag32, ..@flag33, ..@flag34, ..@flag35, ..@flag36, ..@flag37, ..@flag38, ..@flag39
- dd ..@flag40, ..@flag41, ..@flag42, ..@flag43, ..@flag44, ..@flag45, ..@flag46, ..@flag47
- dd ..@flag48, ..@flag49, ..@flag50, ..@flag51, ..@flag52, ..@flag53, ..@flag54, ..@flag55
- dd ..@flag56, ..@flag57, ..@flag58, ..@flag59, ..@flag60, ..@flag61, ..@flag62, ..@flag63
- dd ..@flag64, ..@flag65, ..@flag66, ..@flag67, ..@flag68, ..@flag69, ..@flag70, ..@flag71
- dd ..@flag72, ..@flag73, ..@flag74, ..@flag75, ..@flag76, ..@flag77, ..@flag78, ..@flag79
- dd ..@flag80, ..@flag81, ..@flag82, ..@flag83, ..@flag84, ..@flag85, ..@flag86, ..@flag87
- dd ..@flag88, ..@flag89, ..@flag90, ..@flag91, ..@flag92, ..@flag93, ..@flag94, ..@flag95
- dd ..@flag96, ..@flag97, ..@flag98, ..@flag99, ..@flag100, ..@flag101, ..@flag102, ..@flag103
- dd ..@flag104, ..@flag105, ..@flag106, ..@flag107, ..@flag108, ..@flag109, ..@flag110, ..@flag111
- dd ..@flag112, ..@flag113, ..@flag114, ..@flag115, ..@flag116, ..@flag117, ..@flag118, ..@flag119
- dd ..@flag120, ..@flag121, ..@flag122, ..@flag123, ..@flag124, ..@flag125, ..@flag126, ..@flag127
- dd ..@flag128, ..@flag129, ..@flag130, ..@flag131, ..@flag132, ..@flag133, ..@flag134, ..@flag135
- dd ..@flag136, ..@flag137, ..@flag138, ..@flag139, ..@flag140, ..@flag141, ..@flag142, ..@flag143
- dd ..@flag144, ..@flag145, ..@flag146, ..@flag147, ..@flag148, ..@flag149, ..@flag150, ..@flag151
- dd ..@flag152, ..@flag153, ..@flag154, ..@flag155, ..@flag156, ..@flag157, ..@flag158, ..@flag159
- dd ..@flag160, ..@flag161, ..@flag162, ..@flag163, ..@flag164, ..@flag165, ..@flag166, ..@flag167
- dd ..@flag168, ..@flag169, ..@flag170, ..@flag171, ..@flag172, ..@flag173, ..@flag174, ..@flag175
- dd ..@flag176, ..@flag177, ..@flag178, ..@flag179, ..@flag180, ..@flag181, ..@flag182, ..@flag183
- dd ..@flag184, ..@flag185, ..@flag186, ..@flag187, ..@flag188, ..@flag189, ..@flag190, ..@flag191
- dd ..@flag192, ..@flag193, ..@flag194, ..@flag195, ..@flag196, ..@flag197, ..@flag198, ..@flag199
- dd ..@flag200, ..@flag201, ..@flag202, ..@flag203, ..@flag204, ..@flag205, ..@flag206, ..@flag207
- dd ..@flag208, ..@flag209, ..@flag210, ..@flag211, ..@flag212, ..@flag213, ..@flag214, ..@flag215
- dd ..@flag216, ..@flag217, ..@flag218, ..@flag219, ..@flag220, ..@flag221, ..@flag222, ..@flag223
- dd ..@flag224, ..@flag225, ..@flag226, ..@flag227, ..@flag228, ..@flag229, ..@flag230, ..@flag231
- dd ..@flag232, ..@flag233, ..@flag234, ..@flag235, ..@flag236, ..@flag237, ..@flag238, ..@flag239
- dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
- dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
-
-
#define IDC_MAPDRIVES 1507
#define IDC_CPUTEXT 1508
#define IDC_MAPDRIVES_NET 1508
+#define IDC_RESTARTEMU 1508
#define IDC_SWAP 1509
#define IDC_CACHETEXT 1509
#define IDC_MAPDRIVES_CD 1509
#define IDC_MAPDRIVES 1507
#define IDC_CPUTEXT 1508
#define IDC_MAPDRIVES_NET 1508
+#define IDC_RESTARTEMU 1508
#define IDC_SWAP 1509
#define IDC_CACHETEXT 1509
#define IDC_MAPDRIVES_CD 1509
FONT 8, "MS Sans Serif", 0, 0, 0x0\r
BEGIN\r
GROUPBOX "",IDC_PANEL_FRAME,112,4,303,247,NOT WS_VISIBLE\r
- CONTROL "",IDC_PANELTREE,"SysTreeView32",TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_NOSCROLL | WS_BORDER | WS_TABSTOP,5,5,101,248,WS_EX_CLIENTEDGE\r
+ CONTROL "",IDC_PANELTREE,"SysTreeView32",TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_NOSCROLL | WS_BORDER | WS_HSCROLL | WS_TABSTOP,5,5,101,248,WS_EX_CLIENTEDGE\r
GROUPBOX "",IDC_PANEL_FRAME_OUTER,110,2,307,251\r
PUSHBUTTON "Reset",IDC_RESETAMIGA,6,259,47,14\r
PUSHBUTTON "Quit",IDC_QUITEMU,57,259,47,14\r
DEFPUSHBUTTON "OK",IDOK,260,259,50,14\r
PUSHBUTTON "Cancel",IDCANCEL,313,259,50,14\r
PUSHBUTTON "Help",IDHELP,366,259,50,14,WS_DISABLED\r
+ PUSHBUTTON "Restart",IDC_RESTARTEMU,109,259,47,14,NOT WS_VISIBLE\r
END\r
\r
IDD_PATHS DIALOGEX 0, 0, 300, 237\r
/* Scaler (except Scale2x) code borrowed from ScummVM project */
-#include "filter.h"
+#include "sysconfig.h"
+#include "sysdeps.h"
+
+#include "gfxfilter.h"
static uint32 colorMask;
static uint32 lowPixelMask;
unsigned int LUT16to32[65536];
unsigned int RGBtoYUV[65536];
+#define swap16(x) (((x >> 24) & 0x000000ff) | ((x >> 8) & 0x0000ff00) | ((x << 8) & 0x00ff0000) | ((x << 16) & 0xff000000))
+
void hq_init (int rb, int gb, int bb, int rs, int gs, int bs)
{
int i, j, k, r, g, b, Y, u, v;
inputdevice_acquire ();
wait_keyrelease ();
inputdevice_acquire ();
- if (isfullscreen() > 0)
+ if (isfullscreen() > 0 && !gui_active)
setmouseactive (1);
manual_palette_refresh_needed = 1;
if(SHGetPathFromIDList((struct _ITEMIDLIST *)(shns->dwItem1), path)) {
int inserted = lParam == SHCNE_MEDIAINSERTED ? 1 : 0;
write_log("Shell Notification %d '%s'\n", inserted, path);
- if ((inserted && CheckRM (path)) || !inserted)
- filesys_media_change (path, inserted);
+ if (!win32_hardfile_media_change ()) {
+ if ((inserted && CheckRM (path)) || !inserted)
+ filesys_media_change (path, inserted);
+ }
}
}
}
#endif
win32_aspi_media_change (drive, inserted);
}
- if (currprefs.win32_automount_removable && (type == DRIVE_REMOVABLE || type == DRIVE_CDROM || !inserted)) {
- if ((inserted && CheckRM (drvname)) || !inserted)
- filesys_media_change (drvname, inserted);
+ if (type == DRIVE_REMOVABLE || type == DRIVE_CDROM || !inserted) {
+ if (!win32_hardfile_media_change ()) {
+ if ((inserted && CheckRM (drvname)) || !inserted)
+ filesys_media_change (drvname, inserted);
+ }
}
}
}
if (ret > 0 && pSHChangeNotifyDeregister)
pSHChangeNotifyDeregister (ret);
} else {
- if(currprefs.win32_automount_removable && pSHChangeNotifyRegister && SHGetSpecialFolderLocation(hwnd, CSIDL_DESKTOP, &ppidl) == NOERROR) {
+ if(pSHChangeNotifyRegister && SHGetSpecialFolderLocation(hwnd, CSIDL_DESKTOP, &ppidl) == NOERROR) {
SHChangeNotifyEntry shCNE;
shCNE.pidl = ppidl;
shCNE.fRecursive = TRUE;
#define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100)
#define GETBDD(x) ((x) % 100)
-#define WINUAEBETA 5
+#define WINUAEBETA 6
#define WINUAEPUBLICBETA 1
-#define WINUAEDATE MAKEBD(2007, 9, 8)
+#define WINUAEDATE MAKEBD(2007, 9, 12)
#define WINUAEEXTRA ""
#define WINUAEREV ""
extern int dinput_winmousemode (void);
void addnotifications (HWND hwnd, int remove);
+int win32_hardfile_media_change (void);
extern int CheckRM(char *DriveName);
void systray (HWND hwnd, int remove);
void systraymenu (HWND hwnd);
{ UAE_FILTER_SCALE2X, 0, "Scale2X", "scale2x", 0, 0, UAE_FILTER_MODE_16_16 | UAE_FILTER_MODE_32_32, 0, 0 },
-// { UAE_FILTER_HQ, 0, "hq", "hq", 0, 0, UAE_FILTER_MODE_16_32, UAE_FILTER_MODE_16_32, UAE_FILTER_MODE_16_32 },
+ { UAE_FILTER_HQ, 0, "hq2x", "hqx", 0, 0, UAE_FILTER_MODE_16_16 | UAE_FILTER_MODE_16_32, 0, 0 },
{ UAE_FILTER_SUPEREAGLE, 0, "SuperEagle", "supereagle", 0, 0, UAE_FILTER_MODE_16_16, 0, 0 },
{ UAE_FILTER_PAL, 1, "PAL", "pal", 0, UAE_FILTER_MODE_16_16 | UAE_FILTER_MODE_32_32, 0, 0, 0 },
-
{ 0 }
};
uae_u8 *bufmem_ptr;
int bufmem_width, bufmem_height;
static int tempsurf;
+static uae_u8 *tempsurf2, *tempsurf3;
void S2X_configure (int rb, int gb, int bb, int rs, int gs, int bs)
{
write_log ("DDRAW: failed to create temp surface\n%s\n", DXError (ddrval));
tempsurf = 0;
}
+
+ if (usedfilter->type == UAE_FILTER_HQ) {
+ tempsurf2 = xmalloc (amiga_width * amiga_height * (amiga_depth / 8));
+ tempsurf3 = xmalloc (amiga_width * amiga_height * (dst_depth / 8) * 4);
+ }
}
void S2X_render (void)
DDSURFACEDESC2 desc;
sptr = gfxvidinfo.bufmem;
- v = (dst_width - amiga_width) / 2;
+ v = (dst_width - amiga_width * scale) / 2;
aw += v;
sptr -= v * (amiga_depth / 8);
- v = (dst_height - amiga_height) / 2;
+ v = (dst_height - amiga_height * scale) / 2;
ah += v;
sptr -= v * gfxvidinfo.rowbytes;
ok = 1;
}
-#if 0
} else if (usedfilter->type == UAE_FILTER_HQ) { /* 32/2X+3X+4X */
- int hqsrcpitch = gfxvidinfo.rowbytes - aw * amiga_depth / 8;
- int hqdstpitch = pitch - aw * scale * dst_depth / 8;
- int hqdstpitch2 = pitch * scale - aw * scale * dst_depth / 8;
- if (scale == 2) {
- if (amiga_depth == 16 && dst_depth == 32) {
- hq2x_32 (sptr, dptr, aw, ah, hqdstpitch, hqsrcpitch, hqdstpitch2);
- ok = 1;
+ if (tempsurf2) {
+ /* Aaaaaaaarghhhghgh.. */
+ uae_u8 *sptr2 = tempsurf3;
+ uae_u8 *dptr2 = tempsurf2;
+ int i;
+ for (i = 0; i < ah; i++) {
+ int w = aw * (amiga_depth / 8);
+ memcpy (dptr2, sptr, w);
+ dptr2 += w;
+ sptr += gfxvidinfo.rowbytes;
}
+ if (scale == 2) {
+ if (amiga_depth == 16 && dst_depth == 32) {
+ hq2x_32 (tempsurf2, tempsurf3, aw, ah, aw * scale * 4);
+ ok = 1;
+ } else if (amiga_depth == 16 && dst_depth == 16) {
+ hq2x_16 (tempsurf2, tempsurf3, aw, ah, aw * scale * 2);
+ ok = 1;
+ }
+ }
+ for (i = 0; i < ah * scale; i++) {
+ int w = aw * scale * (dst_depth / 8);
+ memcpy (dptr, sptr2, w);
+ sptr2 += w;
+ dptr += pitch;
+ }
+ }
+#if 0
} else if (scale == 3) {
if (amiga_depth == 16 && dst_depth == 16) {
hq3x_16 (sptr, dptr, aw, ah, hqdstpitch, hqsrcpitch, hqdstpitch2);
hq4x_32 (sptr, dptr, aw, ah, hqdstpitch, hqsrcpitch, hqdstpitch2);
ok = 1;
}
- }
#endif
+
} else if (usedfilter->type == UAE_FILTER_SUPEREAGLE) { /* 16/2X */
if (scale == 2 && amiga_depth == 16 && dst_depth == 16) {
{
struct MultiDisplay *md = Displays;
MONITORINFOEX lpmi;
+ char tmp[200];
while (md->name) {
if (md - Displays >= MAX_DISPLAYS)
return 0;
md++;
}
- md->name = my_strdup (desc);
+ sprintf (tmp, "%d: %s", md - Displays, desc);
+ md->name = my_strdup (tmp);
if (guid == 0) {
POINT pt = { 0, 0 };
md->primary = 1;
struct MultiDisplay *md1, *md2, tmp;
int i;
+#if 0
md1 = Displays;
while (md1->name) {
md2 = md1 + 1;
}
md1++;
}
+#endif
md1 = Displays;
while (md1->name) {
DisplayModes = md1->DisplayModes = xmalloc (sizeof (struct PicassoResolution) * MAX_PICASSO_MODES);
}
}
if (currentmode->current_depth > 8) {
- if (!(currentmode->flags & DM_OPENGL|DM_D3D)) {
+ if (!(currentmode->flags & (DM_OPENGL|DM_D3D))) {
if (currentmode->current_depth != currentmode->native_depth) {
if (currentmode->current_depth == 16) {
red_bits = 5; green_bits = 6; blue_bits = 5;
strcpy (size_str, "n/a");
sprintf (bootpri_str, "%d", uci->bootpri);
}
+ if (!mi.ismedia) {
+ strcpy (blocksize_str, "n/a");
+ strcpy (size_str, "n/a");
+ }
WIN32GUI_LoadUIString (uci->readonly ? IDS_NO : IDS_YES, readwrite_str, sizeof (readwrite_str));
lvstruct.mask = LVIF_TEXT | LVIF_PARAM;
- lvstruct.pszText = nosize ? "X" : (mi.ismounted ? "*" : " ");
+ lvstruct.pszText = mi.ismedia == 0 ? "E" : (nosize ? "X" : (mi.ismounted ? "*" : " "));
if (uci->controller)
lvstruct.pszText = " ";
lvstruct.lParam = 0;
WIN32GUI_LoadUIString (IDS_STARTEMULATION, tmp, sizeof (tmp));
SetWindowText (GetDlgItem (guiDlg, IDOK), tmp);
}
+ ShowWindow (GetDlgItem(guiDlg, IDC_RESTARTEMU), full_property_sheet ? SW_HIDE : SW_SHOW);
centerWindow (hDlg);
createTreeView (hDlg, currentpage);
updatePanel (hDlg, currentpage);
uae_quit ();
SendMessage (hDlg, WM_COMMAND, IDCANCEL, 0);
return TRUE;
+ case IDC_RESTARTEMU:
+ uae_restart (-1, NULL);
+ exit_gui(1);
+ return TRUE;
case IDHELP:
if (pHtmlHelp && ppage[currentpage].help)
HtmlHelp (NULL, help_file, HH_DISPLAY_TOPIC, ppage[currentpage].help);
RelativePath="..\resources\drive_startup.wav"
>
</File>
+ <File
+ RelativePath="..\hq2x16.obj"
+ >
+ </File>
+ <File
+ RelativePath="..\hq2x32.obj"
+ >
+ </File>
<File
RelativePath="..\resources\resource"
>
>
</File>
<File
- RelativePath="..\resources\resource"
+ RelativePath="..\hq2x16.obj"
+ >
+ </File>
+ <File
+ RelativePath="..\hq2x32.obj"
>
</File>
<File
+Beta 6: (DO NOT USE OLDER BETAS, they are too broken)
+
+- real harddrive support improvements:
+ - empty drives are now listed in "Add Harddrive" GUI
+ - uaehf.device media change command support (CMD_ADDCHANGEINT,
+ CMD_REMCHANGEINT and CMD_CHANGESTATE are not no-ops anymore)
+ - drive parameters (includes size) is re-detected every time new
+ media is inserted
+ - automount on the fly but only if configured using "Add Harddrive"
+ (drive was empty or missing when emulation was started)
+ No RDB parsing.
+ - do not automount as a directory filesystem on the fly if drive is
+ in "Add Harddrive" list (for example: FATxx formatted zip disk/HD
+ mounted using Amiga-side fat filesystem driver)
+- configured directory drives always support automount (even if
+ "automount removable drives" is not checked). Also keep original
+ configured volume name. (do not replace with real volume label)
+- harddrive safety check slightly relaxed, do not complain if drive
+ is inserted on the fly and only complain once.
+- 'E' in harddrive panel means drive is mounted but empty
+- KS 1.3 directory filesystem WB HD icons appear again (instead of
+ hiding somewhere and corrupting memory)
+- KS 1.3 directory filesystem automount support
+- added "Restart" (better names?) button that closes running emulation
+ and returns back to GUI without changing current configuration
+- do not hide mouse pointer when GUI is active in fullscreen mode
+- ACTION_EXAMINE_ALL 2xbug fix. If last directory entry was filtered
+ with eac_MatchString/eac_MatchFunc, previous eac_Next was not
+ cleared (broke monitor driver loading if last dir entry was *.info
+ or vgaonly). eac_MatchString/eac_MatchFunc filtering didn't work
+ correctly, calculated number of bytes to copy in register D0, used
+ D1 in main copy loop... DO NOT USE OLDER BETAS.
+- hq2x filter support. I hope someone is happy now.
+- [still nothing done with bsdsocket problem, FS problems first]
Beta 5:
- better CD32 audio end detection accuracy, last 1s was cut previously
- ["bsdsocket breaks after reset if it was initialized before reset"
will be fixed soon]
+- [uaehf.device media changes may be implemented before next official
+ release but full support will be done later]
Beta 4: