[cvs] / xvidcore / src / plugins / plugin_2pass1.c Repository:
ViewVC logotype

Diff of /xvidcore/src/plugins/plugin_2pass1.c

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

revision 1.1.2.3, Mon May 12 12:33:16 2003 UTC revision 1.1.2.10, Wed Dec 17 15:16:16 2003 UTC
# Line 3  Line 3 
3   * XviD Bit Rate Controller Library   * XviD Bit Rate Controller Library
4   * - VBR 2 pass bitrate controler implementation -   * - VBR 2 pass bitrate controler implementation -
5   *   *
6   * Copyright (C) 2002 Edouard Gomez <ed.gomez@wanadoo.fr>   *  Copyright (C) 2002-2003 Edouard Gomez <ed.gomez@free.fr>
7   *   *
8   * The curve treatment algorithm is the one implemented by Foxer <email?> and   * The curve treatment algorithm is the one implemented by Foxer <email?> and
9   * Dirk Knop <dknop@gwdg.de> for the XviD vfw dynamic library.   * Dirk Knop <dknop@gwdg.de> for the XviD vfw dynamic library.
# Line 48  Line 48 
48          rc_2pass1_t * rc;          rc_2pass1_t * rc;
49    
50      /* check filename */      /* check filename */
51      if (param->filename == NULL || param->filename[0] == '\0')      if ((param->filename == NULL) ||
52                    (param->filename != NULL && param->filename[0] == '\0'))
53          return XVID_ERR_FAIL;          return XVID_ERR_FAIL;
54    
55      /* allocate context struct */      /* allocate context struct */
# Line 59  Line 60 
60      rc->stat_file = NULL;      rc->stat_file = NULL;
61    
62          /* Open the 1st pass file */          /* Open the 1st pass file */
63          if((rc->stat_file = fopen(param->filename, "w+")) == NULL)          if((rc->stat_file = fopen(param->filename, "w+b")) == NULL)
64                  return(XVID_ERR_FAIL);                  return(XVID_ERR_FAIL);
65    
     {  
         int i;  
         printf("---\n");  
         for (i=0;i<create->num_zones;i++) {  
             printf("[%i] %i\n", create->zones[i].frame, create->zones[i].increment);  
         }  
         printf("---\n");  
     }  
   
66          /*          /*
67           * The File Header           * The File Header
68           */           */
69          /* fprintf(rc->stat_file, "# XviD 2pass stat file\n");          fprintf(rc->stat_file, "# XviD 2pass stat file (core version %d.%d.%d)\n",
70      fprintf(rc->stat_file, "version %i.%i.%i\n",XVID_MAJOR(XVID_VERSION), XVID_MINOR(XVID_VERSION), XVID_PATCH(XVID_VERSION));                          XVID_VERSION_MAJOR(XVID_VERSION),
71          fprintf(rc->stat_file, "start\n");                          XVID_VERSION_MINOR(XVID_VERSION),
72      fprintf(rc->stat_file, "type quantizer length kblocks mblocks ublocks\n");  */                          XVID_VERSION_PATCH(XVID_VERSION));
73            fprintf(rc->stat_file, "# Please do not modify this file\n\n");
74    
75      rc->fq_error = 0;      rc->fq_error = 0;
76    
# Line 89  Line 82 
82  static int rc_2pass1_destroy(rc_2pass1_t * rc, xvid_plg_destroy_t * destroy)  static int rc_2pass1_destroy(rc_2pass1_t * rc, xvid_plg_destroy_t * destroy)
83  {  {
84          fclose(rc->stat_file);          fclose(rc->stat_file);
   
85          free(rc);          free(rc);
86          return(0);          return(0);
87  }  }
# Line 102  Line 94 
94              rc->fq_error += (double)data->zone->increment / (double)data->zone->base;              rc->fq_error += (double)data->zone->increment / (double)data->zone->base;
95              data->quant = (int)rc->fq_error;              data->quant = (int)rc->fq_error;
96              rc->fq_error -= data->quant;              rc->fq_error -= data->quant;
   
97          }else {          }else {
98              data->quant = 2;              data->quant = 2;
99          }          }
100      }      }
101      return 0;           return(0);
102  }  }
103    
104    
# Line 153  Line 144 
144      switch(opt)      switch(opt)
145      {      {
146      case XVID_PLG_INFO :      case XVID_PLG_INFO :
147            case XVID_PLG_FRAME :
148          return 0;          return 0;
149    
150      case XVID_PLG_CREATE :      case XVID_PLG_CREATE :

Legend:
Removed from v.1.1.2.3  
changed lines
  Added in v.1.1.2.10

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