On 05/01/2011 11:46 AM, Reindl Harald wrote:
Am 01.05.2011 09:56, schrieb David Timms:
Should I be suggesting to upstream to attempt to detect CPU before running non-available instructions, eg as part of app startup ? Can that even be done (reliably)?
ffmpeg has since years a option "--enable-runtime-cpudetect" what makes the binary a little larger but let it run on all CPUs with good performance
so yes, it is possible
And libmpeg2 and many, many other especially multimedia libraries that can get a large benefit from the SIMD and other extensions in later CPUs.
This really should be done at runtime and either a jump table consulted, or code patched in/out by some means (if the expense of pointer lookups on each op is excessive).
I recently became aware of rakarrack and would very much like to use it so I might take a peek at the source to get an idea of the work involved as this is an area of interest of mine (hobby thing though - I can't promise to have lots of time to spend on it!).
Regards, Bryn.