[FFmpeg-devel] [PATCH] mpeg4videodec: silence "Invalid andinefficient vfw-avi packed B frames detected" warning

Don Moir donmoir at comcast.net
Mon Sep 9 22:25:32 CEST 2013

----- Original Message ----- 
From: "Reimar Döffinger" <Reimar.Doeffinger at gmx.de>
To: "FFmpeg development discussions and patches" <ffmpeg-devel at ffmpeg.org>
Sent: Monday, September 09, 2013 3:36 PM
Subject: Re: [FFmpeg-devel] [PATCH] mpeg4videodec: silence "Invalid andinefficient vfw-avi packed B frames detected" warning

On Mon, Sep 09, 2013 at 09:22:07PM +0200, Reimar Döffinger wrote:
> On Sun, Sep 08, 2013 at 08:31:52PM -0400, Don Moir wrote:
> > >On Tue, Sep 03, 2013 at 04:35:35PM -0400, Don Moir wrote:
> > >>>Though for some reason this yet again seems to have degenerated into
> > >>>an IMO fairly pointless back and forth, with no attention
> > >>>or comments that would allow me to understand the issue and where I
> > >>>might have misunderstood the problem on the two suggestions I had
> > >>
> > >>Yes exactly. All I said was I would compile out the warnings if
> > >>good... just a switch mind you.. just a comment and not to generate
> > >>endless BS
> > >>
> > >>I expect the name calling to happen next :)
> >
> > >>But since it's not something that could be done trivially with a
> > >>macro or so I'm not sure it's worth it, but it's interesting to
> > >>consider.
> >
> > >Possibly not to trivial not sure. One thing is the fatals would have to be separated.
> >
> > This seems to work for me but have not tried with GCC.
> >
> > in log.h
> >
> > #ifdef _NOWARNINGS
> >    inline void av_log(void *avc1, int level, const char *fmt,...){}
> > #else
> >    void av_log(void *avc1, int level, const char *fmt,...);
> > #endif
> >
> > in log.c av_log (...) would need #ifdef
> >
> > fatals still need to be separate
> Yes, that's exactly where the problem lies.
> So you have to filter out those you do not want.
> And then it still needs to be more efficient than the function call.
> Then you have to be careful not to mess too much with the public
> headers.
> However it seems like the below would work, it would just needs
> someone to add properly to configure.
> It does cause the binary tools to act really weird though, for example
> it causes "ffprobe -h" to print a bit of help and then a huge number
> of empty lines...

>Btw. this reduces size of the stripped ffmpeg binary by about 238kB or
>almost 2.5%.

Yeah cool and also elimination of possibly many thousands of on going unneeded functions calls.

By the way this completely optimizes things out if that was not apparent. No function call, no arguements, nothing... (does for me 
and should for any reasonable compiler).

inline void av_log(void *avc1, int level, const char *fmt,...){}

More information about the ffmpeg-devel mailing list