aboutsummaryrefslogtreecommitdiff
path: root/libavcodec/msmpeg4.c
diff options
context:
space:
mode:
authorMichael Niedermayer2002-04-30 01:29:29 +0000
committerMichael Niedermayer2002-04-30 01:29:29 +0000
commitbb71e31757ada3017707a61fa74e71c18b5b6586 (patch)
treede5e4ac58cfe73467c0edd76bbdb04c2a89d2545 /libavcodec/msmpeg4.c
parentbb3debab2cfa9e3e44273ea440cf39e5a872da6d (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.c9
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,