[FFmpeg-devel] MMX accelerated DSP functions for VC1/WMV3 decoders

Christophe GISQUET christophe.gisquet
Sat Jun 30 22:13:29 CEST 2007

Good evening,

Michael Niedermayer a ?crit :
> no, you can design a cpu where its not

That was not my question. Your suggestion shows that you know
instruction cycle counts or pairing restrictions. I don't. Hence I would
have liked to know if that suggestion was based on one experience or not.

On my core2, a billion iterations of 2 such instructions give:
- paddsw: 2.5s
- psllw: 3.0s
(the loop is not unrolled at all, so part of the timing is due to its

> currently the code does run a dummy do nothing filter in 6 out of 15 cases
> this is not good, if there where a general variable tap offset supported
> then i think it should be easier to skip these dummy filter_0 copy thing

Yes, or, notwithstanding the vertical/horizontal issue, we can check for
the value 0, like:

function(dst, src, n1, n2) {
    ptr, tmp;
    if (n1) {
      filter[n1](tmp, src);
      ptr = tmp;
    else ptr = src;

    filter[n2](dst, ptr);

Best regards,
Christophe GISQUET

More information about the ffmpeg-devel mailing list