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

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

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

revision 1649, Sun Oct 16 00:00:04 2005 UTC revision 1718, Mon Jul 10 17:39:38 2006 UTC
# Line 570  Line 570 
570          if ((profiles[codec->config.profile].flags & PROFILE_BVOP) && codec->config.use_bvop) {          if ((profiles[codec->config.profile].flags & PROFILE_BVOP) && codec->config.use_bvop) {
571    
572      /* dxn: prevent bframes usage if interlacing is selected */      /* dxn: prevent bframes usage if interlacing is selected */
573      if (!((profiles[codec->config.profile].flags & PROFILE_DXN) && codec->config.interlacing)) {      if (!((profiles[codec->config.profile].flags & PROFILE_EXTRA) && codec->config.interlacing)) {
574        create.max_bframes = codec->config.max_bframes;        create.max_bframes = codec->config.max_bframes;
575                    create.bquant_ratio = codec->config.bquant_ratio;                    create.bquant_ratio = codec->config.bquant_ratio;
576                    create.bquant_offset = codec->config.bquant_offset;                    create.bquant_offset = codec->config.bquant_offset;
# Line 580  Line 580 
580    
581                    create.global |= XVID_GLOBAL_CLOSED_GOP;                    create.global |= XVID_GLOBAL_CLOSED_GOP;
582    
583        /* dxn: restrict max bframes and enable packed bframes */        /* restrict max bframes */
584        if ((profiles[codec->config.profile].flags & PROFILE_DXN)) {        if ((create.max_bframes > profiles[codec->config.profile].xvid_max_bframes) && (profiles[codec->config.profile].xvid_max_bframes >= 0))
585            create.max_bframes = profiles[codec->config.profile].xvid_max_bframes;
         if (create.max_bframes > profiles[codec->config.profile].dxn_max_bframes)  
           create.max_bframes = profiles[codec->config.profile].dxn_max_bframes;  
586    
587          /* DXN: enable packed bframes */
588          if ((profiles[codec->config.profile].flags & PROFILE_PACKED)) {
589          create.global |= XVID_GLOBAL_PACKED;          create.global |= XVID_GLOBAL_PACKED;
590        }        }
591      }      }
592          }          }
593    
594    /* dxn: always write divx5 userdata */    /* dxn: always write divx5 userdata */
595    if ((profiles[codec->config.profile].flags & PROFILE_DXN))    if ((profiles[codec->config.profile].flags & PROFILE_EXTRA))
596      create.global |= XVID_GLOBAL_DIVX5_USERDATA;      create.global |= XVID_GLOBAL_DIVX5_USERDATA;
597    
598          create.frame_drop_ratio = quality_preset->frame_drop_ratio;          create.frame_drop_ratio = quality_preset->frame_drop_ratio;
# Line 630  Line 630 
630    
631  LRESULT compress_end(CODEC * codec)  LRESULT compress_end(CODEC * codec)
632  {  {
633      if (codec==NULL)
634        return ICERR_OK;
635    
636          if (codec->m_hdll != NULL) {          if (codec->m_hdll != NULL) {
637                  if (codec->ehandle != NULL) {                  if (codec->ehandle != NULL) {
638                          codec->xvid_encore_func(codec->ehandle, XVID_ENC_DESTROY, NULL, NULL);                          codec->xvid_encore_func(codec->ehandle, XVID_ENC_DESTROY, NULL, NULL);
# Line 721  Line 724 
724                  frame.vol_flags |= XVID_VOL_INTERLACING;                  frame.vol_flags |= XVID_VOL_INTERLACING;
725    
726    /* dxn: force 1:1 picture aspect ration */    /* dxn: force 1:1 picture aspect ration */
727    if ((profiles[codec->config.profile].flags & PROFILE_DXN)) {    if ((profiles[codec->config.profile].flags & PROFILE_EXTRA)) {
728      frame.par = XVID_PAR_11_VGA;      frame.par = XVID_PAR_11_VGA;
729    } else if (codec->config.ar_mode == 0) { /* PAR */    } else if (codec->config.ar_mode == 0) { /* PAR */
730                  if (codec->config.display_aspect_ratio != 5) {                  if (codec->config.display_aspect_ratio != 5) {

Legend:
Removed from v.1649  
changed lines
  Added in v.1718

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