# HG changeset patch # User michael # Date 1142023252 0 # Node ID 333e016c2c8a9b0e0daa9145c38fd7afd2c610bb # Parent 68d7896a08e429ff55a227bf794feb081ae63161 cleanup picture / debug output code diff -r 68d7896a08e4 -r 333e016c2c8a h263dec.c --- a/h263dec.c Fri Mar 10 19:42:51 2006 +0000 +++ b/h263dec.c Fri Mar 10 20:40:52 2006 +0000 @@ -766,22 +766,21 @@ 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 -r 68d7896a08e4 -r 333e016c2c8a rv10.c --- a/rv10.c Fri Mar 10 19:42:51 2006 +0000 +++ b/rv10.c Fri Mar 10 20:40:52 2006 +0000 @@ -741,15 +741,16 @@ 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; + 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); } - if(s->last_picture_ptr || s->low_delay) - *data_size = sizeof(AVFrame); s->current_picture_ptr= NULL; //so we can detect if frame_end wasnt called (find some nicer solution...) } diff -r 68d7896a08e4 -r 333e016c2c8a vc9.c --- a/vc9.c Fri Mar 10 19:42:51 2006 +0000 +++ b/vc9.c Fri Mar 10 20:40:52 2006 +0000 @@ -2606,23 +2606,22 @@ 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);