[svn] / branches / dev-api-4 / xvidcore / vfw / src / codec.c Repository:
ViewVC logotype

Diff of /branches/dev-api-4/xvidcore/vfw/src/codec.c

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

revision 1091, Thu Jul 17 10:32:33 2003 UTC revision 1203, Tue Nov 11 16:25:39 2003 UTC
# Line 49  Line 49 
49    
50  #include <windows.h>  #include <windows.h>
51  #include <vfw.h>  #include <vfw.h>
52    #include <stdio.h>
53  #include "vfwext.h"  #include "vfwext.h"
54    
55  #include <xvid.h>  #include <xvid.h>
# Line 280  Line 281 
281                  {                  {
282                          xvid_plg_data_t *data = (xvid_plg_data_t *) param1;                          xvid_plg_data_t *data = (xvid_plg_data_t *) param1;
283    
284                          DPRINTF("[%5i]   type=%c   Q:%2i   length:%6i",                          /* We don't use DPRINTF here because it's active only for _DEBUG
285                             * builds and that activates lot of other debug printfs. We only
286                             * want these all the time */
287                            char buf[1024];
288                            sprintf(buf, "[%5i]   type=%c   Q:%2i   length:%6i",
289                                     data->frame_num,                                     data->frame_num,
290                     type2char(data->type),                     type2char(data->type),
291                     data->quant,                     data->quant,
292                     data->length);                     data->length);
293                            OutputDebugString(buf);
294    
295                          return 0;                          return 0;
296                  }                  }
297          }          }
# Line 371  Line 378 
378                  pass2.filename = codec->config.stats;                  pass2.filename = codec->config.stats;
379    
380          pass2.keyframe_boost = codec->config.keyframe_boost;   /* keyframe boost percentage: [0..100...]; */          pass2.keyframe_boost = codec->config.keyframe_boost;   /* keyframe boost percentage: [0..100...]; */
         pass2.payback_method = codec->config.bitrate_payback_method;  
         pass2.bitrate_payback_delay = codec->config.bitrate_payback_delay;  
381          pass2.curve_compression_high = codec->config.curve_compression_high;          pass2.curve_compression_high = codec->config.curve_compression_high;
382          pass2.curve_compression_low = codec->config.curve_compression_low;          pass2.curve_compression_low = codec->config.curve_compression_low;
383                    pass2.overflow_control_strength = codec->config.overflow_control_strength;
384          pass2.max_overflow_improvement = codec->config.twopass_max_overflow_improvement;          pass2.max_overflow_improvement = codec->config.twopass_max_overflow_improvement;
385          pass2.max_overflow_degradation = codec->config.twopass_max_overflow_degradation;          pass2.max_overflow_degradation = codec->config.twopass_max_overflow_degradation;
         pass2.kftreshold = codec->config.kftreshold;  
