int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. MSG msg; HACCEL hAccelTable; int w, h; int quant = 0, coEff = 0; if(SQUARE == 1) { w = WIDTH; h = HEIGHT; } else if(RECTANGULAR == 1) { w = WIDTH; h = HEIGHT; } char ImagePath[_MAX_PATH]; sscanf(lpCmdLine, "%s %d %d", &ImagePath, &quant, &coEff); if(SQUARE == 1) { w = 512; h = 512; } else if(RECTANGULAR == 1) { w = 352; h = 288; } myImage.setWidth(w); myImage.setHeight(h); myImage.setQuant(quant); myImage.setCoEff(coEff); myImage.setImagePath(ImagePath); myImage.FillInputRGBSpace(); myImage.GrayScale2YUV(); if(DCT_ACTIVE == 1) myImage.DCTBasedCompDecomp(); if(IDCT_ACTIVE == 1) { remove("zigzag.txt"); myImage.IDCTBasedCompDecomp(); } myImage.YUV2RGB(); if(TESTZIGZAG == 1) { remove("test.txt"); myImage.TestZigTheZag(); } // Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_IMAGE, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // Perform application initialization: if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_IMAGE); // Main message loop: while (GetMessage(&msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return msg.wParam; }