[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 1685, Fri Feb 24 22:59:07 2006 UTC revision 1887, Mon May 10 13:50:46 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;
426          int i;          int i;
427          HANDLE hFile;          HANDLE hFile;
428    const quality_t* quality_preset = (codec->config.quality==quality_table_num) ?    const quality_t* quality_preset = (codec->config.quality==quality_table_num) ?
# Line 442  Line 444 
444          init.debug = codec->config.debug;          init.debug = codec->config.debug;
445          codec->xvid_global_func(0, XVID_GBL_INIT, &init, NULL);          codec->xvid_global_func(0, XVID_GBL_INIT, &init, NULL);
446    
447            memset(&info, 0, sizeof(info));
448            info.version = XVID_VERSION;
449            codec->xvid_global_func(0, XVID_GBL_INFO, &info, NULL);
450    
451          memset(&create, 0, sizeof(create));          memset(&create, 0, sizeof(create));
452          create.version = XVID_VERSION;          create.version = XVID_VERSION;
453    
# Line 541  Line 547 
547          }          }
548    
549          /* lumimasking plugin */          /* lumimasking plugin */
550          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)) {
551                    memset(&masking, 0, sizeof(masking));
552                    masking.method = (codec->config.lum_masking==2);
553                  plugins[create.num_plugins].func = codec->xvid_plugin_lumimasking_func;                  plugins[create.num_plugins].func = codec->xvid_plugin_lumimasking_func;
554                  plugins[create.num_plugins].param = NULL;                  plugins[create.num_plugins].param = &masking;
555                  create.num_plugins++;                  create.num_plugins++;
556          }          }
557    
# Line 580  Line 588 
588    
589                    create.global |= XVID_GLOBAL_CLOSED_GOP;                    create.global |= XVID_GLOBAL_CLOSED_GOP;
590    
591        /* dxn: restrict max bframes and enable packed bframes */        /* restrict max bframes */
592        if ((profiles[codec->config.profile].flags & PROFILE_EXTRA)) {        if ((create.max_bframes > profiles[codec->config.profile].xvid_max_bframes) && (profiles[codec->config.profile].xvid_max_bframes >= 0))
   
         if (create.max_bframes > profiles[codec->config.profile].xvid_max_bframes)  
593            create.max_bframes = profiles[codec->config.profile].xvid_max_bframes;            create.max_bframes = profiles[codec->config.profile].xvid_max_bframes;
594    
595          /* DXN: enable packed bframes */
596          if ((profiles[codec->config.profile].flags & PROFILE_PACKED)) {
597          create.global |= XVID_GLOBAL_PACKED;          create.global |= XVID_GLOBAL_PACKED;
598        }        }
599      }      }
# Line 597  Line 605 
605    
606          create.frame_drop_ratio = quality_preset->frame_drop_ratio;          create.frame_drop_ratio = quality_preset->frame_drop_ratio;
607    
608        /* Encoder threads */
609        if (codec->config.num_threads == 0)
610            create.num_threads = info.num_threads; /* Autodetect */
611        else if (codec->config.num_threads == 1)
612            create.num_threads = -1; /* Single-threaded, disable SMP */
613        else
614          create.num_threads = codec->config.num_threads;          create.num_threads = codec->config.num_threads;
615    
616    
617          switch(codec->xvid_encore_func(0, XVID_ENC_CREATE, &create, NULL))          switch(codec->xvid_encore_func(0, XVID_ENC_CREATE, &create, NULL))
618          {          {
619          case XVID_ERR_FAIL :          case XVID_ERR_FAIL :
# Line 1021  Line 1036 
1036          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);
1037    
1038          REG_GET_N("Brightness", pp_brightness, 0);          REG_GET_N("Brightness", pp_brightness, 0);
1039          REG_GET_N("Deblock_Y",  pp_dy, 0)          REG_GET_N("Deblock_Y",  pp_dy, 0);
1040          REG_GET_N("Deblock_UV", pp_duv, 0)          REG_GET_N("Deblock_UV", pp_duv, 0);
1041          REG_GET_N("Dering_Y",  pp_dry, 0)          REG_GET_N("Dering_Y",  pp_dry, 0);
1042          REG_GET_N("Dering_UV", pp_druv, 0)          REG_GET_N("Dering_UV", pp_druv, 0);
1043          REG_GET_N("FilmEffect", pp_fe, 0)          REG_GET_N("FilmEffect", pp_fe, 0);
1044    
1045          RegCloseKey(hKey);          RegCloseKey(hKey);
1046    

Legend:
Removed from v.1685  
changed lines
  Added in v.1887

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