Commit 5430b070 authored by Michael Niedermayer's avatar Michael Niedermayer

cleanup picture / debug output code

Originally committed as revision 5140 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 003ebe10
...@@ -766,22 +766,21 @@ retry: ...@@ -766,22 +766,21 @@ retry:
assert(s->current_picture.pict_type == s->current_picture_ptr->pict_type); assert(s->current_picture.pict_type == s->current_picture_ptr->pict_type);
assert(s->current_picture.pict_type == s->pict_type); assert(s->current_picture.pict_type == s->pict_type);
if(s->pict_type==B_TYPE || s->low_delay){ if (s->pict_type == B_TYPE || s->low_delay) {
*pict= *(AVFrame*)&s->current_picture; *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); 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 */ /* Return the Picture timestamp as the frame number */
/* we substract 1 because it is added on utils.c */ /* we substract 1 because it is added on utils.c */
avctx->frame_number = s->picture_number - 1; 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 #ifdef PRINT_FRAME_TIME
av_log(avctx, AV_LOG_DEBUG, "%Ld\n", rdtsc()-time); av_log(avctx, AV_LOG_DEBUG, "%Ld\n", rdtsc()-time);
#endif #endif
......
...@@ -741,15 +741,16 @@ static int rv10_decode_frame(AVCodecContext *avctx, ...@@ -741,15 +741,16 @@ static int rv10_decode_frame(AVCodecContext *avctx,
ff_er_frame_end(s); ff_er_frame_end(s);
MPV_frame_end(s); MPV_frame_end(s);
if(s->pict_type==B_TYPE || s->low_delay){ if (s->pict_type == B_TYPE || s->low_delay) {
*pict= *(AVFrame*)&s->current_picture; *pict= *(AVFrame*)s->current_picture_ptr;
ff_print_debug_info(s, pict); } else if (s->last_picture_ptr != NULL) {
} else { *pict= *(AVFrame*)s->last_picture_ptr;
*pict= *(AVFrame*)&s->last_picture;
ff_print_debug_info(s, pict);
} }
if(s->last_picture_ptr || s->low_delay)
if(s->last_picture_ptr || s->low_delay){
*data_size = sizeof(AVFrame); *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...) s->current_picture_ptr= NULL; //so we can detect if frame_end wasnt called (find some nicer solution...)
} }
......
...@@ -2606,23 +2606,22 @@ static int vc9_decode_frame(AVCodecContext *avctx, ...@@ -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->current_picture_ptr->pict_type);
assert(s->current_picture.pict_type == s->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); 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 */ /* Return the Picture timestamp as the frame number */
/* we substract 1 because it is added on utils.c */ /* we substract 1 because it is added on utils.c */
avctx->frame_number = s->picture_number - 1; 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", av_log(avctx, AV_LOG_DEBUG, "Consumed %i/%i bits\n",
get_bits_count(&s->gb), buf_size*8); get_bits_count(&s->gb), buf_size*8);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment