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

Diff of /branches/dev-api-4/xvidcore/src/plugins/plugin_single.c

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

revision 1014, Mon May 12 12:33:16 2003 UTC revision 1225, Fri Nov 28 14:20:13 2003 UTC
# Line 20  Line 20 
20   * along with this program; if not, write to the Free Software   * along with this program; if not, write to the Free Software
21   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
22   *   *
23   * $Id: plugin_single.c,v 1.1.2.1 2003-05-12 12:33:16 suxen_drol Exp $   * $Id: plugin_single.c,v 1.1.2.7 2003-11-28 14:20:13 syskin Exp $
24   *   *
25   ****************************************************************************/   ****************************************************************************/
26    
# Line 30  Line 30 
30  #include "../xvid.h"  #include "../xvid.h"
31  #include "../image/image.h"  #include "../image/image.h"
32    
33  #define DEFAULT_INITIAL_QUANTIZER 5  #define DEFAULT_INITIAL_QUANTIZER 8
34    
35  #define DEFAULT_BITRATE 900000  /* 900kbps */  #define DEFAULT_BITRATE 900000  /* 900kbps */
36  #define DEFAULT_DELAY_FACTOR 16  #define DEFAULT_DELAY_FACTOR 16
# Line 126  Line 126 
126          *handle = rc;          *handle = rc;
127    
128          /* A bit of debug info */          /* A bit of debug info */
129          DPRINTF(DPRINTF_RC, "bytes_per_sec: %i\n", rc->bytes_per_sec);          DPRINTF(XVID_DEBUG_RC, "bytes_per_sec: %i\n", rc->bytes_per_sec);
130          DPRINTF(DPRINTF_RC, "frame rate   : %f\n", (double) create->fbase / create->fincr);          DPRINTF(XVID_DEBUG_RC, "frame rate   : %f\n", (double) create->fbase / create->fincr);
131          DPRINTF(DPRINTF_RC, "target_framesize: %f\n", rc->target_framesize);          DPRINTF(XVID_DEBUG_RC, "target_framesize: %f\n", rc->target_framesize);
132    
133          return (0);          return (0);
134  }  }
# Line 173  Line 173 
173          double base_quality;          double base_quality;
174          double target_quality;          double target_quality;
175    
   
176          /* Update internal values */          /* Update internal values */
177          rc->time += (double) data->fincr / data->fbase;          rc->time += (double) data->fincr / data->fbase;
178          rc->total_size += data->length;          rc->total_size += data->length;
179    
180            if(data->type == XVID_TYPE_BVOP)
181                    return (0);
182    
183            rc->rtn_quant = data->quant;
184    
185          /* Compute the deviation from expected total size */          /* Compute the deviation from expected total size */
186          deviation = (int64_t)          deviation =
187                  ((double) rc->total_size - (double) rc->bytes_per_sec * rc->time);                  rc->total_size - rc->bytes_per_sec * rc->time;
188    
189    
190          if (data->quant >= 2) {          if (data->quant >= 2) {
# Line 241  Line 245 
245          else if (rtn_quant < data->quant - 1)          else if (rtn_quant < data->quant - 1)
246                  rtn_quant = data->quant - 1;                  rtn_quant = data->quant - 1;
247    
248      /* limit to min/max range */      /* limit to min/max range
249          if (rtn_quant > data->max_quant[data->type-1])             we don't know frame type of the next frame, so we just use
250                  rtn_quant = data->max_quant[data->type-1];             P-VOP's range... */
251          else if (rtn_quant < data->min_quant[data->type-1])          if (rtn_quant > data->max_quant[XVID_TYPE_PVOP-1])
252                  rtn_quant = data->min_quant[data->type-1];                  rtn_quant = data->max_quant[XVID_TYPE_PVOP-1];
253            else if (rtn_quant < data->min_quant[XVID_TYPE_PVOP-1])
254                    rtn_quant = data->min_quant[XVID_TYPE_PVOP-1];
255    
256          rc->rtn_quant = rtn_quant;          rc->rtn_quant = rtn_quant;
257    
# Line 262  Line 268 
268  {  {
269          switch (opt) {          switch (opt) {
270          case XVID_PLG_INFO:          case XVID_PLG_INFO:
271            case XVID_PLG_FRAME :
272                  return 0;                  return 0;
273    
274          case XVID_PLG_CREATE:          case XVID_PLG_CREATE:

Legend:
Removed from v.1014  
changed lines
  Added in v.1225

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