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

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

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

revision 228, Thu Jun 20 10:51:08 2002 UTC revision 295, Fri Jul 12 12:26:55 2002 UTC
# Line 59  Line 59 
59  #include <commctrl.h>  #include <commctrl.h>
60  #include <shlobj.h>  #include <shlobj.h>
61  #include <prsht.h>  #include <prsht.h>
62    #ifdef _SMP
63    #include <pthread.h>
64    #endif
65    
66  #include "codec.h"  #include "codec.h"
67  #include "config.h"  #include "config.h"
# Line 66  Line 69 
69  #include "resource.h"  #include "resource.h"
70    
71    
72    
73  /* registry info structs */  /* registry info structs */
74    
75  CONFIG reg;  CONFIG reg;
# Line 87  Line 91 
91          {"lum_masking",                         &reg.lum_masking,                               0},          {"lum_masking",                         &reg.lum_masking,                               0},
92          {"interlacing",                         &reg.interlacing,                               0},          {"interlacing",                         &reg.interlacing,                               0},
93  #ifdef BFRAMES  #ifdef BFRAMES
94          {"max_bframes",                         &reg.max_bframes,                               0},          {"max_bframes",                         &reg.max_bframes,                               -1},
95          {"bquant_ratio",                        &reg.bquant_ratio,                              200},          {"bquant_ratio",                        &reg.bquant_ratio,                              200},
96          {"packed",                                      &reg.packed,                                    1},          {"packed",                                      &reg.packed,                                    0},
97  #endif BFRAMES          {"dx50bvop",                            &reg.dx50bvop,                                  0},
98            {"debug",                                       &reg.debug,                                             0},
99    #endif
100    
101          {"min_iquant",                          &reg.min_iquant,                                1},          {"min_iquant",                          &reg.min_iquant,                                1},
102          {"max_iquant",                          &reg.max_iquant,                                31},          {"max_iquant",                          &reg.max_iquant,                                31},
# Line 152  Line 158 
158          XVID_INIT_PARAM init_param;          XVID_INIT_PARAM init_param;
159          int i;          int i;
160    
161          init_param.cpu_flags = 0;          init_param.cpu_flags = XVID_CPU_CHKONLY;
162          xvid_init(0, 0, &init_param, NULL);          xvid_init(0, 0, &init_param, NULL);
163          config->cpu = init_param.cpu_flags;          reg.cpu = init_param.cpu_flags;
164    
165    #ifdef _SMP
166            reg.num_threads = pthread_num_processors_np();
167    #endif
168    
169          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);
170    
# Line 616  Line 626 
626                  SetDlgItemInt(hDlg, IDC_MAXBFRAMES, config->max_bframes, TRUE);                  SetDlgItemInt(hDlg, IDC_MAXBFRAMES, config->max_bframes, TRUE);
627                  SetDlgItemInt(hDlg, IDC_BQUANTRATIO, config->bquant_ratio, FALSE);                  SetDlgItemInt(hDlg, IDC_BQUANTRATIO, config->bquant_ratio, FALSE);
628                  CheckDlgButton(hDlg, IDC_PACKED, config->packed ? BST_CHECKED : BST_UNCHECKED);                  CheckDlgButton(hDlg, IDC_PACKED, config->packed ? BST_CHECKED : BST_UNCHECKED);
629                    CheckDlgButton(hDlg, IDC_DX50BVOP, config->dx50bvop ? BST_CHECKED : BST_UNCHECKED);
630                    CheckDlgButton(hDlg, IDC_DEBUG, config->debug ? BST_CHECKED : BST_UNCHECKED);
631  #endif  #endif
632                  break;                  break;
633    
# Line 701  Line 713 
713                  CheckRadioButton(hDlg, IDC_CPU_AUTO, IDC_CPU_FORCE,                  CheckRadioButton(hDlg, IDC_CPU_AUTO, IDC_CPU_FORCE,
714                          config->cpu & XVID_CPU_FORCE ? IDC_CPU_FORCE : IDC_CPU_AUTO );                          config->cpu & XVID_CPU_FORCE ? IDC_CPU_FORCE : IDC_CPU_AUTO );
715    
716    #ifdef _SMP
717                    SetDlgItemInt(hDlg, IDC_NUMTHREADS, config->num_threads, FALSE);
718    #endif
719    
720                  SetDlgItemInt(hDlg, IDC_CBR_REACTIONDELAY, config->rc_reaction_delay_factor, FALSE);                  SetDlgItemInt(hDlg, IDC_CBR_REACTIONDELAY, config->rc_reaction_delay_factor, FALSE);
721                  SetDlgItemInt(hDlg, IDC_CBR_AVERAGINGPERIOD, config->rc_averaging_period, FALSE);                  SetDlgItemInt(hDlg, IDC_CBR_AVERAGINGPERIOD, config->rc_averaging_period, FALSE);
722                  SetDlgItemInt(hDlg, IDC_CBR_BUFFER, config->rc_buffer, FALSE);                  SetDlgItemInt(hDlg, IDC_CBR_BUFFER, config->rc_buffer, FALSE);
# Line 731  Line 747 
747                  config->max_bframes = config_get_int(hDlg, IDC_MAXBFRAMES, config->max_bframes);                  config->max_bframes = config_get_int(hDlg, IDC_MAXBFRAMES, config->max_bframes);
748                  config->bquant_ratio = config_get_uint(hDlg, IDC_BQUANTRATIO, config->bquant_ratio);                  config->bquant_ratio = config_get_uint(hDlg, IDC_BQUANTRATIO, config->bquant_ratio);
749                  config->packed = ISDLGSET(IDC_PACKED);                  config->packed = ISDLGSET(IDC_PACKED);
750                    config->dx50bvop = ISDLGSET(IDC_DX50BVOP);
751                    config->debug = ISDLGSET(IDC_DEBUG);
752  #endif  #endif
753                  break;                  break;
754    
# Line 844  Line 862 
862                  config->cpu |= ISDLGSET(IDC_CPU_3DNOWEXT) ? XVID_CPU_3DNOWEXT: 0;                  config->cpu |= ISDLGSET(IDC_CPU_3DNOWEXT) ? XVID_CPU_3DNOWEXT: 0;
863                  config->cpu |= ISDLGSET(IDC_CPU_FORCE) ? XVID_CPU_FORCE : 0;                  config->cpu |= ISDLGSET(IDC_CPU_FORCE) ? XVID_CPU_FORCE : 0;
864    
865    #ifdef _SMP
866                    config->num_threads = config_get_uint(hDlg, IDC_NUMTHREADS, config->num_threads);
867    #endif
868    
869                  config->rc_reaction_delay_factor = config_get_uint(hDlg, IDC_CBR_REACTIONDELAY, config->rc_reaction_delay_factor);                  config->rc_reaction_delay_factor = config_get_uint(hDlg, IDC_CBR_REACTIONDELAY, config->rc_reaction_delay_factor);
870                  config->rc_averaging_period = config_get_uint(hDlg, IDC_CBR_AVERAGINGPERIOD, config->rc_averaging_period);                  config->rc_averaging_period = config_get_uint(hDlg, IDC_CBR_AVERAGINGPERIOD, config->rc_averaging_period);
871                  config->rc_buffer = config_get_uint(hDlg, IDC_CBR_BUFFER, config->rc_buffer);                  config->rc_buffer = config_get_uint(hDlg, IDC_CBR_BUFFER, config->rc_buffer);
# Line 1068  Line 1090 
1090                          EnableWindow(GetDlgItem(hDlg, IDC_MAXBFRAMES), FALSE);                          EnableWindow(GetDlgItem(hDlg, IDC_MAXBFRAMES), FALSE);
1091                          EnableWindow(GetDlgItem(hDlg, IDC_BQUANTRATIO), FALSE);                          EnableWindow(GetDlgItem(hDlg, IDC_BQUANTRATIO), FALSE);
1092                          EnableWindow(GetDlgItem(hDlg, IDC_PACKED), FALSE);                          EnableWindow(GetDlgItem(hDlg, IDC_PACKED), FALSE);
1093                            EnableWindow(GetDlgItem(hDlg, IDC_DX50BVOP), FALSE);
1094                            EnableWindow(GetDlgItem(hDlg, IDC_DEBUG), FALSE);
1095  #endif  #endif
1096                  }                  }
1097                  else if (psi->page == DLG_2PASSALT)                  else if (psi->page == DLG_2PASSALT)
# Line 1076  Line 1100 
1100                          SendDlgItemMessage(hDlg, IDC_CURVETYPE, CB_ADDSTRING, 0, (LPARAM)"Medium");                          SendDlgItemMessage(hDlg, IDC_CURVETYPE, CB_ADDSTRING, 0, (LPARAM)"Medium");
1101                          SendDlgItemMessage(hDlg, IDC_CURVETYPE, CB_ADDSTRING, 0, (LPARAM)"High");                          SendDlgItemMessage(hDlg, IDC_CURVETYPE, CB_ADDSTRING, 0, (LPARAM)"High");
1102                  }                  }
1103    #ifndef _SMP
1104                    else if (psi->page == DLG_CPU)
1105                    {
1106                            EnableWindow(GetDlgItem(hDlg, IDC_NUMTHREADS_STATIC), FALSE);
1107                            EnableWindow(GetDlgItem(hDlg, IDC_NUMTHREADS), FALSE);
1108                    }
1109    #endif
1110    
1111                  if (hTooltip)                  if (hTooltip)
1112                  {                  {
# Line 1308  Line 1339 
1339    
1340                          SetDlgItemText(hDlg, IDC_BUILD, XVID_BUILD);                          SetDlgItemText(hDlg, IDC_BUILD, XVID_BUILD);
1341    
1342                            init_param.cpu_flags = XVID_CPU_CHKONLY;
1343                          xvid_init(NULL, 0, &init_param, 0);                          xvid_init(NULL, 0, &init_param, 0);
1344                          wsprintf(core, "Core Version %d.%d", (init_param.api_version>>16),(init_param.api_version&0xFFFFU));                          wsprintf(core, "Core Version %d.%d", (init_param.api_version>>16),(init_param.api_version&0xFFFFU));
1345                          SetDlgItemText(hDlg, IDC_CORE, core);                          SetDlgItemText(hDlg, IDC_CORE, core);

Legend:
Removed from v.228  
changed lines
  Added in v.295

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