[FFmpeg-devel] [flamefest-start] A little something on MMX/SSE intrinsics

Michael Niedermayer michaelni
Fri Feb 29 13:35:01 CET 2008

On Thu, Feb 28, 2008 at 11:11:07PM +0100, Luca Barbato wrote:
> Mike Melanson wrote:
> > Luca Barbato wrote:
> >> So, what about having a SoC on this kind of stuff?
> > 
> > SoC what? Project? Or qualification task? What would be the goal? And
> > who would be the mentor.
> Qualification :
>   - convert from intrisics to asm or from asm to intrinsics 4-5 
> nontrivial functions.

Honestly i dont think converting asm to intrisics is such a good idea.
This is like rewriting ffmpeg is java ...

Also the student has to do intrinsics->asm properly (assigning registers
sanely, avoid unneeded load/stores shedule instructions half sane, ...).

>   - benchmark the results.

Qualification should _require_ the new code to be faster than the intrinsics.
The reason being a student failing to write asm code which beats gcc is not
someone i want optimizing ffmpeg.
Also anyone can within 5 minutes just run gcc -S over the code and just change
this to asm (which would result in identical speed on the target cpu) so someone
submitting slower code really fails IMO.

> SoC :
>   - split x86 from x86_64, rewrite for speed for x86_64, 

Iam not in favor of brute force spliting, first there has to be some
plan/idea for each individual asm(), that is "we could avoid these 3
load/stores if we had 3 more registers" Also for splited code to be accepted
it must be impossible to have a equally fast and reasonable clean combined

> asm AND 
> intrinsics, 

Iam not in favor of this.

> benchmark the results.

benchmark on what? one cpu? several? do we have shell accounts for idle
machines with these cpus?

>   - improve the simd coverage for $arch

Too vague IMHO, we should have some list of functions to optimize at least
as starpoint, the student could always optimize other things too ...


Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Good people do not need laws to tell them to act responsibly, while bad
people will find a way around the laws. -- Plato
-------------- 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/20080229/1ec89ca1/attachment.pgp>

More information about the ffmpeg-devel mailing list