853 |
int cpu_force; |
int cpu_force; |
854 |
int custom_quant, bvops; |
int custom_quant, bvops; |
855 |
int ar_mode, ar_par; |
int ar_mode, ar_par; |
856 |
|
int qpel_checked, mot_srch_prec, vhq_enabled, bvhq_enabled; |
857 |
|
|
858 |
switch(idd) { |
switch(idd) { |
859 |
case IDD_PROFILE : |
case IDD_PROFILE : |
1172 |
EnableDlgWindow(hDlg, IDC_NUMTHREADS, cpu_force); |
EnableDlgWindow(hDlg, IDC_NUMTHREADS, cpu_force); |
1173 |
EnableDlgWindow(hDlg, IDC_NUMTHREADS_STATIC, cpu_force); |
EnableDlgWindow(hDlg, IDC_NUMTHREADS_STATIC, cpu_force); |
1174 |
break; |
break; |
1175 |
|
|
1176 |
|
case IDD_MOTION: |
1177 |
|
{ |
1178 |
|
const int userdef = (config->quality==quality_table_num); |
1179 |
|
if (userdef) { |
1180 |
|
bvops = (profiles[config->profile].flags&PROFILE_BVOP) && config->use_bvop; |
1181 |
|
qpel_checked = (profiles[config->profile].flags&PROFILE_QPEL) && config->qpel; |
1182 |
|
mot_srch_prec = SendDlgItemMessage(hDlg, IDC_MOTION, CB_GETCURSEL, 0, 0); |
1183 |
|
vhq_enabled = SendDlgItemMessage(hDlg, IDC_VHQ, CB_GETCURSEL, 0, 0); |
1184 |
|
bvhq_enabled = IsDlgButtonChecked(hDlg, IDC_VHQ_BFRAME); |
1185 |
|
EnableDlgWindow(hDlg, IDC_VHQ, mot_srch_prec); |
1186 |
|
EnableDlgWindow(hDlg, IDC_VHQ_BFRAME, mot_srch_prec && bvops && vhq_enabled); |
1187 |
|
EnableDlgWindow(hDlg, IDC_CHROMAME, mot_srch_prec); |
1188 |
|
EnableDlgWindow(hDlg, IDC_TURBO, mot_srch_prec && (bvops || qpel_checked)); |
1189 |
|
EnableDlgWindow(hDlg, IDC_VHQ_METRIC, mot_srch_prec && (vhq_enabled || bvhq_enabled)); |
1190 |
|
EnableDlgWindow(hDlg, IDC_FRAMEDROP, mot_srch_prec); |
1191 |
|
EnableDlgWindow(hDlg, IDC_MAXKEY, mot_srch_prec); |
1192 |
|
} |
1193 |
|
break; |
1194 |
|
} |
1195 |
} |
} |
1196 |
} |
} |
1197 |
|
|
1294 |
{ |
{ |
1295 |
const int userdef = (config->quality==quality_table_num); |
const int userdef = (config->quality==quality_table_num); |
1296 |
const quality_t* quality_preset = userdef ? &config->quality_user : &quality_table[config->quality]; |
const quality_t* quality_preset = userdef ? &config->quality_user : &quality_table[config->quality]; |
1297 |
|
int bvops = (profiles[config->profile].flags&PROFILE_BVOP) && config->use_bvop; |
1298 |
|
int qpel_checked = (profiles[config->profile].flags&PROFILE_QPEL) && config->qpel; |
1299 |
|
int bvops_qpel_motion = (bvops || qpel_checked) && quality_preset->motion_search; |
1300 |
|
int vhq_or_bvhq = quality_preset->vhq_mode || quality_preset->vhq_bframe; |
1301 |
|
|
1302 |
SendDlgItemMessage(hDlg, IDC_MOTION, CB_SETCURSEL, quality_preset->motion_search, 0); |
SendDlgItemMessage(hDlg, IDC_MOTION, CB_SETCURSEL, quality_preset->motion_search, 0); |
1303 |
SendDlgItemMessage(hDlg, IDC_VHQ, CB_SETCURSEL, quality_preset->vhq_mode, 0); |
SendDlgItemMessage(hDlg, IDC_VHQ, CB_SETCURSEL, quality_preset->vhq_mode, 0); |
1309 |
SetDlgItemInt(hDlg, IDC_MAXKEY, quality_preset->max_key_interval, FALSE); |
SetDlgItemInt(hDlg, IDC_MAXKEY, quality_preset->max_key_interval, FALSE); |
1310 |
|
|
1311 |
EnableDlgWindow(hDlg, IDC_MOTION, userdef); |
EnableDlgWindow(hDlg, IDC_MOTION, userdef); |
1312 |
EnableDlgWindow(hDlg, IDC_VHQ, userdef); |
EnableDlgWindow(hDlg, IDC_VHQ, userdef && quality_preset->motion_search); |
1313 |
EnableDlgWindow(hDlg, IDC_VHQ_METRIC, userdef); |
EnableDlgWindow(hDlg, IDC_VHQ_METRIC, userdef && vhq_or_bvhq); |
1314 |
EnableDlgWindow(hDlg, IDC_VHQ_BFRAME, userdef); |
EnableDlgWindow(hDlg, IDC_VHQ_BFRAME, userdef && bvops); |
1315 |
EnableDlgWindow(hDlg, IDC_CHROMAME, userdef); |
EnableDlgWindow(hDlg, IDC_CHROMAME, userdef && quality_preset->motion_search); |
1316 |
EnableDlgWindow(hDlg, IDC_TURBO, userdef); |
EnableDlgWindow(hDlg, IDC_TURBO, userdef && bvops_qpel_motion); |
1317 |
EnableDlgWindow(hDlg, IDC_FRAMEDROP, userdef); |
EnableDlgWindow(hDlg, IDC_FRAMEDROP, userdef && quality_preset->motion_search); |
1318 |
EnableDlgWindow(hDlg, IDC_MAXKEY, userdef); |
EnableDlgWindow(hDlg, IDC_MAXKEY, userdef && quality_preset->motion_search); |
1319 |
|
|
1320 |
break; |
break; |
1321 |
} |
} |
1322 |
|
|
1738 |
LOWORD(wParam) == IDC_LEVEL_PROFILE || |
LOWORD(wParam) == IDC_LEVEL_PROFILE || |
1739 |
LOWORD(wParam) == IDC_QUANTTYPE || |
LOWORD(wParam) == IDC_QUANTTYPE || |
1740 |
LOWORD(wParam) == IDC_ASPECT_RATIO || |
LOWORD(wParam) == IDC_ASPECT_RATIO || |
1741 |
|
LOWORD(wParam) == IDC_MOTION || |
1742 |
|
LOWORD(wParam) == IDC_VHQ || |
1743 |
LOWORD(wParam) == IDC_BITRATE_CFORMAT || |
LOWORD(wParam) == IDC_BITRATE_CFORMAT || |
1744 |
LOWORD(wParam) == IDC_BITRATE_AFORMAT || |
LOWORD(wParam) == IDC_BITRATE_AFORMAT || |
1745 |
LOWORD(wParam) == IDC_BITRATE_FPS)) { |
LOWORD(wParam) == IDC_BITRATE_FPS)) { |