diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2003-08-05 10:19:43 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2003-08-05 10:19:43 +0000 |
commit | 59c673d5180cd85f367df0badf435f09513a5947 (patch) | |
tree | 3b9e8bf6901570b3a18d6f84a4f41496279e3c7f | |
parent | 2864dfd5794a5a9bff612e730179a9026f042a06 (diff) | |
download | ffmpeg-59c673d5180cd85f367df0badf435f09513a5947.tar.gz |
cleanup / fixes
Originally committed as revision 2103 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/h263.c | 7 | ||||
-rw-r--r-- | libavcodec/mpegvideo.c | 2 | ||||
-rw-r--r-- | libavcodec/utils.c | 1 |
3 files changed, 6 insertions, 4 deletions
diff --git a/libavcodec/h263.c b/libavcodec/h263.c index 3f48418131..ec30214031 100644 --- a/libavcodec/h263.c +++ b/libavcodec/h263.c @@ -4832,13 +4832,13 @@ static int decode_vop_header(MpegEncContext *s, GetBitContext *gb){ check_marker(gb, "before time_increment"); - if(s->picture_number==0 && (show_bits(gb, s->time_increment_bits+1)&1)==0){ + if(s->time_increment_bits==0){ printf("hmm, seems the headers arnt complete, trying to guess time_increment_bits\n"); - for(s->time_increment_bits=1 ;s->time_increment_bits<16; s->time_increment_bits++){ if(show_bits(gb, s->time_increment_bits+1)&1) break; } + printf("my guess is %d bits ;)\n",s->time_increment_bits); } @@ -5070,7 +5070,8 @@ int ff_mpeg4_decode_picture_header(MpegEncContext * s, GetBitContext *gb) switch(startcode){ case 0x120: - decode_vol_header(s, gb); + if(decode_vol_header(s, gb) < 0) + return -1; break; case USER_DATA_STARTCODE: decode_user_data(s, gb); diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 1b01aa32d5..4ccc7d571a 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -951,7 +951,7 @@ int MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx) assert(s->last_picture_ptr==NULL || s->out_format != FMT_H264 || s->codec_id == CODEC_ID_SVQ3); /* mark&release old frames */ - if (s->pict_type != B_TYPE && s->last_picture_ptr) { + if (s->pict_type != B_TYPE && s->last_picture_ptr && s->last_picture_ptr->data[0]) { avctx->release_buffer(avctx, (AVFrame*)s->last_picture_ptr); /* release forgotten pictures */ diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 47831f2f35..33ff0f4153 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -220,6 +220,7 @@ void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic){ InternalBuffer *buf, *last, temp; assert(pic->type==FF_BUFFER_TYPE_INTERNAL); + assert(s->internal_buffer_count); for(i=0; i<s->internal_buffer_count; i++){ //just 3-5 checks so is not worth to optimize buf= &((InternalBuffer*)s->internal_buffer)[i]; |