[svn] / trunk / xvidcore / vfw / src / config.c Repository:
ViewVC logotype

Diff of /trunk/xvidcore/vfw/src/config.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1913, Sat Dec 18 16:02:08 2010 UTC revision 1914, Tue Dec 21 16:56:42 2010 UTC
# Line 19  Line 19 
19   *      along with this program; if not, write to the Free Software   *      along with this program; if not, write to the Free Software
20   *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.   *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21   *   *
22   * $Id: config.c,v 1.41 2010-12-02 06:46:07 Isibaar Exp $   * $Id: config.c,v 1.42 2010-12-21 16:56:42 Isibaar Exp $
23   *   *
24   *************************************************************************/   *************************************************************************/
25    
# Line 248  Line 248 
248          /* motion */          /* motion */
249          {"motion_search",                       &reg.quality_user.motion_search,                                6},          {"motion_search",                       &reg.quality_user.motion_search,                                6},
250          {"vhq_mode",                            &reg.quality_user.vhq_mode,                                     1},          {"vhq_mode",                            &reg.quality_user.vhq_mode,                                     1},
251            {"vhq_metric",                          &reg.quality_user.vhq_metric,                           0},
252          {"vhq_bframe",                          &reg.quality_user.vhq_bframe,                           0},          {"vhq_bframe",                          &reg.quality_user.vhq_bframe,                           0},
253          {"chromame",                            &reg.quality_user.chromame,                                     1},          {"chromame",                            &reg.quality_user.chromame,                                     1},
254          {"turbo",                                       &reg.quality_user.turbo,                                                0},          {"turbo",                                       &reg.quality_user.turbo,                                                0},
# Line 271  Line 272 
272    
273          /* smp */          /* smp */
274          {"num_threads",                         &reg.num_threads,                               0},          {"num_threads",                         &reg.num_threads,                               0},
275            {"num_slices",                          &reg.num_slices,                                1},
276    
277          /* decoder, shared with dshow */          /* decoder, shared with dshow */
278          {"Brightness",                          &pp_brightness,                                 0},          {"Brightness",                          &pp_brightness,                                 0},
# Line 352  Line 354 
354          }          }
355    
356          reg.cpu = info.cpu_flags;          reg.cpu = info.cpu_flags;
357            reg.num_threads = info.num_threads;
358    
359          RegOpenKeyEx(XVID_REG_KEY, XVID_REG_PARENT "\\" XVID_REG_CHILD, 0, KEY_READ, &hKey);          RegOpenKeyEx(XVID_REG_KEY, XVID_REG_PARENT "\\" XVID_REG_CHILD, 0, KEY_READ, &hKey);
360    
# Line 417  Line 420 
420                  memcpy(&config->zones[i], &stmp, sizeof(zone_t));                  memcpy(&config->zones[i], &stmp, sizeof(zone_t));
421          }          }
422    
423            if (config->num_threads == 0)
424                    config->num_threads = info.num_threads; /* old autodetect */
425    
426          RegCloseKey(hKey);          RegCloseKey(hKey);
427  }  }
428    
# Line 819  Line 825 
825                  SendDlgItemMessage(hDlg, IDC_VHQ, CB_ADDSTRING, 0, (LPARAM)"2 - Limited Search");                  SendDlgItemMessage(hDlg, IDC_VHQ, CB_ADDSTRING, 0, (LPARAM)"2 - Limited Search");
826                  SendDlgItemMessage(hDlg, IDC_VHQ, CB_ADDSTRING, 0, (LPARAM)"3 - Medium Search");                  SendDlgItemMessage(hDlg, IDC_VHQ, CB_ADDSTRING, 0, (LPARAM)"3 - Medium Search");
827                  SendDlgItemMessage(hDlg, IDC_VHQ, CB_ADDSTRING, 0, (LPARAM)"4 - Wide Search");                  SendDlgItemMessage(hDlg, IDC_VHQ, CB_ADDSTRING, 0, (LPARAM)"4 - Wide Search");
828    
829                    SendDlgItemMessage(hDlg, IDC_VHQ_METRIC, CB_ADDSTRING, 0, (LPARAM)"0 - PSNR");
830                    SendDlgItemMessage(hDlg, IDC_VHQ_METRIC, CB_ADDSTRING, 0, (LPARAM)"1 - PSNR-HVS-M");
831                  break;                  break;
832    
833          case IDD_ENC :          case IDD_ENC :
# Line 1158  Line 1167 
1167                  EnableDlgWindow(hDlg, IDC_CPU_SSE4,     cpu_force);                  EnableDlgWindow(hDlg, IDC_CPU_SSE4,     cpu_force);
1168          EnableDlgWindow(hDlg, IDC_CPU_3DNOW,    cpu_force);          EnableDlgWindow(hDlg, IDC_CPU_3DNOW,    cpu_force);
1169                  EnableDlgWindow(hDlg, IDC_CPU_3DNOWEXT, cpu_force);                  EnableDlgWindow(hDlg, IDC_CPU_3DNOWEXT, cpu_force);
1170                    EnableDlgWindow(hDlg, IDC_NUMTHREADS,   cpu_force);
1171                    EnableDlgWindow(hDlg, IDC_NUMTHREADS_STATIC,   cpu_force);
1172                  break;                  break;
1173          }          }
1174  }  }
# Line 1263  Line 1274 
1274    
1275                  SendDlgItemMessage(hDlg, IDC_MOTION, CB_SETCURSEL, quality_preset->motion_search, 0);                  SendDlgItemMessage(hDlg, IDC_MOTION, CB_SETCURSEL, quality_preset->motion_search, 0);
1276                  SendDlgItemMessage(hDlg, IDC_VHQ, CB_SETCURSEL, quality_preset->vhq_mode, 0);                  SendDlgItemMessage(hDlg, IDC_VHQ, CB_SETCURSEL, quality_preset->vhq_mode, 0);
1277                    SendDlgItemMessage(hDlg, IDC_VHQ_METRIC, CB_SETCURSEL, quality_preset->vhq_metric, 0);
1278                  CheckDlg(hDlg, IDC_VHQ_BFRAME, quality_preset->vhq_bframe);                  CheckDlg(hDlg, IDC_VHQ_BFRAME, quality_preset->vhq_bframe);
1279                  CheckDlg(hDlg, IDC_CHROMAME, quality_preset->chromame);                  CheckDlg(hDlg, IDC_CHROMAME, quality_preset->chromame);
1280                  CheckDlg(hDlg, IDC_TURBO, quality_preset->turbo);                  CheckDlg(hDlg, IDC_TURBO, quality_preset->turbo);
# Line 1271  Line 1283 
1283    
1284      EnableDlgWindow(hDlg, IDC_MOTION,     userdef);      EnableDlgWindow(hDlg, IDC_MOTION,     userdef);
1285      EnableDlgWindow(hDlg, IDC_VHQ,        userdef);      EnableDlgWindow(hDlg, IDC_VHQ,        userdef);
1286        EnableDlgWindow(hDlg, IDC_VHQ_METRIC, userdef);
1287      EnableDlgWindow(hDlg, IDC_VHQ_BFRAME, userdef);      EnableDlgWindow(hDlg, IDC_VHQ_BFRAME, userdef);
1288      EnableDlgWindow(hDlg, IDC_CHROMAME,   userdef);      EnableDlgWindow(hDlg, IDC_CHROMAME,   userdef);
1289      EnableDlgWindow(hDlg, IDC_TURBO,      userdef);      EnableDlgWindow(hDlg, IDC_TURBO,      userdef);
# Line 1315  Line 1328 
1328                  CheckRadioButton(hDlg, IDC_CPU_AUTO, IDC_CPU_FORCE,                  CheckRadioButton(hDlg, IDC_CPU_AUTO, IDC_CPU_FORCE,
1329                          config->cpu & XVID_CPU_FORCE ? IDC_CPU_FORCE : IDC_CPU_AUTO );                          config->cpu & XVID_CPU_FORCE ? IDC_CPU_FORCE : IDC_CPU_AUTO );
1330                  set_dlgitem_hex(hDlg, IDC_DEBUG, config->debug);                  set_dlgitem_hex(hDlg, IDC_DEBUG, config->debug);
1331                    SetDlgItemInt(hDlg, IDC_NUMTHREADS, config->num_threads, FALSE);
1332      break;      break;
1333    
1334    case IDD_ENC:    case IDD_ENC:
                 SetDlgItemInt(hDlg, IDC_NUMTHREADS, config->num_threads, FALSE);  
