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 }