diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2003-12-01 15:23:14 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2003-12-01 15:23:14 +0000 |
commit | 332f9ac4e31ce5e6d0c42ac9e0229d7d1b2b4d60 (patch) | |
tree | 4ad6a7c4fd0caa012f851d930b5b8e2ff5be9141 /libavcodec/rv10.c | |
parent | e692c8634cc01c7091d99ec0f58d25715704702b (diff) | |
download | ffmpeg-332f9ac4e31ce5e6d0c42ac9e0229d7d1b2b4d60.tar.gz |
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.c | 15 |
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++; |