Browse Source

fix codec timebase and timestamps

Originally committed as revision 5998 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Michael Niedermayer 19 years ago
parent
commit
94c8fbdcad
1 changed files with 8 additions and 5 deletions
  1. +8
    -5
      libavcodec/h261.c

+ 8
- 5
libavcodec/h261.c View File

@@ -781,7 +781,14 @@ static int h261_decode_picture_header(H261Context *h){
}

/* temporal reference */
s->picture_number = get_bits(&s->gb, 5); /* picture timestamp */
i= get_bits(&s->gb, 5); /* picture timestamp */
if(i < (s->picture_number&31))
i += 32;
s->picture_number = (s->picture_number&~31) + i;

s->avctx->time_base= (AVRational){1001, 30000};
s->current_picture.pts= s->picture_number;


/* PTYPE starts here */
skip_bits1(&s->gb); /* split screen off */
@@ -998,10 +1005,6 @@ assert(s->current_picture.pict_type == s->pict_type);
*pict= *(AVFrame*)s->current_picture_ptr;
ff_print_debug_info(s, pict);

/* Return the Picture timestamp as the frame number */
/* we substract 1 because it is added on utils.c */
avctx->frame_number = s->picture_number - 1;

*data_size = sizeof(AVFrame);

return get_consumed_bytes(s, buf_size);


Loading…
Cancel
Save