Mercurial > libavcodec.hg
comparison rv10.c @ 1644:835cf346975e libavcodec
h263 loop filter
fixed h263 modified quantization
CODEC_FLAG_OBMC
author | michael |
---|---|
date | Mon, 01 Dec 2003 15:23:14 +0000 |
parents | 9bb07bd315d9 |
children | 834922115010 |
comparison
equal
deleted
inserted
replaced
1643:9bb07bd315d9 | 1644:835cf346975e |
---|---|
380 s->unrestricted_mv = 1; | 380 s->unrestricted_mv = 1; |
381 s->h263_aic= s->pict_type == I_TYPE; | 381 s->h263_aic= s->pict_type == I_TYPE; |
382 // s->alt_inter_vlc=1; | 382 // s->alt_inter_vlc=1; |
383 // s->obmc=1; | 383 // s->obmc=1; |
384 // s->umvplus=1; | 384 // s->umvplus=1; |
385 // s->modified_quant=1; | 385 s->modified_quant=1; |
386 s->loop_filter=1; | |
386 | 387 |
387 if(s->avctx->debug & FF_DEBUG_PICT_INFO){ | 388 if(s->avctx->debug & FF_DEBUG_PICT_INFO){ |
388 av_log(s->avctx, AV_LOG_INFO, "num:%5d x:%2d y:%2d type:%d qscale:%2d rnd:%d\n", | 389 av_log(s->avctx, AV_LOG_INFO, "num:%5d x:%2d y:%2d type:%d qscale:%2d rnd:%d\n", |
389 seq, s->mb_x, s->mb_y, s->pict_type, s->qscale, s->no_rounding); | 390 seq, s->mb_x, s->mb_y, s->pict_type, s->qscale, s->no_rounding); |
390 } | 391 } |
520 s->c_dc_scale_table= ff_aic_dc_scale_table; | 521 s->c_dc_scale_table= ff_aic_dc_scale_table; |
521 }else{ | 522 }else{ |
522 s->y_dc_scale_table= | 523 s->y_dc_scale_table= |
523 s->c_dc_scale_table= ff_mpeg1_dc_scale_table; | 524 s->c_dc_scale_table= ff_mpeg1_dc_scale_table; |
524 } | 525 } |
526 | |
527 if(s->modified_quant) | |
528 s->chroma_qscale_table= ff_h263_chroma_qscale_table; | |
529 | |
530 s->chroma_qscale= s->chroma_qscale_table[ s->qscale ]; | |
525 s->y_dc_scale= s->y_dc_scale_table[ s->qscale ]; | 531 s->y_dc_scale= s->y_dc_scale_table[ s->qscale ]; |
526 s->c_dc_scale= s->c_dc_scale_table[ s->qscale ]; | 532 s->c_dc_scale= s->c_dc_scale_table[ s->chroma_qscale ]; |
527 | 533 |
528 s->rv10_first_dc_coded[0] = 0; | 534 s->rv10_first_dc_coded[0] = 0; |
529 s->rv10_first_dc_coded[1] = 0; | 535 s->rv10_first_dc_coded[1] = 0; |
530 s->rv10_first_dc_coded[2] = 0; | 536 s->rv10_first_dc_coded[2] = 0; |
531 | 537 |
532 s->block_wrap[0]= | 538 s->block_wrap[0]= |
553 av_log(s->avctx, AV_LOG_ERROR, "ERROR at MB %d %d\n", s->mb_x, s->mb_y); | 559 av_log(s->avctx, AV_LOG_ERROR, "ERROR at MB %d %d\n", s->mb_x, s->mb_y); |
554 return -1; | 560 return -1; |
555 } | 561 } |
556 ff_h263_update_motion_val(s); | 562 ff_h263_update_motion_val(s); |
557 MPV_decode_mb(s, s->block); | 563 MPV_decode_mb(s, s->block); |
564 if(s->loop_filter) | |
565 ff_h263_loop_filter(s); | |
566 | |
558 if (++s->mb_x == s->mb_width) { | 567 if (++s->mb_x == s->mb_width) { |
559 s->mb_x = 0; | 568 s->mb_x = 0; |
560 s->mb_y++; | 569 s->mb_y++; |
561 ff_init_block_index(s); | 570 ff_init_block_index(s); |
562 } | 571 } |