121 |
/* <=qcif must be used */ |
/* <=qcif must be used */ |
122 |
{ "Simple @ L1", 0x01, 176, 144, 15, 4, 198, 99, 1485, 100, 10*16368, 2048, 64000, 0, -1, PROFILE_S|PROFILE_ADAPTQUANT }, |
{ "Simple @ L1", 0x01, 176, 144, 15, 4, 198, 99, 1485, 100, 10*16368, 2048, 64000, 0, -1, PROFILE_S|PROFILE_ADAPTQUANT }, |
123 |
{ "Simple @ L2", 0x02, 352, 288, 15, 4, 792, 396, 5940, 100, 40*16368, 4096, 128000, 0, -1, PROFILE_S|PROFILE_ADAPTQUANT }, |
{ "Simple @ L2", 0x02, 352, 288, 15, 4, 792, 396, 5940, 100, 40*16368, 4096, 128000, 0, -1, PROFILE_S|PROFILE_ADAPTQUANT }, |
124 |
{ "Simple @ L3", 0x03, 352, 288, 15, 4, 792, 396, 11880, 100, 40*16368, 8192, 384000, 0, -1, PROFILE_S|PROFILE_ADAPTQUANT }, |
{ "Simple @ L3", 0x03, 352, 288, 30, 4, 792, 396, 11880, 100, 40*16368, 8192, 384000, 0, -1, PROFILE_S|PROFILE_ADAPTQUANT }, |
125 |
|
/* From ISO/IEC 14496-2:2004/FPDAM 2: New Levels for Simple Profile */ |
126 |
|
{ "Simple @ L4a", 0x04, 640, 480, 30, 4, 2400, 1200, 36000, 100, 80*16368, 16384, 4000000, 0, -1, PROFILE_S|PROFILE_ADAPTQUANT }, |
127 |
|
{ "Simple @ L5", 0x05, 720, 576, 30, 4, 3240, 1620, 40500, 100, 112*16368, 16384, 8000000, 0, -1, PROFILE_S|PROFILE_ADAPTQUANT }, |
128 |
|
/* From ISO/IEC 14496-2:2004/FPDAM 4: Simple profile level 6 */ |
129 |
|
{ "Simple @ L6", 0x06, 1280, 720, 30, 4, 7200, 3600, 108000, 100, 248*16368, 16384,12000000, 0, -1, PROFILE_S|PROFILE_ADAPTQUANT }, |
130 |
|
|
131 |
#if 0 /* since rrv encoding is no longer support, these profiles have little use */ |
#if 0 /* since rrv encoding is no longer support, these profiles have little use */ |
132 |
{ "ARTS @ L1", 0x91, 176, 144, 15, 4, 198, 99, 1485, 100, 10*16368, 8192, 64000, 0, -1, PROFILE_ARTS }, |
{ "ARTS @ L1", 0x91, 176, 144, 15, 4, 198, 99, 1485, 100, 10*16368, 8192, 64000, 0, -1, PROFILE_ARTS }, |
551 |
#define UINT_BUF_SZ 20 |
#define UINT_BUF_SZ 20 |
552 |
static int config_get_cbuint(HWND hDlg, UINT item, int def) |
static int config_get_cbuint(HWND hDlg, UINT item, int def) |
553 |
{ |
{ |
554 |
int sel = SendMessage(GetDlgItem(hDlg, item), CB_GETCURSEL, 0, 0); |
LRESULT sel = SendMessage(GetDlgItem(hDlg, item), CB_GETCURSEL, 0, 0); |
555 |
char buf[UINT_BUF_SZ]; |
char buf[UINT_BUF_SZ]; |
556 |
|
|
557 |
if (sel<0) { |
if (sel<0) { |
708 |
|
|
709 |
/* quantization matrix dialog proc */ |
/* quantization matrix dialog proc */ |
710 |
|
|
711 |
static BOOL CALLBACK quantmatrix_proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) |
static INT_PTR CALLBACK quantmatrix_proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) |
712 |
{ |
{ |
713 |
CONFIG* config = (CONFIG*)GetWindowLongPtr(hDlg, GWLP_USERDATA); |
CONFIG* config = (CONFIG*)GetWindowLongPtr(hDlg, GWLP_USERDATA); |
714 |
|
|
777 |
SendDlgItemMessage(hDlg, IDC_QUANTTYPE, CB_ADDSTRING, 0, (LPARAM)"H.263"); |
SendDlgItemMessage(hDlg, IDC_QUANTTYPE, CB_ADDSTRING, 0, (LPARAM)"H.263"); |
778 |
SendDlgItemMessage(hDlg, IDC_QUANTTYPE, CB_ADDSTRING, 0, (LPARAM)"MPEG"); |
SendDlgItemMessage(hDlg, IDC_QUANTTYPE, CB_ADDSTRING, 0, (LPARAM)"MPEG"); |
779 |
SendDlgItemMessage(hDlg, IDC_QUANTTYPE, CB_ADDSTRING, 0, (LPARAM)"MPEG-Custom"); |
SendDlgItemMessage(hDlg, IDC_QUANTTYPE, CB_ADDSTRING, 0, (LPARAM)"MPEG-Custom"); |
780 |
|
|
781 |
|
SendDlgItemMessage(hDlg, IDC_LUMMASK, CB_ADDSTRING, 0, (LPARAM)"Off"); |
782 |
|
SendDlgItemMessage(hDlg, IDC_LUMMASK, CB_ADDSTRING, 0, (LPARAM)"Luminance-Masking"); |
783 |
|
SendDlgItemMessage(hDlg, IDC_LUMMASK, CB_ADDSTRING, 0, (LPARAM)"Variance-Masking"); |
784 |
break; |
break; |
785 |
|
|
786 |
case IDD_AR: |
case IDD_AR: |
1132 |
SendDlgItemMessage(hDlg, IDC_PROFILE_PROFILE, CB_SETCURSEL, config->profile, 0); |
SendDlgItemMessage(hDlg, IDC_PROFILE_PROFILE, CB_SETCURSEL, config->profile, 0); |
1133 |
|
|
1134 |
SendDlgItemMessage(hDlg, IDC_QUANTTYPE, CB_SETCURSEL, config->quant_type, 0); |
SendDlgItemMessage(hDlg, IDC_QUANTTYPE, CB_SETCURSEL, config->quant_type, 0); |
1135 |
CheckDlg(hDlg, IDC_LUMMASK, config->lum_masking); |
SendDlgItemMessage(hDlg, IDC_LUMMASK, CB_SETCURSEL, config->lum_masking, 0); |
1136 |
CheckDlg(hDlg, IDC_INTERLACING, config->interlacing); |
CheckDlg(hDlg, IDC_INTERLACING, config->interlacing); |
1137 |
CheckDlg(hDlg, IDC_TFF, config->tff); |
CheckDlg(hDlg, IDC_TFF, config->tff); |
1138 |
CheckDlg(hDlg, IDC_QPEL, config->qpel); |
CheckDlg(hDlg, IDC_QPEL, config->qpel); |
1308 |
config->profile = SendDlgItemMessage(hDlg, IDC_PROFILE_PROFILE, CB_GETCURSEL, 0, 0); |
config->profile = SendDlgItemMessage(hDlg, IDC_PROFILE_PROFILE, CB_GETCURSEL, 0, 0); |
1309 |
|
|
1310 |
config->quant_type = SendDlgItemMessage(hDlg, IDC_QUANTTYPE, CB_GETCURSEL, 0, 0); |
config->quant_type = SendDlgItemMessage(hDlg, IDC_QUANTTYPE, CB_GETCURSEL, 0, 0); |
1311 |
config->lum_masking = IsDlgChecked(hDlg, IDC_LUMMASK); |
config->lum_masking = SendDlgItemMessage(hDlg, IDC_LUMMASK, CB_GETCURSEL, 0, 0); |
1312 |
config->interlacing = IsDlgChecked(hDlg, IDC_INTERLACING); |
config->interlacing = IsDlgChecked(hDlg, IDC_INTERLACING); |
1313 |
config->tff = IsDlgChecked(hDlg, IDC_TFF); |
config->tff = IsDlgChecked(hDlg, IDC_TFF); |
1314 |
config->qpel = IsDlgChecked(hDlg, IDC_QPEL); |
config->qpel = IsDlgChecked(hDlg, IDC_QPEL); |
1475 |
break; |
break; |
1476 |
|
|
1477 |
case IDD_ENC : |
case IDD_ENC : |
1478 |
config->num_threads = config_get_uint(hDlg, IDC_NUMTHREADS, config->num_threads); |
config->num_threads = min(4, config_get_uint(hDlg, IDC_NUMTHREADS, config->num_threads)); |
1479 |
config->fourcc_used = SendDlgItemMessage(hDlg, IDC_FOURCC, CB_GETCURSEL, 0, 0); |
config->fourcc_used = SendDlgItemMessage(hDlg, IDC_FOURCC, CB_GETCURSEL, 0, 0); |
1480 |
config->vop_debug = IsDlgChecked(hDlg, IDC_VOPDEBUG); |
config->vop_debug = IsDlgChecked(hDlg, IDC_VOPDEBUG); |
1481 |
config->display_status = IsDlgChecked(hDlg, IDC_DISPLAY_STATUS); |
config->display_status = IsDlgChecked(hDlg, IDC_DISPLAY_STATUS); |
1496 |
|
|
1497 |
/* advanced dialog proc */ |
/* advanced dialog proc */ |
1498 |
|
|
1499 |
static BOOL CALLBACK adv_proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) |
static INT_PTR CALLBACK adv_proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) |
1500 |
{ |
{ |
1501 |
PROPSHEETINFO *psi; |
PROPSHEETINFO *psi; |
1502 |
|
|
1927 |
static const int other_dlgs[] = { IDD_ENC, IDD_DEC, IDD_COMMON }; |
static const int other_dlgs[] = { IDD_ENC, IDD_DEC, IDD_COMMON }; |
1928 |
|
|
1929 |
|
|
1930 |
BOOL CALLBACK main_proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) |
INT_PTR CALLBACK main_proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) |
1931 |
{ |
{ |
1932 |
CONFIG* config = (CONFIG*)GetWindowLongPtr(hDlg, GWLP_USERDATA); |
CONFIG* config = (CONFIG*)GetWindowLongPtr(hDlg, GWLP_USERDATA); |
1933 |
unsigned int i; |
unsigned int i; |
1967 |
EnumChildWindows(hDlg, enum_tooltips, 0); |
EnumChildWindows(hDlg, enum_tooltips, 0); |
1968 |
} |
} |
1969 |
|
|
1970 |
SetClassLongPtr(GetDlgItem(hDlg, IDC_BITRATE_S), GCLP_HCURSOR, (LONG)LoadCursor(NULL, IDC_HAND)); |
SetClassLongPtr(GetDlgItem(hDlg, IDC_BITRATE_S), GCLP_HCURSOR, (LONG_PTR)LoadCursor(NULL, IDC_HAND)); |
1971 |
|
|
1972 |
{ |
{ |
1973 |
DWORD ext_style = ListView_GetExtendedListViewStyle(GetDlgItem(hDlg,IDC_ZONES)); |
DWORD ext_style = ListView_GetExtendedListViewStyle(GetDlgItem(hDlg,IDC_ZONES)); |
2240 |
/* LICENSE DIALOG ====================================================================== */ |
/* LICENSE DIALOG ====================================================================== */ |
2241 |
/* ===================================================================================== */ |
/* ===================================================================================== */ |
2242 |
|
|
2243 |
static BOOL CALLBACK license_proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) |
static INT_PTR CALLBACK license_proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) |
2244 |
{ |
{ |
2245 |
switch (uMsg) |
switch (uMsg) |
2246 |
{ |
{ |
2258 |
} |
} |
2259 |
} |
} |
2260 |
} |
} |
2261 |
SetWindowLongPtr(hDlg, GWLP_USERDATA, (LONG)hGlobal); |
SetWindowLongPtr(hDlg, GWLP_USERDATA, (LONG_PTR)hGlobal); |
2262 |
} |
} |
2263 |
break; |
break; |
2264 |
|
|
2296 |
/* ABOUT DIALOG ======================================================================== */ |
/* ABOUT DIALOG ======================================================================== */ |
2297 |
/* ===================================================================================== */ |
/* ===================================================================================== */ |
2298 |
|
|
2299 |
BOOL CALLBACK about_proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) |
INT_PTR CALLBACK about_proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) |
2300 |
{ |
{ |
2301 |
switch (uMsg) |
switch (uMsg) |
2302 |
{ |
{ |
2309 |
HINSTANCE m_hdll; |
HINSTANCE m_hdll; |
2310 |
|
|
2311 |
SetDlgItemText(hDlg, IDC_BUILD, XVID_BUILD); |
SetDlgItemText(hDlg, IDC_BUILD, XVID_BUILD); |
2312 |
SetDlgItemText(hDlg, IDC_SPECIAL_BUILD, XVID_SPECIAL_BUILD); |
#ifdef _WIN64 |
2313 |
|
wsprintf(core, "(%s, 64-bit Edition)", XVID_SPECIAL_BUILD); |
2314 |
|
#else |
2315 |
|
wsprintf(core, "(%s)", XVID_SPECIAL_BUILD); |
2316 |
|
#endif |
2317 |
|
SetDlgItemText(hDlg, IDC_SPECIAL_BUILD, core); |
2318 |
|
|
2319 |
memset(&info, 0, sizeof(info)); |
memset(&info, 0, sizeof(info)); |
2320 |
info.version = XVID_VERSION; |
info.version = XVID_VERSION; |
2349 |
} |
} |
2350 |
} |
} |
2351 |
|
|
2352 |
SetClassLongPtr(GetDlgItem(hDlg, IDC_WEBSITE), GCLP_HCURSOR, (LONG)LoadCursor(NULL, IDC_HAND)); |
SetClassLongPtr(GetDlgItem(hDlg, IDC_WEBSITE), GCLP_HCURSOR, (LONG_PTR)LoadCursor(NULL, IDC_HAND)); |
2353 |
SetDlgItemText(hDlg, IDC_WEBSITE, XVID_WEBSITE); |
SetDlgItemText(hDlg, IDC_WEBSITE, XVID_WEBSITE); |
2354 |
} |
} |
2355 |
break; |
break; |
2358 |
{ |
{ |
2359 |
SetBkMode((HDC)wParam, TRANSPARENT) ; |
SetBkMode((HDC)wParam, TRANSPARENT) ; |
2360 |
SetTextColor((HDC)wParam, RGB(0x00,0x00,0xc0)); |
SetTextColor((HDC)wParam, RGB(0x00,0x00,0xc0)); |
2361 |
return (BOOL)GetStockObject(NULL_BRUSH); |
return (INT_PTR)GetStockObject(NULL_BRUSH); |
2362 |
} |
} |
2363 |
return 0; |
return 0; |
2364 |
|
|