Gentoo Archives: gentoo-user

From: Alec Ten Harmsel <alec@××××××××××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] ffmpeg cpu flags
Date: Sun, 04 Oct 2015 23:50:33
Message-Id: 20151004235017.GA6134@greenbeast
In Reply to: Re: [gentoo-user] ffmpeg cpu flags by Alan McKinnon
1 On Mon, Oct 05, 2015 at 12:38:15AM +0200, Alan McKinnon wrote:
2 > On 04/10/2015 22:49, James Cloos wrote:
3 > >
4 > > And is there really any value from micromanaging things like that in an
5 > > ebuild?
6 >
7 > For ffmpeg? Yes.
8
9 Actually, I think modern versions of ffmpeg probably do not benefit as
10 much anymore. The `cpudetection' USE flag makes me think ffmpeg uses
11 the CPUID instruction to determine which x86 extensions are available,
12 and loads the appropriate code. This would enable Ubuntu et. al. to
13 build ffmpeg with all the high performance code compiled, and still be
14 compatible with all CPUs. I do not know if that is 100% true, but having
15 a `cpudetection' USE flag makes me assume that's how it works. More on
16 this here, which is the top of list when I searched "ffmpeg cpu
17 detection" [1].
18
19 > I imagine users who rely on will be mighty upset if the
20 > ebuild did not offer those flags. By way of example, many folks here
21 > have reported their own experience over the years that a given cpu with
22 > a standard Ubuntu i586 or so install struggles to keep up with a video.
23 > The same hardware running the same software on Gentoo with sane options
24 > and USE easily manages. That's the difference between managing and not
25 > managing such things in areas where it matters.
26
27 For plenty of packages, such as fftw, this is a huge benefit. fftw does
28 not have a `cpudetection' USE flag, so I would assume that sse, avx,
29 etc. must be determined at build time and can't be changed at runtime.
30
31 Alec
32
33 1. http://ffmpeg.org/pipermail/ffmpeg-devel/2012-September/131550.html