[FFmpeg-devel] [PATCH] install aes.h, des.h and rc4.h

Michael Niedermayer michaelni
Fri Feb 6 23:38:53 CET 2009


On Fri, Feb 06, 2009 at 11:18:57PM +0100, Reimar D?ffinger wrote:
> On Fri, Feb 06, 2009 at 10:33:00PM +0100, Michael Niedermayer wrote:
> > On Fri, Feb 06, 2009 at 09:53:16PM +0100, Reimar D?ffinger wrote:
> > > But maybe we can find a better solution.
> > > What about a
> > > void *av_alloca(uint8_t *);
> > > Usage would be
> > > uint8_t buffer[size + AV_ALLOCA_PADDING];
> > > struct AVAES *a = av_alloca(buffer);
> > > 
> > > Does that seem like it might make a good solution or does it have
> > > serious issues?
> > 
> > its not particularely pretty and something should be done to make it
> > less error prone, also no function call should happen just a macro
> >  or inline function
> 
> I did intend to make the function static inline.
> I think it will always ugly, though maybe something like (untested)
> #define AV_STACK_VAR(type, name, size) \
>     uint8_t name ff_alloca_##name##_buffer[size + 16]; \
>     type name = ff_alloca_##name##_buffer + ((-(long)ff_alloca_##name##_buffer - 1)&15) + 1;
> 
> fits your idea better?

type name = ff_alloca_##name##_buffer + ((-(long)ff_alloca_##name##_buffer)&15);
and +15 should be enough

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I do not agree with what you have to say, but I'll defend to the death your
right to say it. -- Voltaire
-------------- 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-devel/attachments/20090206/f13ceb05/attachment.pgp>



More information about the ffmpeg-devel mailing list