[svn] / branches / release-1_3-branch / xvidcore / vfw / src / codec.c Repository:
ViewVC logotype

Diff of /branches/release-1_3-branch/xvidcore/vfw/src/codec.c

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

revision 1816, Fri Nov 28 11:56:01 2008 UTC revision 1906, Tue Nov 16 14:42:07 2010 UTC
# Line 421  Line 421 
421          xvid_plugin_single_t single;          xvid_plugin_single_t single;
422          xvid_plugin_2pass1_t pass1;          xvid_plugin_2pass1_t pass1;
423          xvid_plugin_2pass2_t pass2;          xvid_plugin_2pass2_t pass2;
424            xvid_plugin_lumimasking_t masking;
425      xvid_gbl_info_t info;      xvid_gbl_info_t info;
426          int i;          int i;
427          HANDLE hFile;          HANDLE hFile;
# Line 513  Line 514 
514                  pass2.vbv_size = profiles[codec->config.profile].max_vbv_size;                  pass2.vbv_size = profiles[codec->config.profile].max_vbv_size;
515                  pass2.vbv_initial = (profiles[codec->config.profile].max_vbv_size*3)/4; /* 75% */                  pass2.vbv_initial = (profiles[codec->config.profile].max_vbv_size*3)/4; /* 75% */
516                  pass2.vbv_maxrate = profiles[codec->config.profile].max_bitrate;                  pass2.vbv_maxrate = profiles[codec->config.profile].max_bitrate;
517                    pass2.vbv_peakrate = profiles[codec->config.profile].vbv_peakrate;
     // XXX: xvidcore current provides a "peak bits over 3secs" constraint.  
     //      according to the latest dxn literature, a 1sec constraint is now used  
     pass2.vbv_peakrate = profiles[codec->config.profile].vbv_peakrate * 3;  
518    
519                  plugins[create.num_plugins].func = codec->xvid_plugin_2pass2_func;                  plugins[create.num_plugins].func = codec->xvid_plugin_2pass2_func;
520                  plugins[create.num_plugins].param = &pass2;                  plugins[create.num_plugins].param = &pass2;
# Line 546  Line 544 
544          }          }
545    
546          /* lumimasking plugin */          /* lumimasking plugin */
547          if ((profiles[codec->config.profile].flags & PROFILE_ADAPTQUANT) && codec->config.lum_masking) {          if ((profiles[codec->config.profile].flags & PROFILE_ADAPTQUANT) && (codec->config.lum_masking>0)) {
548                    memset(&masking, 0, sizeof(masking));
549                    masking.method = (codec->config.lum_masking==2);
550                  plugins[create.num_plugins].func = codec->xvid_plugin_lumimasking_func;                  plugins[create.num_plugins].func = codec->xvid_plugin_lumimasking_func;
551                  plugins[create.num_plugins].param = NULL;                  plugins[create.num_plugins].param = &masking;
552                  create.num_plugins++;                  create.num_plugins++;
553          }          }
554    
# Line 996  Line 996 
996    
997  LRESULT decompress_begin(CODEC * codec, BITMAPINFO * lpbiInput, BITMAPINFO * lpbiOutput)  LRESULT decompress_begin(CODEC * codec, BITMAPINFO * lpbiInput, BITMAPINFO * lpbiOutput)
998  {  {
999            BITMAPINFOHEADER * inhdr = &lpbiInput->bmiHeader;
1000          xvid_gbl_init_t init;          xvid_gbl_init_t init;
1001          xvid_dec_create_t create;          xvid_dec_create_t create;
1002          HKEY hKey;          HKEY hKey;
# Line 1012  Line 1013 
1013          create.version = XVID_VERSION;          create.version = XVID_VERSION;
1014          create.width = lpbiInput->bmiHeader.biWidth;          create.width = lpbiInput->bmiHeader.biWidth;
1015          create.height = lpbiInput->bmiHeader.biHeight;          create.height = lpbiInput->bmiHeader.biHeight;
1016            create.fourcc = inhdr->biCompression;
1017    
1018          switch(codec->xvid_decore_func(0, XVID_DEC_CREATE, &create, NULL))          switch(codec->xvid_decore_func(0, XVID_DEC_CREATE, &create, NULL))
1019          {          {
# Line 1033  Line 1035 
1035          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);
1036    
1037          REG_GET_N("Brightness", pp_brightness, 0);          REG_GET_N("Brightness", pp_brightness, 0);
1038          REG_GET_N("Deblock_Y",  pp_dy, 0)          REG_GET_N("Deblock_Y",  pp_dy, 0);
1039          REG_GET_N("Deblock_UV", pp_duv, 0)          REG_GET_N("Deblock_UV", pp_duv, 0);
1040          REG_GET_N("Dering_Y",  pp_dry, 0)          REG_GET_N("Dering_Y",  pp_dry, 0);
1041          REG_GET_N("Dering_UV", pp_druv, 0)          REG_GET_N("Dering_UV", pp_druv, 0);
1042          REG_GET_N("FilmEffect", pp_fe, 0)          REG_GET_N("FilmEffect", pp_fe, 0);
1043    
1044          RegCloseKey(hKey);          RegCloseKey(hKey);
1045    

Legend:
Removed from v.1816  
changed lines
  Added in v.1906

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