diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2006-03-10 20:40:52 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2006-03-10 20:40:52 +0000 |
commit | 5430b070a85126da5905d4c0d3d1b1ef39c7042d (patch) | |
tree | 61e00bafb98404083cf84ac97118b76cf6a4fa09 | |
parent | 003ebe100b9d9cd4ae32b16b38865714bfb6df44 (diff) | |
download | ffmpeg-5430b070a85126da5905d4c0d3d1b1ef39c7042d.tar.gz |
cleanup picture / debug output code
Originally committed as revision 5140 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/h263dec.c | 17 | ||||
-rw-r--r-- | libavcodec/rv10.c | 15 | ||||
-rw-r--r-- | libavcodec/vc9.c | 19 |
3 files changed, 25 insertions, 26 deletions
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 91caa48e55..30303f8edf 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -766,22 +766,21 @@ retry: assert(s->current_picture.pict_type == s->current_picture_ptr->pict_type); assert(s->current_picture.pict_type == s->pict_type); - if(s->pict_type==B_TYPE || s->low_delay){ - *pict= *(AVFrame*)&s->current_picture; + if (s->pict_type == B_TYPE || s->low_delay) { + *pict= *(AVFrame*)s->current_picture_ptr; + } else if (s->last_picture_ptr != NULL) { + *pict= *(AVFrame*)s->last_picture_ptr; + } + + if(s->last_picture_ptr || s->low_delay){ + *data_size = sizeof(AVFrame); ff_print_debug_info(s, pict); - } else { - *pict= *(AVFrame*)&s->last_picture; - if(pict) - 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; - /* don't output the last pic after seeking */ - if(s->last_picture_ptr || s->low_delay) - *data_size = sizeof(AVFrame); #ifdef PRINT_FRAME_TIME av_log(avctx, AV_LOG_DEBUG, "%Ld\n", rdtsc()-time); #endif diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c index 0b90cc2c18..d48e0df2f0 100644 --- a/libavcodec/rv10.c +++ b/libavcodec/rv10.c @@ -741,15 +741,16 @@ static int rv10_decode_frame(AVCodecContext *avctx, ff_er_frame_end(s); MPV_frame_end(s); - if(s->pict_type==B_TYPE || s->low_delay){ - *pict= *(AVFrame*)&s->current_picture; - ff_print_debug_info(s, pict); - } else { - *pict= *(AVFrame*)&s->last_picture; - ff_print_debug_info(s, pict); + if (s->pict_type == B_TYPE || s->low_delay) { + *pict= *(AVFrame*)s->current_picture_ptr; + } else if (s->last_picture_ptr != NULL) { + *pict= *(AVFrame*)s->last_picture_ptr; } - if(s->last_picture_ptr || s->low_delay) + + if(s->last_picture_ptr || s->low_delay){ *data_size = sizeof(AVFrame); + ff_print_debug_info(s, pict); + } s->current_picture_ptr= NULL; //so we can detect if frame_end wasnt called (find some nicer solution...) } diff --git a/libavcodec/vc9.c b/libavcodec/vc9.c index 465edda103..926ef88eb1 100644 --- a/libavcodec/vc9.c +++ b/libavcodec/vc9.c @@ -2606,23 +2606,22 @@ static int vc9_decode_frame(AVCodecContext *avctx, assert(s->current_picture.pict_type == s->current_picture_ptr->pict_type); assert(s->current_picture.pict_type == s->pict_type); - if(s->pict_type==B_TYPE || s->low_delay){ - *pict= *(AVFrame*)&s->current_picture; + + if (s->pict_type == B_TYPE || s->low_delay) { + *pict= *(AVFrame*)s->current_picture_ptr; + } else if (s->last_picture_ptr != NULL) { + *pict= *(AVFrame*)s->last_picture_ptr; + } + + if(s->last_picture_ptr || s->low_delay){ + *data_size = sizeof(AVFrame); ff_print_debug_info(s, pict); - } else { - *pict= *(AVFrame*)&s->last_picture; - if(pict) - 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; - /* dont output the last pic after seeking */ - if(s->last_picture_ptr || s->low_delay) - *data_size = sizeof(AVFrame); - av_log(avctx, AV_LOG_DEBUG, "Consumed %i/%i bits\n", get_bits_count(&s->gb), buf_size*8); |