[FFmpeg-devel] [PATCH] some SIMD write-combining for h264

Loren Merritt lorenm
Sun Jan 24 10:16:12 CET 2010


On Sun, 24 Jan 2010, Alexander Strange wrote:

> I ended up lifting some address calculation out of loops - the asm statements make every compiler I tried recalculate the whole address every time. This added some warnings about pointer casts, although the pointer math works out:
>
> libavcodec/h264.h:1316:37: warning: incompatible pointer types initializing 'int16_t [2]', expected 'int16_t (*)[2]'
>            int16_t (*mvd_dst)[2] = h->mvd_table[list][b_xy];
>                                    ^~~~~~~~~~~~~~~~~~~~~~~~
> libavcodec/h264.h:1317:37: warning: incompatible pointer types initializing 'int16_t [2]', expected 'int16_t (*)[2]'
>            int16_t (*mvd_src)[2] = h->mvd_cache[list][scan8[0]];
>                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Did I get it wrong or should I just add type casts?

int16_t (*mvd_dst)[2] = &h->mvd_table[list][b_xy];

--Loren Merritt



More information about the ffmpeg-devel mailing list