summaryrefslogtreecommitdiff
path: root/libavcodec/rv10.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-12-01 15:23:14 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-12-01 15:23:14 +0000
commit332f9ac4e31ce5e6d0c42ac9e0229d7d1b2b4d60 (patch)
tree4ad6a7c4fd0caa012f851d930b5b8e2ff5be9141 /libavcodec/rv10.c
parente692c8634cc01c7091d99ec0f58d25715704702b (diff)
h263 loop filter
fixed h263 modified quantization CODEC_FLAG_OBMC Originally committed as revision 2549 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/rv10.c')
-rw-r--r--libavcodec/rv10.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c
index 87b4a8b3a2..f5c382c39e 100644
--- a/libavcodec/rv10.c
+++ b/libavcodec/rv10.c
@@ -382,7 +382,8 @@ static int rv20_decode_picture_header(MpegEncContext *s)
// s->alt_inter_vlc=1;
// s->obmc=1;
// s->umvplus=1;
-// s->modified_quant=1;
+ s->modified_quant=1;
+ s->loop_filter=1;
if(s->avctx->debug & FF_DEBUG_PICT_INFO){
av_log(s->avctx, AV_LOG_INFO, "num:%5d x:%2d y:%2d type:%d qscale:%2d rnd:%d\n",
@@ -522,9 +523,14 @@ static int rv10_decode_packet(AVCodecContext *avctx,
s->y_dc_scale_table=
s->c_dc_scale_table= ff_mpeg1_dc_scale_table;
}
+
+ if(s->modified_quant)
+ s->chroma_qscale_table= ff_h263_chroma_qscale_table;
+
+ s->chroma_qscale= s->chroma_qscale_table[ s->qscale ];
s->y_dc_scale= s->y_dc_scale_table[ s->qscale ];
- s->c_dc_scale= s->c_dc_scale_table[ s->qscale ];
-
+ s->c_dc_scale= s->c_dc_scale_table[ s->chroma_qscale ];
+
s->rv10_first_dc_coded[0] = 0;
s->rv10_first_dc_coded[1] = 0;
s->rv10_first_dc_coded[2] = 0;
@@ -555,6 +561,9 @@ static int rv10_decode_packet(AVCodecContext *avctx,
}
ff_h263_update_motion_val(s);
MPV_decode_mb(s, s->block);
+ if(s->loop_filter)
+ ff_h263_loop_filter(s);
+
if (++s->mb_x == s->mb_width) {
s->mb_x = 0;
s->mb_y++;