diff options
author | Michael Niedermayer | 2002-04-30 01:29:29 +0000 |
---|---|---|
committer | Michael Niedermayer | 2002-04-30 01:29:29 +0000 |
commit | bb71e31757ada3017707a61fa74e71c18b5b6586 (patch) | |
tree | de5e4ac58cfe73467c0edd76bbdb04c2a89d2545 /libavcodec/msmpeg4.c | |
parent | bb3debab2cfa9e3e44273ea440cf39e5a872da6d (diff) |
fixing msmpeg4v3 dc-scale for quantizers 24-31
Originally committed as revision 427 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/msmpeg4.c')
-rw-r--r-- | libavcodec/msmpeg4.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libavcodec/msmpeg4.c b/libavcodec/msmpeg4.c index 188e2302f6..4321071f22 100644 --- a/libavcodec/msmpeg4.c +++ b/libavcodec/msmpeg4.c @@ -411,7 +411,8 @@ void msmpeg4_encode_mb(MpegEncContext * s, } -/* strongly inspirated from MPEG4, but not exactly the same ! */ +#if 0 +/* identical to mpeg4 for msmpeg4v3 but not msmpeg4v2 */ void msmpeg4_dc_scale(MpegEncContext * s) { if (s->qscale < 5 || s->msmpeg4_version==2){ @@ -420,11 +421,15 @@ void msmpeg4_dc_scale(MpegEncContext * s) }else if (s->qscale < 9){ s->y_dc_scale = 2 * s->qscale; s->c_dc_scale = (s->qscale + 13)>>1; - }else{ + }else if(s->qscale < 25){ s->y_dc_scale = s->qscale + 8; s->c_dc_scale = (s->qscale + 13)>>1; + }else{ + s->y_dc_scale = 2 * s->qscale - 16; + s->c_dc_scale = s->qscale - 6; } } +#endif /* dir = 0: left, dir = 1: top prediction */ static int msmpeg4_pred_dc(MpegEncContext * s, int n, |