summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-04-01 15:38:01 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-04-01 15:38:01 +0000
commit1f9aea9b91c653c6ad95e84b2ff250738e352eec (patch)
treecc316f2a7ae37e508d262854dd210bcc0ff196d2 /libavcodec/mpegvideo.c
parent309522372c481dea3d9f6f33eacc6d200cce10cb (diff)
fixing msmpeg4v2 encoding
Originally committed as revision 1723 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegvideo.c')
-rw-r--r--libavcodec/mpegvideo.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 867f4232a3..99ac289f91 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -648,6 +648,7 @@ int MPV_encode_init(AVCodecContext *avctx)
s->h263_pred = 1;
s->unrestricted_mv = 1;
s->msmpeg4_version= 3;
+ s->flipflop_rounding=1;
avctx->delay=0;
s->low_delay=1;
break;
@@ -657,6 +658,7 @@ int MPV_encode_init(AVCodecContext *avctx)
s->h263_pred = 1;
s->unrestricted_mv = 1;
s->msmpeg4_version= 4;
+ s->flipflop_rounding=1;
avctx->delay=0;
s->low_delay=1;
break;
@@ -666,6 +668,7 @@ int MPV_encode_init(AVCodecContext *avctx)
s->h263_pred = 1;
s->unrestricted_mv = 1;
s->msmpeg4_version= 5;
+ s->flipflop_rounding=1;
avctx->delay=0;
s->low_delay=1;
break;
@@ -2834,8 +2837,8 @@ static void encode_picture(MpegEncContext *s, int picture_number)
s->qscale= (int)(s->frame_qscale + 0.5); //FIXME qscale / ... stuff for ME ratedistoration
if(s->pict_type==I_TYPE){
- if(s->msmpeg4_version) s->no_rounding=1;
- else s->no_rounding=0;
+ if(s->msmpeg4_version >= 3) s->no_rounding=1;
+ else s->no_rounding=0;
}else if(s->pict_type!=B_TYPE){
if(s->flipflop_rounding || s->codec_id == CODEC_ID_H263P || s->codec_id == CODEC_ID_MPEG4)
s->no_rounding ^= 1;