[FFmpeg-devel] [PATCH] Add debug facilities for avfilter.c

Stefano Sabatini stefano.sabatini-lala
Tue Oct 6 02:11:12 CEST 2009


On date Tuesday 2009-10-06 00:30:58 +0200, Michael Niedermayer encoded:
> On Mon, Oct 05, 2009 at 11:46:28PM +0200, Stefano Sabatini wrote:
[...]
> > What about:
> > request_frame   : link[0xa0562b0 s:100x200 hflip           ->ffplay_output   ]
> > request_frame   : link[0xa056200 s:100x200 scale           ->hflip           ]
> > request_frame   : link[0xa034040 s:464x348 crop            ->scale           ]
> > request_frame   : link[0xa0340a0 s:464x348 vflip           ->crop            ]
> > request_frame   : link[0xa031d60 s:464x348 ffplay_input    ->vflip           ]
> > get_video_buffer: link[0xa031d60 s:464x348 ffplay_input    ->vflip           ] perms:2 w:464 h:348
> > get_video_buffer: link[0xa0340a0 s:464x348 vflip           ->crop            ] perms:2 w:464 h:348
> > get_video_buffer: link[0xa034040 s:464x348 crop            ->scale           ] perms:2 w:464 h:348
> > get_video_buffer: link[0xa034040 s:464x348 crop            ->scale           ] returning picref[0xa033fd0 data[0xa1f9750, 0xa220e10, 0xa22b130, (nil)] linesize[464, 240, 240, 0] pts:0 s:464x348]
> > get_video_buffer: link[0xa0340a0 s:464x348 vflip           ->crop            ] returning picref[0xa033fd0 data[0xa1f9750, 0xa220e10, 0xa22b130, (nil)] linesize[464, 240, 240, 0] pts:0 s:464x348]
> > get_video_buffer: link[0xa031d60 s:464x348 ffplay_input    ->vflip           ] returning picref[0xa033fd0 data[0xa220c40, 0xa22b040, 0xa235360, (nil)] linesize[-464, -240, -240, 0] pts:0 s:464x348]
> > start_frame     : link[0xa031d60 s:464x348 ffplay_input    ->vflip           ] picref[0xa006ea0 data[0xa220c40, 0xa22b040, 0xa235360, (nil)] linesize[-464, -240, -240, 0] pts:900000 s:464x348]
> > start_frame     : link[0xa0340a0 s:464x348 vflip           ->crop            ] picref[0xa057440 data[0xa1f9750, 0xa220e10, 0xa22b130, (nil)] linesize[464, 240, 240, 0] pts:900000 s:464x348]
> > start_frame     : link[0xa034040 s:464x348 crop            ->scale           ] picref[0xa08b230 data[0xa1f9750, 0xa220e10, 0xa22b130, (nil)] linesize[464, 240, 240, 0] pts:900000 s:464x348]
> > get_video_buffer: link[0xa056200 s:100x200 scale           ->hflip           ] perms:2 w:100 h:200
> > get_video_buffer: link[0xa0562b0 s:100x200 hflip           ->ffplay_output   ] perms:2 w:100 h:200
> > get_video_buffer: link[0xa0562b0 s:100x200 hflip           ->ffplay_output   ] returning picref[0xa031e40 data[0xa235480, 0xa23ac00, 0xa23c500, (nil)] linesize[112, 64, 64, 0] pts:0 s:100x200]
> > get_video_buffer: link[0xa056200 s:100x200 scale           ->hflip           ] returning picref[0xa031e40 data[0xa235480, 0xa23ac00, 0xa23c500, (nil)] linesize[112, 64, 64, 0] pts:0 s:100x200]
> > start_frame     : link[0xa056200 s:100x200 scale           ->hflip           ] picref[0xa031fb0 data[0xa235480, 0xa23ac00, 0xa23c500, (nil)] linesize[112, 64, 64, 0] pts:900000 s:100x200]
> > get_video_buffer: link[0xa0562b0 s:100x200 hflip           ->ffplay_output   ] perms:2 w:100 h:200
> > get_video_buffer: link[0xa0562b0 s:100x200 hflip           ->ffplay_output   ] returning picref[0xa032020 data[0xa23de30, 0xa2435b0, 0xa244eb0, (nil)] linesize[112, 64, 64, 0] pts:0 s:100x200]
> > start_frame     : link[0xa0562b0 s:100x200 hflip           ->ffplay_output   ] picref[0xa057290 data[0xa23de30, 0xa2435b0, 0xa244eb0, (nil)] linesize[112, 64, 64, 0] pts:900000 s:100x200]
> > draw_slice      : link[0xa031d60 s:464x348 ffplay_input    ->vflip           ] y:0 h:348
> > draw_slice      : link[0xa0340a0 s:464x348 vflip           ->crop            ] y:0 h:348
> > draw_slice      : link[0xa034040 s:464x348 crop            ->scale           ] y:0 h:348
> > draw_slice      : link[0xa056200 s:100x200 scale           ->hflip           ] y:0 h:200
> > draw_slice      : link[0xa0562b0 s:100x200 hflip           ->ffplay_output   ] y:0 h:200
> > ...
> > 
> > Now I wonder if keeping some void function would affect performance,
> > ideally a clever compiler should avoid to even call such functions (an
> > empty function which calls an empty function), but in practice things
> > may be different. In that case a macro is still preferable.
> > 
> > Regards.
> > -- 
> > FFmpeg = Faboulous and Faithful Marvellous Plastic Enhanced Game
> 
> >  avfilter.c |   43 +++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 43 insertions(+)
> > 11407ca4edfeaaf834cb3fb0674625284bbf3988  debug-system.patch
> > Index: ffmpeg-vfilters/ffmpeg/libavfilter/avfilter.c
> > ===================================================================
> > --- ffmpeg-vfilters.orig/ffmpeg/libavfilter/avfilter.c	2009-10-05 21:45:42.000000000 +0200
> > +++ ffmpeg-vfilters/ffmpeg/libavfilter/avfilter.c	2009-10-05 23:43:19.000000000 +0200
> > @@ -22,6 +22,8 @@
> >  #include "libavcodec/imgconvert.h"
> >  #include "avfilter.h"
> >  
> > +/* #define DEBUG */
> > +
> >  unsigned avfilter_version(void) {
> >      return LIBAVFILTER_VERSION_INT;
> >  }
> > @@ -160,10 +162,43 @@
> >      return 0;
> >  }
> >  
> > +static void dlog(const char *fmt, ...)
> > +{
> > +#ifdef DEBUG
> > +    va_list vl;
> > +    va_start(vl, fmt);
> > +    av_vlog(NULL, AV_LOG_DEBUG, fmt, vl);
> > +    va_end(vl);
> > +#endif
> > +}
> 
> i really do not understand you.
> why did you add this?

I wasn't even aware of the dprintf() macro, so I basically
re-implemented it.

> lets return to the previous revission please, that was cleaner.
> 
> from the previous revission please remove the snprintf() and use dprintf()
> directly, do not add functions like above please.
> This is simple debug code that is not important enough for such obfuscated
> indirection tricks whatever the reason may be for you to have added them,
> also you did not explain at all why such uncommon ways of printing would
> be usefull.

Check again.
-- 
FFmpeg = Fundamental and Faithless Merciless Powerful Ecstatic Gymnast
-------------- next part --------------
A non-text attachment was scrubbed...
Name: debug-system.patch
Type: text/x-diff
Size: 2987 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20091006/bbfeab58/attachment.patch>



More information about the ffmpeg-devel mailing list