Mercurial > libavcodec.hg
comparison mpeg12enc.c @ 5446:9af99d2cce0f libavcodec
get rid of mb_type_len
author | michael |
---|---|
date | Wed, 01 Aug 2007 22:39:03 +0000 |
parents | 5581a40c673a |
children | 493dc59d469a |
comparison
equal
deleted
inserted
replaced
5445:5581a40c673a | 5446:9af99d2cce0f |
---|---|
560 put_bits(&s->pb, 2, cbp & 3); | 560 put_bits(&s->pb, 2, cbp & 3); |
561 } | 561 } |
562 } | 562 } |
563 s->f_count++; | 563 s->f_count++; |
564 } else{ | 564 } else{ |
565 static const int mb_type_len[4]={0,4,3,2}; //bak,for,bi | |
566 | |
567 if(s->mv_type == MV_TYPE_16X16){ | 565 if(s->mv_type == MV_TYPE_16X16){ |
568 if (cbp){ // With coded bloc pattern | 566 if (cbp){ // With coded bloc pattern |
569 if (s->dquant) { | 567 if (s->dquant) { |
570 if(s->mv_dir == MV_DIR_FORWARD) | 568 if(s->mv_dir == MV_DIR_FORWARD) |
571 put_mb_modes(s, 6, 3, 1, 0); | 569 put_mb_modes(s, 6, 3, 1, 0); |
572 else | 570 else |
573 put_mb_modes(s, mb_type_len[s->mv_dir]+3, 2, 1, 0); | 571 put_mb_modes(s, 8-s->mv_dir, 2, 1, 0); |
574 put_qscale(s); | 572 put_qscale(s); |
575 } else { | 573 } else { |
576 put_mb_modes(s, mb_type_len[s->mv_dir], 3, 1, 0); | 574 put_mb_modes(s, 5-s->mv_dir, 3, 1, 0); |
577 } | 575 } |
578 }else{ // No coded bloc pattern | 576 }else{ // No coded bloc pattern |
579 put_bits(&s->pb, mb_type_len[s->mv_dir], 2); | 577 put_bits(&s->pb, 5-s->mv_dir, 2); |
580 if (!s->frame_pred_frame_dct) | 578 if (!s->frame_pred_frame_dct) |
581 put_bits(&s->pb, 2, 2); /* motion_type: frame */ | 579 put_bits(&s->pb, 2, 2); /* motion_type: frame */ |
582 s->qscale -= s->dquant; | 580 s->qscale -= s->dquant; |
583 } | 581 } |
584 s->misc_bits += get_bits_diff(s); | 582 s->misc_bits += get_bits_diff(s); |
602 if (cbp){ // With coded bloc pattern | 600 if (cbp){ // With coded bloc pattern |
603 if (s->dquant) { | 601 if (s->dquant) { |
604 if(s->mv_dir == MV_DIR_FORWARD) | 602 if(s->mv_dir == MV_DIR_FORWARD) |
605 put_mb_modes(s, 6, 3, 1, 1); | 603 put_mb_modes(s, 6, 3, 1, 1); |
606 else | 604 else |
607 put_mb_modes(s, mb_type_len[s->mv_dir]+3, 2, 1, 1); | 605 put_mb_modes(s, 8-s->mv_dir, 2, 1, 1); |
608 put_qscale(s); | 606 put_qscale(s); |
609 } else { | 607 } else { |
610 put_mb_modes(s, mb_type_len[s->mv_dir], 3, 1, 1); | 608 put_mb_modes(s, 5-s->mv_dir, 3, 1, 1); |
611 } | 609 } |
612 }else{ // No coded bloc pattern | 610 }else{ // No coded bloc pattern |
613 put_bits(&s->pb, mb_type_len[s->mv_dir], 2); | 611 put_bits(&s->pb, 5-s->mv_dir, 2); |
614 put_bits(&s->pb, 2, 1); /* motion_type: field */ | 612 put_bits(&s->pb, 2, 1); /* motion_type: field */ |
615 s->qscale -= s->dquant; | 613 s->qscale -= s->dquant; |
616 } | 614 } |
617 s->misc_bits += get_bits_diff(s); | 615 s->misc_bits += get_bits_diff(s); |
618 if (s->mv_dir&MV_DIR_FORWARD){ | 616 if (s->mv_dir&MV_DIR_FORWARD){ |