1335                  if(profiles[config->profile].flags & PROFILE_XVID)                  if(profiles[config->profile].flags & PROFILE_XVID)
1336                          SendDlgItemMessage(hDlg, IDC_FOURCC, CB_SETCURSEL, 0, 0);                          SendDlgItemMessage(hDlg, IDC_FOURCC, CB_SETCURSEL, 0, 0);
1337                  else                  else
# Line 1474  Line 1487 
1487      if (config->quality==quality_table_num) {      if (config->quality==quality_table_num) {
1488        config->quality_user.motion_search = SendDlgItemMessage(hDlg, IDC_MOTION, CB_GETCURSEL, 0, 0);        config->quality_user.motion_search = SendDlgItemMessage(hDlg, IDC_MOTION, CB_GETCURSEL, 0, 0);
1489                    config->quality_user.vhq_mode = SendDlgItemMessage(hDlg, IDC_VHQ, CB_GETCURSEL, 0, 0);                    config->quality_user.vhq_mode = SendDlgItemMessage(hDlg, IDC_VHQ, CB_GETCURSEL, 0, 0);
1490                      config->quality_user.vhq_metric = SendDlgItemMessage(hDlg, IDC_VHQ_METRIC, CB_GETCURSEL, 0, 0);
1491                    config->quality_user.vhq_bframe = IsDlgButtonChecked(hDlg, IDC_VHQ_BFRAME);                    config->quality_user.vhq_bframe = IsDlgButtonChecked(hDlg, IDC_VHQ_BFRAME);
1492                    config->quality_user.chromame = IsDlgChecked(hDlg, IDC_CHROMAME);                    config->quality_user.chromame = IsDlgChecked(hDlg, IDC_CHROMAME);
1493                    config->quality_user.turbo = IsDlgChecked(hDlg, IDC_TURBO);                    config->quality_user.turbo = IsDlgChecked(hDlg, IDC_TURBO);
# Line 1516  Line 1530 
1530                  config->cpu |= IsDlgChecked(hDlg, IDC_CPU_3DNOWEXT) ? XVID_CPU_3DNOWEXT : 0;                  config->cpu |= IsDlgChecked(hDlg, IDC_CPU_3DNOWEXT) ? XVID_CPU_3DNOWEXT : 0;
1531                  config->cpu |= IsDlgChecked(hDlg, IDC_CPU_FORCE)        ? XVID_CPU_FORCE : 0;                  config->cpu |= IsDlgChecked(hDlg, IDC_CPU_FORCE)        ? XVID_CPU_FORCE : 0;
1532      config->debug = get_dlgitem_hex(hDlg, IDC_DEBUG, config->debug);      config->debug = get_dlgitem_hex(hDlg, IDC_DEBUG, config->debug);
1533                    config->num_threads = min(16, config_get_uint(hDlg, IDC_NUMTHREADS, config->num_threads));
1534      break;      break;
1535    
1536    case IDD_ENC :    case IDD_ENC :
                 config->num_threads = min(4, config_get_uint(hDlg, IDC_NUMTHREADS, config->num_threads));  
1537                  if(!(profiles[config->profile].flags & PROFILE_XVID))                  if(!(profiles[config->profile].flags & PROFILE_XVID))
1538                    config->fourcc_used = SendDlgItemMessage(hDlg, IDC_FOURCC, CB_GETCURSEL, 0, 0);                    config->fourcc_used = SendDlgItemMessage(hDlg, IDC_FOURCC, CB_GETCURSEL, 0, 0);
1539                  config->vop_debug = IsDlgChecked(hDlg, IDC_VOPDEBUG);                  config->vop_debug = IsDlgChecked(hDlg, IDC_VOPDEBUG);

Legend:
Removed from v.1913  
changed lines
  Added in v.1914

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4