fix b frames + -mbd rd without -psnr (yes that was seriously buggy and probably hasnt...
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 21 Nov 2006 19:37:44 +0000 (19:37 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 21 Nov 2006 19:37:44 +0000 (19:37 +0000)
Originally committed as revision 7148 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mpegvideo.c

index 58d1c95c0322e4c3ac06baea6e48e8954fbc328c..f0a04a40299a1f9a65c046c4648a3ece861e64a7 100644 (file)
@@ -3934,7 +3934,7 @@ static always_inline void MPV_decode_mb_internal(MpegEncContext *s, DCTELEM bloc
     else if (s->h263_pred || s->h263_aic)
         s->mbintra_table[mb_xy]=1;
 
-    if ((s->flags&CODEC_FLAG_PSNR) || !(s->encoding && (s->intra_only || s->pict_type==B_TYPE))) { //FIXME precalc
+    if ((s->flags&CODEC_FLAG_PSNR) || !(s->encoding && (s->intra_only || s->pict_type==B_TYPE) && s->avctx->mb_decision != FF_MB_DECISION_RD)) { //FIXME precalc
         uint8_t *dest_y, *dest_cb, *dest_cr;
         int dct_linesize, dct_offset;
         op_pixels_func (*op_pix)[4];