summaryrefslogtreecommitdiff
path: root/libavcodec/h261.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2004-10-08 21:45:29 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-10-08 21:45:29 +0000
commit8c7aaf5b6de268518e19a1368fb3fb2f78829e95 (patch)
tree8330571899a2db93fe1b4ced0123e62af532ac36 /libavcodec/h261.c
parent576ae256a404ceba6527e6042d500e04b3f489a3 (diff)
nonsense removial
Originally committed as revision 3573 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h261.c')
-rw-r--r--libavcodec/h261.c26
1 files changed, 3 insertions, 23 deletions
diff --git a/libavcodec/h261.c b/libavcodec/h261.c
index 909af75df2..d4ad97cbef 100644
--- a/libavcodec/h261.c
+++ b/libavcodec/h261.c
@@ -130,8 +130,6 @@ static int h261_decode_init(AVCodecContext *avctx){
h261_decode_init_vlc(h);
- h->bits_left = 0;
- h->last_bits = 0;
h->gob_start_code_skipped = 0;
return 0;
@@ -486,10 +484,7 @@ static int h261_decode_block(H261Context * h, DCTELEM * block,
int h261_decode_picture_header(H261Context *h){
MpegEncContext * const s = &h->s;
int format, i;
- uint32_t startcode;
- align_get_bits(&s->gb);
-
- startcode = (h->last_bits << (12 - (8-h->bits_left))) | get_bits(&s->gb, 20-8 - (8- h->bits_left));
+ uint32_t startcode= 0;
for(i= s->gb.size_in_bits - get_bits_count(&s->gb); i>24; i-=1){
startcode = ((startcode << 1) | get_bits(&s->gb, 1)) & 0x000FFFFF;
@@ -646,13 +641,13 @@ static int h261_parse(AVCodecParserContext *s,
* returns the number of bytes consumed for building the current frame
*/
static int get_consumed_bytes(MpegEncContext *s, int buf_size){
- int pos= (get_bits_count(&s->gb)+7)>>3;
-
if(s->flags&CODEC_FLAG_TRUNCATED){
+ int pos= (get_bits_count(&s->gb)+7)>>3;
pos -= s->parse_context.last_index;
if(pos<0) pos=0;// padding is not really read so this might be -1
return pos;
}else{
+ int pos= get_bits_count(&s->gb)>>3;
if(pos==0) pos=1; //avoid infinite loops (i doubt thats needed but ...)
if(pos+10>buf_size) pos=buf_size; // oops ;)
@@ -678,7 +673,6 @@ static int h261_decode_frame(AVCodecContext *avctx,
/* no supplementary picture */
if (buf_size == 0) {
-
return 0;
}
@@ -750,20 +744,6 @@ retry:
}
MPV_frame_end(s);
- // h261 doesn't have byte aligned codes
- // store the bits of the next frame that are left in the last byte
- // in the H261Context and remember the number of stored bits
- {
- int bitsleft;
- int current_pos= get_bits_count(&s->gb)>>3;
- bitsleft = (current_pos<<3) - get_bits_count(&s->gb);
- h->bits_left = - bitsleft;
- if(bitsleft > 0)
- h->last_bits= get_bits(&s->gb, 8 - h->bits_left);
- else
- h->last_bits = 0;
- }
-
assert(s->current_picture.pict_type == s->current_picture_ptr->pict_type);
assert(s->current_picture.pict_type == s->pict_type);
*pict= *(AVFrame*)&s->current_picture;