[FFmpeg-devel] cavs.c DECLARE_ALIGNED in ff_cavs_filter

Stefan Gehrer stefan.gehrer
Wed May 27 08:50:20 CEST 2009


Hi,

Reimar D?ffinger wrote:
> Hello,
> currently there is this code in cavs.c:
>     DECLARE_ALIGNED_8(uint8_t, bs[8]);
> The reason for it is that kind of code:
>> *((uint64_t *)bs) = 0x0202020202020202ULL;
>> if( *((uint64_t *)bs) ) {
> 
> I thought of "solving" this via a union, but is this code really this
> speed critical that we need such a mess?

My impression is that in lavc code that is on the macroblock level
or smaller units is usually considered speed-critical enough to
make such things acceptable.

> Can't we just use memset for the writes and e.g. AV_RN64 for the read?

Would moving bs to the context and keeping the DECLARE_ALIGNED_8
be an option?

Stefan



More information about the ffmpeg-devel mailing list