386              pass2.kfreduction = codec->config.kfreduction;              pass2.kfreduction = codec->config.kfreduction;
387          pass2.min_key_interval = codec->config.min_key_interval;          pass2.min_key_interval = codec->config.min_key_interval;
388          pass2.container_frame_overhead = 24;    /* AVI */          pass2.container_frame_overhead = 24;    /* AVI */
# Line 544  Line 549 
549    
550          if ((profiles[codec->config.profile].flags & PROFILE_GMC) && codec->config.gmc) {          if ((profiles[codec->config.profile].flags & PROFILE_GMC) && codec->config.gmc) {
551                  frame.vol_flags |= XVID_VOL_GMC;                  frame.vol_flags |= XVID_VOL_GMC;
552                  frame.motion |= XVID_GME_REFINE;                  frame.motion |= XVID_ME_GME_REFINE;
553          }          }
554    
555          if ((profiles[codec->config.profile].flags & PROFILE_INTERLACE) && codec->config.interlacing)          if ((profiles[codec->config.profile].flags & PROFILE_INTERLACE) && codec->config.interlacing)
# Line 566  Line 571 
571                  frame.vop_flags |= XVID_VOP_INTER4V;                  frame.vop_flags |= XVID_VOP_INTER4V;
572    
573          if (codec->config.chromame)          if (codec->config.chromame)
574                  frame.vop_flags |= XVID_ME_CHROMA16 + XVID_ME_CHROMA8;                  frame.motion |= XVID_ME_CHROMA_PVOP + XVID_ME_CHROMA_BVOP;
575    
576            if (codec->config.cartoon_mode) {
577                    frame.vop_flags |= XVID_VOP_CARTOON;
578                    frame.motion |= XVID_ME_DETECT_STATIC_MOTION;
579            }
580    
581          frame.motion |= pmvfast_presets[codec->config.motion_search];          frame.motion |= pmvfast_presets[codec->config.motion_search];
582    
583          switch (codec->config.vhq_mode)          switch (codec->config.vhq_mode)
584          {          {
585          case VHQ_MODE_DECISION :          case VHQ_MODE_DECISION :
586                  frame.vop_flags |= XVID_VOP_MODEDECISION_BITS;                  frame.vop_flags |= XVID_VOP_MODEDECISION_RD;
587                  break;                  break;
588    
589          case VHQ_LIMITED_SEARCH :          case VHQ_LIMITED_SEARCH :
590                  frame.vop_flags |= XVID_VOP_MODEDECISION_BITS;                  frame.vop_flags |= XVID_VOP_MODEDECISION_RD;
591                  frame.motion |= XVID_ME_HALFPELREFINE16_BITS;                  frame.motion |= XVID_ME_HALFPELREFINE16_RD;
592                  frame.motion |= XVID_ME_QUARTERPELREFINE16_BITS;                  frame.motion |= XVID_ME_QUARTERPELREFINE16_RD;
593                  break;                  break;
594    
595          case VHQ_MEDIUM_SEARCH :          case VHQ_MEDIUM_SEARCH :
596                  frame.vop_flags |= XVID_VOP_MODEDECISION_BITS;                  frame.vop_flags |= XVID_VOP_MODEDECISION_RD;
597                  frame.motion |= XVID_ME_HALFPELREFINE16_BITS;                  frame.motion |= XVID_ME_HALFPELREFINE16_RD;
598                  frame.motion |= XVID_ME_HALFPELREFINE8_BITS;                  frame.motion |= XVID_ME_HALFPELREFINE8_RD;
599                  frame.motion |= XVID_ME_QUARTERPELREFINE16_BITS;                  frame.motion |= XVID_ME_QUARTERPELREFINE16_RD;
600                  frame.motion |= XVID_ME_QUARTERPELREFINE8_BITS;                  frame.motion |= XVID_ME_QUARTERPELREFINE8_RD;
601                  frame.motion |= XVID_ME_CHECKPREDICTION_BITS;                  frame.motion |= XVID_ME_CHECKPREDICTION_RD;
602                  break;                  break;
603    
604          case VHQ_WIDE_SEARCH :          case VHQ_WIDE_SEARCH :
605                  frame.vop_flags |= XVID_VOP_MODEDECISION_BITS;                  frame.vop_flags |= XVID_VOP_MODEDECISION_RD;
606                  frame.motion |= XVID_ME_HALFPELREFINE16_BITS;                  frame.motion |= XVID_ME_HALFPELREFINE16_RD;
607                  frame.motion |= XVID_ME_HALFPELREFINE8_BITS;                  frame.motion |= XVID_ME_HALFPELREFINE8_RD;
608                  frame.motion |= XVID_ME_QUARTERPELREFINE16_BITS;                  frame.motion |= XVID_ME_QUARTERPELREFINE16_RD;
609                  frame.motion |= XVID_ME_QUARTERPELREFINE8_BITS;                  frame.motion |= XVID_ME_QUARTERPELREFINE8_RD;
610                  frame.motion |= XVID_ME_CHECKPREDICTION_BITS;                  frame.motion |= XVID_ME_CHECKPREDICTION_RD;
611                  frame.motion |= XVID_ME_EXTSEARCH_BITS;                  frame.motion |= XVID_ME_EXTSEARCH_RD;
612                  break;                  break;
613    
614          default :          default :

Legend:
Removed from v.1091  
changed lines
  Added in v.1203

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