1 |
/****************************************************************************** |
/****************************************************************************** |
2 |
* |
* |
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-2003 Edouard Gomez <ed.gomez@free.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. |
10 |
* |
* |
11 |
* This program is free software; you can redistribute it and/or modify |
* This program is free software; you can redistribute it and/or modify |
12 |
* it under the terms of the GNU General Public License as published by |
* it under the terms of the GNU General Public License as published by |
38 |
* using fast ME routines to speed up the 2pass process at the expense of |
* using fast ME routines to speed up the 2pass process at the expense of |
39 |
* less precise first pass stats */ |
* less precise first pass stats */ |
40 |
#define FAST1PASS |
#define FAST1PASS |
41 |
|
#define FAST1PASS_QPEL_TOO |
42 |
|
|
43 |
|
|
44 |
/* context struct */ |
/* context struct */ |
161 |
|
|
162 |
/* Now VOP flags (no fast replacements) */ |
/* Now VOP flags (no fast replacements) */ |
163 |
data->vop_flags &= ~XVID_VOP_MODEDECISION_RD; |
data->vop_flags &= ~XVID_VOP_MODEDECISION_RD; |
164 |
|
data->vop_flags &= ~XVID_VOP_RD_BVOP; |
165 |
data->vop_flags &= ~XVID_VOP_FAST_MODEDECISION_RD; |
data->vop_flags &= ~XVID_VOP_FAST_MODEDECISION_RD; |
166 |
data->vop_flags &= ~XVID_VOP_TRELLISQUANT; |
data->vop_flags &= ~XVID_VOP_TRELLISQUANT; |
167 |
data->vop_flags &= ~XVID_VOP_INTER4V; |
data->vop_flags &= ~XVID_VOP_INTER4V; |
173 |
* too much the texture data compressibility, and thus the |
* too much the texture data compressibility, and thus the |
174 |
* second pass gets confused by too much impredictability |
* second pass gets confused by too much impredictability |
175 |
* of frame sizes, and actually hurts quality */ |
* of frame sizes, and actually hurts quality */ |
176 |
|
#ifdef FAST1PASS_QPEL_TOO |
177 |
|
/* or maybe we can disable it after all? */ |
178 |
|
data->vol_flags &= ~XVID_VOL_QUARTERPEL; |
179 |
|
#endif |
180 |
data->vol_flags &= ~XVID_VOL_GMC; |
data->vol_flags &= ~XVID_VOL_GMC; |
181 |
#endif |
#endif |
182 |
} |
} |