[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