[Ffmpeg-devel] [RFC] VC1 Transform in AltiVec

Rich Felker dalias
Wed Jul 19 17:27:37 CEST 2006


On Wed, Jul 19, 2006 at 07:16:30AM +0100, M?ns Rullg?rd wrote:
> Rich Felker <dalias at aerifal.cx> writes:
> 
> > On Wed, Jul 19, 2006 at 07:23:59AM +0300, Kostya wrote:
> >> > > +#define TRANSPOSE8(a,b,c,d,e,f,g,h) \
> >> > > +do { \
> >> > > +    __typeof__(a)  _A1, _B1, _C1, _D1, _E1, _F1, _G1, _H1; \
> >> > > +    __typeof__(a)  _A2, _B2, _C2, _D2, _E2, _F2, _G2, _H2; \
> >> > 
> >> > stuff beginning with _ is reserved in C ...
> >>  
> >> As I stated that's not my code. And looks like it is used to declare variables with the same type
> >> as macro arguments.
> >
> > IMO if we're going to use this hideous "typeof" gcc extension, we
> > should just use "typeof" rather than "__typeof__". The latter is meant
> > for glibc headers' internal use so that they don't conclict with the
> > application's namespace, not for general use in application code.
> >
> > On the other hand it seems quite stupid to use an extension for this.
> > We could juse instead do:
> >
> > #define TRANSPOSE8(type,a,b,c,d,e,f,g,h) \
> > do { \
> >     type  _A1, _B1, _C1, _D1, _E1, _F1, _G1, _H1; \
> 
> Naturally replacing the reserved _A1 etc names with allowed ones.  We
> already this very problem once before, when _A1 (or something very
> similar) was used in some system header file.

Yes, of course. Sorry I didn't fix that too.

Rich





More information about the ffmpeg-devel mailing list