[FFmpeg-cvslog] r15675 - trunk/libavcodec/rv34.c
kostya
subversion
Fri Oct 24 08:17:18 CEST 2008
Author: kostya
Date: Fri Oct 24 08:17:18 2008
New Revision: 15675
Log:
Choose RV3/4 DC quantizer correctly
Modified:
trunk/libavcodec/rv34.c
Modified: trunk/libavcodec/rv34.c
==============================================================================
--- trunk/libavcodec/rv34.c (original)
+++ trunk/libavcodec/rv34.c Fri Oct 24 08:17:18 2008
@@ -1046,7 +1046,7 @@ static int rv34_decode_macroblock(RV34De
if(cbp == -1)
return -1;
- luma_dc_quant = r->si.type ? r->luma_dc_quant_p[s->qscale] : r->luma_dc_quant_i[s->qscale];
+ luma_dc_quant = r->block_type == RV34_MB_P_MIX16x16 ? r->luma_dc_quant_p[s->qscale] : r->luma_dc_quant_i[s->qscale];
if(r->is16){
memset(block16, 0, sizeof(block16));
rv34_decode_block(block16, gb, r->cur_vlcs, 3, 0);
@@ -1060,7 +1060,7 @@ static int rv34_decode_macroblock(RV34De
blkoff = ((i & 1) << 2) + ((i & 4) << 3);
if(cbp & 1)
rv34_decode_block(s->block[blknum] + blkoff, gb, r->cur_vlcs, r->luma_vlc, 0);
- rv34_dequant4x4(s->block[blknum] + blkoff, rv34_qscale_tab[luma_dc_quant],rv34_qscale_tab[s->qscale]);
+ rv34_dequant4x4(s->block[blknum] + blkoff, rv34_qscale_tab[s->qscale],rv34_qscale_tab[s->qscale]);
if(r->is16) //FIXME: optimize
s->block[blknum][blkoff] = block16[(i & 3) | ((i & 0xC) << 1)];
rv34_inv_transform(s->block[blknum] + blkoff);
More information about the ffmpeg-cvslog
mailing list