/************************************************************************** * * Program: checksum_paris.c * * This program can be executed to test a checksum for each * image file of the original sequence. * * The program compiles and works properly on a Sun SPARCstation (tm) * using the "cc" compiler. Although we hope it executes properly on * other platforms as well, we have not tested it in any other * environment. Note that the compiler which we used assumes by * default that "char" variables are signed and that "int" variables * are 32 bits wide. * * Origination: July, 1994 * Modification: May, 1996 Modified for paris sequence - GJS * *************************************************************************** * * Copyright (C) 1994, 1996, PictureTel Corporation * 222 Rosewood Dr. * Danvers, MA 01923 * * See accompanying copyright and license information file * ***************************************************************************/ #include #define Y_HSIZE 352 #define Y_VSIZE 288 #define Y_TSIZE (Y_HSIZE * Y_VSIZE) #define C_HSIZE 176 #define C_VSIZE 144 #define C_TSIZE (C_HSIZE * C_VSIZE) #define T_TSIZE (Y_TSIZE + 2 * C_TSIZE) char image[T_TSIZE]; #define FNAME_BASE "paris" #define NUM_FRAMES 1065 int frame_checkref[NUM_FRAMES] = { 0x757B, 0xD1E3, 0x210E, 0xCD3F, 0xF6D5, 0x1FEF, 0xCE35, 0x22DF, 0x5CB2, 0x94C0, 0x9422, 0xA6AD, 0xB805, 0xF545, 0x5A33, 0x560C, 0xE9B6, 0x3BDA, 0x78CC, 0xEE76, 0x8D1D, 0xA0E3, 0x4C8B, 0x84F1, 0x67C3, 0x8354, 0xBCC4, 0x9CD6, 0xAAEA, 0x9FC4, 0xEECA, 0xEE26, 0x6674, 0xB775, 0x03AA, 0xC928, 0xC9F9, 0xF763, 0xD1B4, 0x262B, 0x1DBA, 0x5942, 0xFCCB, 0xBAEB, 0x1032, 0xAD7A, 0x387B, 0xA17A, 0x4450, 0x59AF, 0x045A, 0x06CB, 0x926B, 0xC491, 0xD932, 0x935A, 0x53E9, 0xFE84, 0xFA1F, 0xECB0, 0x0154, 0x4F49, 0x0FAC, 0x16CE, 0xCFA2, 0xDA06, 0x7963, 0x821D, 0x749D, 0x236C, 0x76EE, 0xEB6C, 0x0042, 0xB885, 0x71A4, 0x7852, 0xF579, 0xC125, 0xEE02, 0xB9AF, 0x51CE, 0x2A0A, 0x37F0, 0xDBB7, 0x101C, 0x4E6A, 0x1F74, 0xDCB7, 0xD199, 0x1536, 0x0E0D, 0xA5C6, 0x2C82, 0xDDCE, 0x72BC, 0xF902, 0x77E6, 0xB955, 0x4887, 0x6819, 0x122E, 0x95EA, 0xD52E, 0x7A7B, 0x18A0, 0x2EEC, 0xEBF9, 0x8CF4, 0xB455, 0xB949, 0x9041, 0x7CAF, 0x84DA, 0xF3E2, 0x3B4E, 0x9F5B, 0xE657, 0x72FA, 0xBA99, 0xA0C6, 0x1A87, 0x79E6, 0xF7D1, 0xEC34, 0x99CE, 0x5B76, 0x2FB9, 0x18EB, 0x8E94, 0x7EFF, 0xF5CE, 0x5181, 0xCBBF, 0x1DD3, 0x45FF, 0x41C6, 0x1F0D, 0xB820, 0xB6EB, 0xA78D, 0x65D0, 0x314B, 0xD6C0, 0xFFDB, 0x9325, 0x74C3, 0xF1F2, 0x3223, 0x6020, 0xA588, 0xC279, 0xE1EE, 0x856D, 0xDE04, 0xF131, 0x478C, 0x926B, 0x5910, 0xC6AC, 0xA1ED, 0x79E9, 0x9245, 0x4EC4, 0xC416, 0xD1F2, 0x9F0C, 0xF110, 0x8A33, 0x44A9, 0x6FA8, 0x9D87, 0x4F87, 0x5F17, 0x1918, 0x89F6, 0xAC29, 0x6B62, 0x82FC, 0x9A29, 0xAE6B, 0x2476, 0x1BD7, 0x1DA2, 0xA07D, 0xD4B9, 0xFC10, 0xD9D1, 0x487D, 0x4311, 0x294E, 0xF12F, 0x0653, 0xF910, 0xA031, 0xE78F, 0x75B4, 0xF4CA, 0x48B1, 0x0FDF, 0xFF84, 0xE3A6, 0x751B, 0x6419, 0xBA92, 0xD79E, 0x2EAF, 0x9BC9, 0x1859, 0x7A24, 0x326E, 0x0337, 0xAFAC, 0xA62F, 0xE3FD, 0xEFEA, 0xD07D, 0x2A72, 0xCFF3, 0x3ECD, 0xF6DC, 0x5429, 0xE691, 0x3FA9, 0x8947, 0x8E22, 0x8033, 0xCB53, 0x481C, 0x2F6B, 0x9D6E, 0xE9C2, 0xEEF2, 0x7418, 0xA382, 0xAF41, 0x9733, 0x5B84, 0x5588, 0x337D, 0xC531, 0xE51B, 0xBF11, 0xE341, 0x081B, 0x8AE7, 0xBEE7, 0xC4FA, 0x3277, 0x2B01, 0xFA5B, 0x2011, 0xA5A1, 0x043F, 0xDCCC, 0x96E3, 0xE981, 0xE507, 0x52F6, 0xCA31, 0x6F33, 0x740E, 0x9C83, 0x06CD, 0x8915, 0x2957, 0xF1A1, 0xF3BC, 0x917B, 0x8BC1, 0x5C17, 0xF269, 0xC71A, 0x3BC3, 0xF302, 0xA816, 0x2A7F, 0xC88F, 0x5E73, 0x8D3C, 0x2C81, 0x4E81, 0x9D46, 0x4866, 0x6645, 0xCB93, 0x4CF2, 0x0D7D, 0xF60D, 0xD9B1, 0x0377, 0x620D, 0xCC2C, 0x8C9A, 0x1CD5, 0x05DF, 0xE58B, 0x541C, 0x0FB9, 0x5ED1, 0x98C7, 0xC0D3, 0x6938, 0xBA2F, 0xC92D, 0x653F, 0xBF09, 0x3763, 0x201B, 0x4B78, 0x867A, 0x9A41, 0xD387, 0xC3CE, 0x84C0, 0x3A9B, 0x6CED, 0x11FE, 0xCC80, 0x695D, 0x8457, 0x8B23, 0xA069, 0xEC50, 0xBF26, 0x18DE, 0x0D4B, 0xB1BF, 0x2DAF, 0x0237, 0x0FBB, 0x55F5, 0xFAC6, 0xFF68, 0xF38E, 0x2829, 0x571C, 0x249A, 0xC3E6, 0xFF89, 0x4352, 0x1725, 0xF2FD, 0xFB06, 0xDADA, 0xC578, 0xE2E7, 0xAF68, 0xBCB0, 0x0DFB, 0xC347, 0x778B, 0x363E, 0x90B9, 0x9956, 0x9FBC, 0x07AB, 0x34E0, 0x4195, 0xF730, 0x0B71, 0x5125, 0xF03D, 0x094B, 0x2337, 0x50A6, 0x2B5B, 0x2150, 0x6B04, 0x4251, 0x9DA9, 0x095F, 0x0155, 0x657F, 0xD174, 0x0ECA, 0xC64B, 0xF078, 0x76D1, 0x7397, 0x4D9B, 0x09AB, 0x11E9, 0x9DA0, 0x6ED1, 0xBFF8, 0xCD1E, 0x305E, 0x372E, 0x44E5, 0x69D7, 0x924C, 0x76F4, 0x6123, 0x9CCA, 0x81B1, 0x2336, 0x3AD0, 0x6CED, 0xAB6D, 0xB55E, 0xED22, 0x08B1, 0x37F8, 0x2FA5, 0xF6AD, 0x049F, 0xE523, 0x3B14, 0x8C57, 0xEAAE, 0x7DEB, 0x7FD4, 0x1D29, 0x281D, 0x9433, 0xD581, 0x0FD1, 0x9206, 0xCC01, 0x708F, 0x2C85, 0x4BEB, 0x8CEA, 0xDB6C, 0xBE40, 0x93CB, 0xEEA6, 0xC2B2, 0x20E1, 0x21DD, 0xFE9C, 0xDD0E, 0xB448, 0x2940, 0x014D, 0x6D41, 0x9F9F, 0xA996, 0x8189, 0x7709, 0x6542, 0x767F, 0x6B4A, 0x27C3, 0xDFD7, 0xA932, 0x6438, 0x58CB, 0x888E, 0x90B4, 0xA477, 0xA4F2, 0xDE9D, 0x15BE, 0xCA2E, 0xDFF5, 0xE10F, 0xFA1C, 0x273F, 0x7A13, 0xDA0E, 0x44EB, 0x52CA, 0x11AE, 0xA678, 0xBD63, 0x20FF, 0x529D, 0x461F, 0xECFC, 0x04A4, 0x532C, 0x16D6, 0x3B6E, 0x194C, 0xEBD3, 0xA746, 0x7562, 0x7B92, 0xA3B3, 0x653C, 0x6D8B, 0x83FF, 0xF4D5, 0x897A, 0x1AA4, 0x020C, 0x2403, 0x1E2E, 0xA382, 0xA2AE, 0xB775, 0x9F79, 0x3D58, 0x4BA3, 0x8173, 0x2B69, 0x2FF6, 0x0D7D, 0x6386, 0x6C82, 0x655D, 0x50AF, 0x6979, 0x5C9F, 0xAB2B, 0x9BBE, 0x9748, 0xA0A5, 0x667C, 0x5472, 0x386C, 0xB550, 0x886D, 0xB830, 0xC05C, 0x7632, 0x9E5C, 0xC203, 0xB6D0, 0x6B2A, 0x5C1F, 0x27BA, 0xEB7B, 0x9915, 0xEDE7, 0xEAF5, 0x6C6F, 0x4DD4, 0x4218, 0xF9E4, 0xCAD1, 0xB64A, 0x7BDA, 0xB58C, 0xA6CD, 0x152C, 0x815A, 0x937D, 0xE25C, 0xB279, 0xAE4E, 0xAA21, 0x02F3, 0x1E4A, 0x3149, 0xB4CA, 0xBCD1, 0x6E23, 0x7025, 0x0A9C, 0x875B, 0x4E25, 0xD1D7, 0x8704, 0x4D0B, 0x4254, 0xEEF4, 0x4C70, 0x19A2, 0x7FD7, 0x007E, 0x9A12, 0x2E5C, 0xB699, 0xDCB2, 0x5C65, 0x5AD9, 0x16DC, 0x6270, 0xAA75, 0x144D, 0xF43F, 0xFC26, 0x535A, 0x39CA, 0xAD57, 0xD107, 0xBE87, 0x41BF, 0x1921, 0xD5F3, 0xA68F, 0x9A05, 0x9532, 0xB9BF, 0xEF8B, 0xC23B, 0xEB67, 0x10D1, 0x0BD3, 0x0289, 0x8054, 0x38AA, 0xF532, 0x72CC, 0x44D2, 0xAB26, 0xE3C6, 0x0B01, 0x1378, 0xD852, 0xA2A1, 0xA0B7, 0xC106, 0x312D, 0x425B, 0x6D09, 0x33D1, 0x6996, 0x844C, 0x1CBB, 0xC74E, 0xCFF9, 0xE062, 0x880F, 0x1731, 0xD01A, 0x1167, 0x06FC, 0x40D4, 0x9569, 0x25CA, 0x40E0, 0x471C, 0x179F, 0x8905, 0x8A8F, 0xA205, 0x89A7, 0xC3DB, 0x9D8B, 0x9D13, 0x972A, 0x53E7, 0x28A1, 0x17E4, 0xF671, 0x97DD, 0xF481, 0x88EC, 0x6EEB, 0x798C, 0xD97F, 0x14B1, 0xBBDC, 0xE35F, 0x539D, 0x78CE, 0xCBD1, 0xA1D5, 0xE39F, 0xB2E5, 0x6DEF, 0x7BC5, 0x55D6, 0x5AF9, 0x52FC, 0x073A, 0x4183, 0x188B, 0x117C, 0x0D00, 0x0ED1, 0xBA1E, 0xDF71, 0x0002, 0x1BE6, 0xEC5C, 0x12FE, 0x0BB9, 0xDE5A, 0xDB6C, 0xD50B, 0xAF87, 0xCF2B, 0xC8BB, 0xB1A9, 0x24FD, 0x36F1, 0xB09D, 0x46D5, 0xFD59, 0xE9DF, 0xAF09, 0xFD82, 0x08C5, 0xE260, 0x026C, 0x5403, 0x4498, 0x8250, 0xE038, 0xE6A8, 0xF838, 0xB8EF, 0xCAF5, 0xBFBB, 0xF041, 0x8C17, 0x8ACE, 0x519F, 0x3B05, 0x309F, 0xCFCA, 0x71F6, 0xC769, 0x0F7C, 0x9D68, 0x9882, 0x52B7, 0x56DC, 0xDC07, 0x7E93, 0xACE7, 0x78B0, 0x1BAF, 0x9007, 0x1CD6, 0xF7DB, 0x344B, 0x4283, 0x1025, 0x50BA, 0x6D0F, 0xA2C7, 0xC803, 0x055A, 0x8B80, 0x0474, 0xE319, 0x435C, 0x2F42, 0x96A9, 0x4CEC, 0x663A, 0x36E0, 0x318F, 0xF7EA, 0x01C9, 0x1016, 0xD824, 0xE568, 0x9BBE, 0x51AC, 0xC4D3, 0xD4F6, 0x2CAD, 0xD5D5, 0x73D6, 0x25AD, 0x1AB0, 0xEB56, 0x106C, 0x92D0, 0x8A6F, 0x2D77, 0x55B5, 0x2459, 0x08C1, 0xA3C6, 0x8C38, 0x3680, 0x16FA, 0x61C5, 0x9B14, 0xD5B9, 0x50B3, 0x1A9F, 0x3297, 0xB625, 0xA1FB, 0xE164, 0x3858, 0x9577, 0x0AAC, 0xE4C3, 0x2139, 0x1363, 0xF06E, 0xB0BA, 0xC919, 0x8F1C, 0x7400, 0x48F1, 0xF974, 0xF2EA, 0xD561, 0x4637, 0x8063, 0x458E, 0xCD3F, 0x0D9A, 0xF4BC, 0xC753, 0x0D93, 0xA10D, 0x2931, 0x31D2, 0xFED2, 0xA504, 0x95E3, 0x6B47, 0x6A7C, 0xC4D5, 0xDBF6, 0x7702, 0x99F1, 0x5B17, 0x1F58, 0x11ED, 0xFF6B, 0xC68C, 0x0700, 0x1F30, 0x446E, 0xD14C, 0xD364, 0xAA5C, 0x5726, 0xFAE4, 0xBD59, 0xA969, 0xB853, 0x7CB1, 0x209A, 0x567D, 0x8568, 0x1885, 0x2EC4, 0x363D, 0x5FB6, 0xDCBF, 0x7F51, 0x7623, 0x8ED9, 0x6CB1, 0x4857, 0xEB6B, 0x07CE, 0xFEC0, 0xCBAA, 0xD4CD, 0xF6B9, 0xEC45, 0x907D, 0xB46C, 0x3520, 0x7D5D, 0x4C32, 0x46AE, 0xF016, 0x0403, 0x1512, 0x2412, 0xE124, 0x0E71, 0xB810, 0x42EE, 0x707D, 0x32D3, 0x95C4, 0x43CF, 0x6915, 0x7CAD, 0x25C7, 0x4DA3, 0x00D9, 0xE535, 0x7C9F, 0xC165, 0x7689, 0x36DE, 0x4206, 0xFDA9, 0xF1E3, 0x8BDC, 0x0148, 0x5448, 0x434E, 0x0594, 0xCA0B, 0x2023, 0xED46, 0x5319, 0x4846, 0x4629, 0xC760, 0x67C8, 0xE6BE, 0xE219, 0x7F4C, 0xB630, 0xBB09, 0x1A4E, 0xF579, 0x425B, 0x0B08, 0x1CFA, 0xD15A, 0x1749, 0xEDEB, 0xA65E, 0x5F40, 0xEA37, 0xD804, 0x9AC3, 0x1925, 0xEA4E, 0x805F, 0x916A, 0x986F, 0x7262, 0xD9D7, 0xABB9, 0x0B33, 0xDEDF, 0xCB28, 0x9280, 0x488B, 0x9EE6, 0xD9D8, 0x2920, 0x4757, 0x5F0E, 0xDD0D, 0xA4EC, 0x5867, 0xE5D5, 0x4218, 0x3586, 0x65AA, 0xFF9B, 0xEF3E, 0x3A63, 0x3760, 0x694D, 0x057A, 0x5782, 0xD449, 0xA613, 0xEAF4, 0x8B3E, 0x60CA, 0xBAFD, 0xE5A4, 0xE3C4, 0xB3F0, 0xE213, 0xB152, 0xD5AE, 0xCAA7, 0x4A37, 0x6424, 0x214C, 0x2B06, 0x2554, 0xEE73, 0xC58A, 0xE858, 0x10D0, 0x0841, 0x4346, 0x8D02, 0x9F0D, 0xAA08, 0xB5CD, 0xCC24, 0x2A54, 0x2EF2, 0x0DE9, 0xAA51, 0x5C68, 0x7B00, 0x7889, 0xC46B, 0x95F7, 0x9BBE, 0x8024, 0x4482, 0x7D53, 0x7350, 0x10A9, 0x6682, 0x8667, 0xB143, 0xCF05, 0xD8B4, 0xE13C, 0x0FDB, 0x13FF, 0x3F03, 0x24B3, 0x0137, 0x317C, 0x29A9, 0x7BB5, 0x62EB, 0xE4E7, 0x391D, 0x6A56, 0x2033, 0x2274, 0xF302, 0x1988, 0x2AA7, 0x19F3, 0x48E6, 0xF093, 0xF9B0, 0x2AA0, 0x20F0, 0x0B8A, 0xEA40, 0x29D7, 0x6BAA, 0xEB25, 0x6252, 0xD6C9, 0xCB01, 0xB70A, 0xFDB6, 0xFDD2, 0x68A6, 0x2DDD, 0x443E, 0xF997, 0xE403, 0xFAAD, 0x7FF4, 0x7C50, 0xA87B, 0x6496, 0x97C9, 0x7C81, 0xC0F9, 0xA9AD, 0xF432, 0xFF8E, 0xD391, 0xC77E, 0xA083, 0x3CFE, 0x12A5, 0x371A, 0x4203, 0x2242, 0x7C2A, 0x6780, 0x4D31, 0x1FC1, 0x5E3C, 0xFD1B, 0xE165, 0x0109, 0x10CF, 0xF2E6, 0x1C92, 0xE3BB, 0x1785, 0x83FB, 0x0B71, 0x50BA, 0x8218, 0x5C18 }; int seq_checkref = 0xC77A; main(ac, av) int ac; char **av; { char file_name[132]; int frame_num, ngot, frame_checksum, seq_checksum=0, pel; FILE *file_ptr; for(frame_num=1, seq_checksum=0; frame_num <= NUM_FRAMES; frame_num++) { if((file_ptr = fopen(sprintf(file_name, "%s_%04d.yuv", FNAME_BASE, frame_num), "r")) == NULL) printf("ERROR: Unable to open file (%s)\n", file_name); else{ if((ngot = fread(image, sizeof(char), T_TSIZE, file_ptr)) != T_TSIZE) if(ngot > 0) printf("ERROR: Read only %d (rather than %d) bytes from file (%s)\n", ngot, T_TSIZE, file_name); else printf("ERROR: Cannot read file (%s)\n", file_name); else{ for(pel=frame_checksum=0; pel