[FFmpeg-cvslog] r29353 - trunk/libswscale/swscale_internal.h

Michael Niedermayer michaelni
Thu Jun 11 21:59:54 CEST 2009


On Thu, Jun 11, 2009 at 09:44:54PM +0200, Diego Biurrun wrote:
> On Thu, Jun 11, 2009 at 09:08:44PM +0200, Michael Niedermayer wrote:
> > On Thu, Jun 11, 2009 at 07:24:27PM +0200, Diego Biurrun wrote:
> > > On Thu, Jun 11, 2009 at 06:44:47PM +0200, Michael Niedermayer wrote:
> > > > On Thu, Jun 11, 2009 at 12:19:04PM +0200, diego wrote:
> > > > > 
> > > > > Log:
> > > > > Add libavutil/internal.h #include, required for the DECLARE_ALIGNED macro.
> > > > > This fixes swscale-example compilation.
> > > > > 
> > > > > --- trunk/libswscale/swscale_internal.h	Sun Jun  7 16:42:43 2009	(r29352)
> > > > > +++ trunk/libswscale/swscale_internal.h	Thu Jun 11 12:19:04 2009	(r29353)
> > > > > @@ -28,6 +28,7 @@
> > > > >  #endif
> > > > >  
> > > > >  #include "libavutil/avutil.h"
> > > > 
> > > > > +#include "libavutil/internal.h"
> > > > 
> > > > anyone against me renaming this header to
> > > > internal_to_libavutil_under_absolutely_no_circumstances_include_this_outside_libavutil.h
> > > > ?
> > > 
> > > Not #include it outside of a header that does not exist?
> > > 
> > > Anyway, swscale_internal.h uses the DECLARE_ALIGNED macro, so there is
> > > no way around including libavutil/internal.h here.
> > 
> > after some investigation, this all seems a complex mess ...
> > Lets look at this chronologically
> > 
> > in r20037 | diego | 2006-10-04 
> > 2 warnings are fixed by #including swscale_internal.h into swscale-example,
> > whatever the correct fix, this commit was wrong,
> > swscale-example as an application example has no business to include
> > anything internal. This commit made swscale-example depend indirectly
> > on DECLARE_ALIGNED
> > 
> > in r16781 | diego | 2009-01-25
> > DECLARE_ALIGNED is moved from mem.h to internal.h breaking the compilation
> > of swscale-example
> > 
> > the rest was then randomly including whatever internal header was required
> > to make it compile
> 
> I don't see the relevance to the issue at hand.  #including an internal
> header only exposes the real problem, which is using parts from such a
> header.

the relevance is that the warnings pointed to a problem, that is use of
internal functions in swscale-example

you did NOT fix the problem that the warnings pointed to but added
another bug that hid the warnings by including an internal header
(swscale_internal.h)

That internal header required another internal header which you didnt
properly include either (common.h vs internal.h) id suspect its because
of various #defines that where not set up in an external application

now the 2nd internal header conflicted with printf and co so you added
#undefs

in each step the code became more buggy then the previous
originally we had a single bug, that is use of 2 functions that where
not exported by swscale

now we still have that very same bug about the functions but in addition
we also include 2 internal headers that no user application should ever touch
that is in an example people will use to write such applications
we also have a list of #undefs that as well obviously dont belong in
an user application using swscale

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I know you won't believe me, but the highest form of Human Excellence is
to question oneself and others. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20090611/990ae784/attachment.pgp>



More information about the ffmpeg-cvslog mailing list