aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mpegvideo.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-12-03 16:07:41 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-12-03 16:07:41 +0000
commit6beeb962a2e62abf9857d4c4a167341acee8b867 (patch)
tree45cd428fb0c61f2f5f9504c9283bf26690e1cd9a /libavcodec/mpegvideo.c
parentb7cbfc23071ad95b3966441d31fcb18a9bea73e0 (diff)
downloadffmpeg-6beeb962a2e62abf9857d4c4a167341acee8b867.tar.gz
h263 modified quantization fix
Originally committed as revision 2557 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegvideo.c')
-rw-r--r--libavcodec/mpegvideo.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 595ab16c2f..525c1f12e9 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -2651,9 +2651,9 @@ static inline void MPV_motion(MpegEncContext *s,
/* put block[] to dest[] */
static inline void put_dct(MpegEncContext *s,
- DCTELEM *block, int i, uint8_t *dest, int line_size)
+ DCTELEM *block, int i, uint8_t *dest, int line_size, int qscale)
{
- s->dct_unquantize(s, block, i, s->qscale);
+ s->dct_unquantize(s, block, i, qscale);
s->dsp.idct_put (dest, line_size, block);
}
@@ -2857,14 +2857,14 @@ void MPV_decode_mb(MpegEncContext *s, DCTELEM block[6][64])
} else {
/* dct only in intra block */
if(s->encoding || !(s->codec_id==CODEC_ID_MPEG1VIDEO || s->codec_id==CODEC_ID_MPEG2VIDEO)){
- put_dct(s, block[0], 0, dest_y, dct_linesize);
- put_dct(s, block[1], 1, dest_y + 8, dct_linesize);
- put_dct(s, block[2], 2, dest_y + dct_offset, dct_linesize);
- put_dct(s, block[3], 3, dest_y + dct_offset + 8, dct_linesize);
+ put_dct(s, block[0], 0, dest_y, dct_linesize, s->qscale);
+ put_dct(s, block[1], 1, dest_y + 8, dct_linesize, s->qscale);
+ put_dct(s, block[2], 2, dest_y + dct_offset, dct_linesize, s->qscale);
+ put_dct(s, block[3], 3, dest_y + dct_offset + 8, dct_linesize, s->qscale);
if(!(s->flags&CODEC_FLAG_GRAY)){
- put_dct(s, block[4], 4, dest_cb, uvlinesize);
- put_dct(s, block[5], 5, dest_cr, uvlinesize);
+ put_dct(s, block[4], 4, dest_cb, uvlinesize, s->chroma_qscale);
+ put_dct(s, block[5], 5, dest_cr, uvlinesize, s->chroma_qscale);
}
}else{
s->dsp.idct_put(dest_y , dct_linesize, block[0]);