--- encoder.c 2004/07/18 12:03:19 1.102.2.7 +++ encoder.c 2004/04/03 10:41:42 1.104 @@ -21,7 +21,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: encoder.c,v 1.102.2.7 2004/07/18 12:03:19 edgomez Exp $ + * $Id: encoder.c,v 1.104 2004/04/03 10:41:42 syskin Exp $ * ****************************************************************************/ @@ -100,22 +100,11 @@ i--; } - if (*base > 65535 || *inc > 65535) { - int *biggest; - int *other; - float div; - - if (*base > *inc) { - biggest = base; - other = inc; - } else { - biggest = inc; - other = base; - } - - div = ((float)*biggest)/((float)65535); - *biggest = (int)(((float)*biggest)/div); - *other = (int)(((float)*other)/div); + /* if neccessary, round to 65535 accuracy */ + if (*base > 65535) { + float div = (float) *base / 65535; + *base = (int) (*base / div); + *inc = (int) (*inc / div); } } @@ -1867,8 +1856,7 @@ DPRINTF(XVID_DEBUG_DEBUG, "kmu %i %i %i\n", current->sStat.kblks, current->sStat.mblks, current->sStat.ublks); #endif if (current->sStat.kblks + current->sStat.mblks <= - (pParam->frame_drop_ratio * mb_width * mb_height) / 100 && - pEnc->mbParam.max_bframes == 0) + (pParam->frame_drop_ratio * mb_width * mb_height) / 100) { current->sStat.kblks = current->sStat.mblks = 0; current->sStat.ublks = mb_width * mb_height;