Mercurial > libavcodec.hg
comparison svq3.c @ 5519:b790f8c0ee24 libavcodec
use skip_bits where appropriate
author | alex |
---|---|
date | Thu, 09 Aug 2007 01:08:28 +0000 |
parents | 9f8219a3b86f |
children | 4a26dc4ca11d |
comparison
equal
deleted
inserted
replaced
5518:d2ef80f5fd7e | 5519:b790f8c0ee24 |
---|---|
746 | 746 |
747 if ((header & 0x9F) == 2) { | 747 if ((header & 0x9F) == 2) { |
748 i = (s->mb_num < 64) ? 6 : (1 + av_log2 (s->mb_num - 1)); | 748 i = (s->mb_num < 64) ? 6 : (1 + av_log2 (s->mb_num - 1)); |
749 s->mb_skip_run = get_bits (&s->gb, i) - (s->mb_x + (s->mb_y * s->mb_width)); | 749 s->mb_skip_run = get_bits (&s->gb, i) - (s->mb_x + (s->mb_y * s->mb_width)); |
750 } else { | 750 } else { |
751 get_bits1 (&s->gb); | 751 skip_bits1 (&s->gb); |
752 s->mb_skip_run = 0; | 752 s->mb_skip_run = 0; |
753 } | 753 } |
754 | 754 |
755 h->slice_num = get_bits (&s->gb, 8); | 755 h->slice_num = get_bits (&s->gb, 8); |
756 s->qscale = get_bits (&s->gb, 5); | 756 s->qscale = get_bits (&s->gb, 5); |
757 s->adaptive_quant = get_bits1 (&s->gb); | 757 s->adaptive_quant = get_bits1 (&s->gb); |
758 | 758 |
759 /* unknown fields */ | 759 /* unknown fields */ |
760 get_bits1 (&s->gb); | 760 skip_bits1 (&s->gb); |
761 | 761 |
762 if (h->unknown_svq3_flag) { | 762 if (h->unknown_svq3_flag) { |
763 get_bits1 (&s->gb); | 763 skip_bits1 (&s->gb); |
764 } | 764 } |
765 | 765 |
766 get_bits1 (&s->gb); | 766 skip_bits1 (&s->gb); |
767 get_bits (&s->gb, 2); | 767 skip_bits (&s->gb, 2); |
768 | 768 |
769 while (get_bits1 (&s->gb)) { | 769 while (get_bits1 (&s->gb)) { |
770 get_bits (&s->gb, 8); | 770 skip_bits (&s->gb, 8); |
771 } | 771 } |
772 | 772 |
773 /* reset intra predictors and invalidate motion vector references */ | 773 /* reset intra predictors and invalidate motion vector references */ |
774 if (s->mb_x > 0) { | 774 if (s->mb_x > 0) { |
775 memset (h->intra4x4_pred_mode[mb_xy - 1], -1, 4*sizeof(int8_t)); | 775 memset (h->intra4x4_pred_mode[mb_xy - 1], -1, 4*sizeof(int8_t)); |
832 size = AV_RB32(&extradata[4]); | 832 size = AV_RB32(&extradata[4]); |
833 init_get_bits (&gb, extradata + 8, size*8); | 833 init_get_bits (&gb, extradata + 8, size*8); |
834 | 834 |
835 /* 'frame size code' and optional 'width, height' */ | 835 /* 'frame size code' and optional 'width, height' */ |
836 if (get_bits (&gb, 3) == 7) { | 836 if (get_bits (&gb, 3) == 7) { |
837 get_bits (&gb, 12); | 837 skip_bits (&gb, 12); |
838 get_bits (&gb, 12); | 838 skip_bits (&gb, 12); |
839 } | 839 } |
840 | 840 |
841 h->halfpel_flag = get_bits1 (&gb); | 841 h->halfpel_flag = get_bits1 (&gb); |
842 h->thirdpel_flag = get_bits1 (&gb); | 842 h->thirdpel_flag = get_bits1 (&gb); |
843 | 843 |
844 /* unknown fields */ | 844 /* unknown fields */ |
845 get_bits1 (&gb); | 845 skip_bits1 (&gb); |
846 get_bits1 (&gb); | 846 skip_bits1 (&gb); |
847 get_bits1 (&gb); | 847 skip_bits1 (&gb); |
848 get_bits1 (&gb); | 848 skip_bits1 (&gb); |
849 | 849 |
850 s->low_delay = get_bits1 (&gb); | 850 s->low_delay = get_bits1 (&gb); |
851 | 851 |
852 /* unknown field */ | 852 /* unknown field */ |
853 get_bits1 (&gb); | 853 skip_bits1 (&gb); |
854 | 854 |
855 while (get_bits1 (&gb)) { | 855 while (get_bits1 (&gb)) { |
856 get_bits (&gb, 8); | 856 skip_bits (&gb, 8); |
857 } | 857 } |
858 | 858 |
859 h->unknown_svq3_flag = get_bits1 (&gb); | 859 h->unknown_svq3_flag = get_bits1 (&gb); |
860 avctx->has_b_frames = !s->low_delay; | 860 avctx->has_b_frames = !s->low_delay; |
861 } | 861 } |