From c8c437bc236ac66756541b5e6a070fb83f309864 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 4 Dec 2002 12:09:27 +0000 Subject: [PATCH] specific debug output support Originally committed as revision 1305 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/avcodec.h | 18 ++++++++++++++++-- libavcodec/h263.c | 18 ++++++++++-------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index e6c14afa0e..287b17c09e 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -5,8 +5,8 @@ #define LIBAVCODEC_VERSION_INT 0x000406 #define LIBAVCODEC_VERSION "0.4.6" -#define LIBAVCODEC_BUILD 4641 -#define LIBAVCODEC_BUILD_STR "4641" +#define LIBAVCODEC_BUILD 4642 +#define LIBAVCODEC_BUILD_STR "4642" enum CodecID { CODEC_ID_NONE, @@ -812,6 +812,20 @@ typedef struct AVCodecContext { * decoding: set by lavc */ AVVideoFrame *coded_picture; + + /** + * debug + * encoding: set by user. + * decoding: set by user. + */ + int debug; +#define FF_DEBUG_PICT_INFO 1 +#define FF_DEBUG_RC 2 +#define FF_DEBUG_BITSTREAM 4 +#define FF_DEBUG_MB_TYPE 8 +#define FF_DEBUG_QP 16 +#define FF_DEBUG_MV 32 +#define FF_DEBUG_VIS_MV 64 } AVCodecContext; typedef struct AVCodec { diff --git a/libavcodec/h263.c b/libavcodec/h263.c index caa1bf4552..98b29ad0b4 100644 --- a/libavcodec/h263.c +++ b/libavcodec/h263.c @@ -4546,14 +4546,16 @@ static int decode_vop_header(MpegEncContext *s, GetBitContext *gb){ s->b_code = get_bits(gb, 3); }else s->b_code=1; -#if 0 -printf("qp:%d fc:%d bc:%d type:%s size:%d pro:%d alt:%d top:%d qpel:%d part:%d resync:%d w:%d a:%d\n", - s->qscale, s->f_code, s->b_code, - s->pict_type == I_TYPE ? "I" : (s->pict_type == P_TYPE ? "P" : (s->pict_type == B_TYPE ? "B" : "S")), - gb->size,s->progressive_sequence, s->alternate_scan, s->top_field_first, - s->quarter_sample, s->data_partitioning, s->resync_marker, s->num_sprite_warping_points, - s->sprite_warping_accuracy); -#endif + + if(s->avctx->debug&FF_DEBUG_PICT_INFO){ + printf("qp:%d fc:%d bc:%d type:%s size:%d pro:%d alt:%d top:%d qpel:%d part:%d resync:%d w:%d a:%d\n", + s->qscale, s->f_code, s->b_code, + s->pict_type == I_TYPE ? "I" : (s->pict_type == P_TYPE ? "P" : (s->pict_type == B_TYPE ? "B" : "S")), + gb->size,s->progressive_sequence, s->alternate_scan, s->top_field_first, + s->quarter_sample, s->data_partitioning, s->resync_marker, s->num_sprite_warping_points, + s->sprite_warping_accuracy); + } + if(!s->scalability){ if (s->shape!=RECT_SHAPE && s->pict_type!=I_TYPE) { skip_bits1(gb); // vop shape coding type