* [gentoo-user] ffmpeg cpu flags
@ 2015-10-04 20:49 James Cloos
2015-10-04 22:38 ` Alan McKinnon
0 siblings, 1 reply; 6+ messages in thread
From: James Cloos @ 2015-10-04 20:49 UTC (permalink / raw
To: gentoo-user
I see that the ffmpeg ebuild requires that mmxext is set if sse is set.
Isn't mmxext amd-only?
And is there really any value from micromanaging things like that in an
ebuild?
-JimC
--
James Cloos <cloos@jhcloos.com> OpenPGP: 0x997A9F17ED7DAEA6
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-user] ffmpeg cpu flags
2015-10-04 20:49 [gentoo-user] ffmpeg cpu flags James Cloos
@ 2015-10-04 22:38 ` Alan McKinnon
2015-10-04 23:50 ` Alec Ten Harmsel
2015-10-05 16:25 ` Stroller
0 siblings, 2 replies; 6+ messages in thread
From: Alan McKinnon @ 2015-10-04 22:38 UTC (permalink / raw
To: gentoo-user
On 04/10/2015 22:49, James Cloos wrote:
> I see that the ffmpeg ebuild requires that mmxext is set if sse is set.
>
> Isn't mmxext amd-only?
Definitely not. Intel designed mmx
>
> And is there really any value from micromanaging things like that in an
> ebuild?
For ffmpeg? Yes. I imagine users who rely on will be mighty upset if the
ebuild did not offer those flags. By way of example, many folks here
have reported their own experience over the years that a given cpu with
a standard Ubuntu i586 or so install struggles to keep up with a video.
The same hardware running the same software on Gentoo with sane options
and USE easily manages. That's the difference between managing and not
managing such things in areas where it matters.
Besides, the ability to precisely control details such as mmx/sse in
areas where it matters using USE is really the only thing Gentoo sells.
Take that away and all you have is a regular distro that really likes
showing gcc output
--
Alan McKinnon
alan.mckinnon@gmail.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-user] ffmpeg cpu flags
2015-10-04 22:38 ` Alan McKinnon
@ 2015-10-04 23:50 ` Alec Ten Harmsel
2015-10-05 16:25 ` Stroller
1 sibling, 0 replies; 6+ messages in thread
From: Alec Ten Harmsel @ 2015-10-04 23:50 UTC (permalink / raw
To: gentoo-user
On Mon, Oct 05, 2015 at 12:38:15AM +0200, Alan McKinnon wrote:
> On 04/10/2015 22:49, James Cloos wrote:
> >
> > And is there really any value from micromanaging things like that in an
> > ebuild?
>
> For ffmpeg? Yes.
Actually, I think modern versions of ffmpeg probably do not benefit as
much anymore. The `cpudetection' USE flag makes me think ffmpeg uses
the CPUID instruction to determine which x86 extensions are available,
and loads the appropriate code. This would enable Ubuntu et. al. to
build ffmpeg with all the high performance code compiled, and still be
compatible with all CPUs. I do not know if that is 100% true, but having
a `cpudetection' USE flag makes me assume that's how it works. More on
this here, which is the top of list when I searched "ffmpeg cpu
detection" [1].
> I imagine users who rely on will be mighty upset if the
> ebuild did not offer those flags. By way of example, many folks here
> have reported their own experience over the years that a given cpu with
> a standard Ubuntu i586 or so install struggles to keep up with a video.
> The same hardware running the same software on Gentoo with sane options
> and USE easily manages. That's the difference between managing and not
> managing such things in areas where it matters.
For plenty of packages, such as fftw, this is a huge benefit. fftw does
not have a `cpudetection' USE flag, so I would assume that sse, avx,
etc. must be determined at build time and can't be changed at runtime.
Alec
1. http://ffmpeg.org/pipermail/ffmpeg-devel/2012-September/131550.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-user] ffmpeg cpu flags
2015-10-04 22:38 ` Alan McKinnon
2015-10-04 23:50 ` Alec Ten Harmsel
@ 2015-10-05 16:25 ` Stroller
2015-10-05 16:47 ` Dale
2015-10-05 19:57 ` Alan McKinnon
1 sibling, 2 replies; 6+ messages in thread
From: Stroller @ 2015-10-05 16:25 UTC (permalink / raw
To: gentoo-user
> On Sun, 4 October 2015, at 11:38 p.m., Alan McKinnon <alan.mckinnon@gmail.com> wrote:
>
>> I see that the ffmpeg ebuild requires that mmxext is set if sse is set.
>>
>> Isn't mmxext amd-only?
>
> Definitely not. Intel designed mmx
The ffmpeg has both "mmx" and "mmxext" USE flags - presumably they're not the same thing.
CPU_FLAGS_X86="3dnow 3dnowext avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 sse4_1 sse4_2 ssse3 xop"
My AMD Neon supports both.
Stroller.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-user] ffmpeg cpu flags
2015-10-05 16:25 ` Stroller
@ 2015-10-05 16:47 ` Dale
2015-10-05 19:57 ` Alan McKinnon
1 sibling, 0 replies; 6+ messages in thread
From: Dale @ 2015-10-05 16:47 UTC (permalink / raw
To: gentoo-user
Stroller wrote:
>> On Sun, 4 October 2015, at 11:38 p.m., Alan McKinnon <alan.mckinnon@gmail.com> wrote:
>>
>>> I see that the ffmpeg ebuild requires that mmxext is set if sse is set.
>>>
>>> Isn't mmxext amd-only?
>> Definitely not. Intel designed mmx
> The ffmpeg has both "mmx" and "mmxext" USE flags - presumably they're not the same thing.
>
> CPU_FLAGS_X86="3dnow 3dnowext avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 sse4_1 sse4_2 ssse3 xop"
>
> My AMD Neon supports both.
>
> Stroller.
>
>
>
Isn't this package supposed to tell what the CPU supports?
cpuinfo2cpuflags
I think that is what I used a good while back when this started being
supported differently.
Dale
:-) :-)
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-user] ffmpeg cpu flags
2015-10-05 16:25 ` Stroller
2015-10-05 16:47 ` Dale
@ 2015-10-05 19:57 ` Alan McKinnon
1 sibling, 0 replies; 6+ messages in thread
From: Alan McKinnon @ 2015-10-05 19:57 UTC (permalink / raw
To: gentoo-user
On 05/10/2015 18:25, Stroller wrote:
>
>> On Sun, 4 October 2015, at 11:38 p.m., Alan McKinnon <alan.mckinnon@gmail.com> wrote:
>>
>>> I see that the ffmpeg ebuild requires that mmxext is set if sse is set.
>>>
>>> Isn't mmxext amd-only?
>>
>> Definitely not. Intel designed mmx
>
> The ffmpeg has both "mmx" and "mmxext" USE flags - presumably they're not the same thing.
Correct. mmxext is AMD's set of extensions to standard mmx.
Useful stuff from mmxext later made it's way into sse.
http://softpixel.com/~cwright/programming/simd/mmxext.php
>
> CPU_FLAGS_X86="3dnow 3dnowext avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 sse4_1 sse4_2 ssse3 xop"
>
> My AMD Neon supports both.
--
Alan McKinnon
alan.mckinnon@gmail.com
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-10-05 19:57 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-04 20:49 [gentoo-user] ffmpeg cpu flags James Cloos
2015-10-04 22:38 ` Alan McKinnon
2015-10-04 23:50 ` Alec Ten Harmsel
2015-10-05 16:25 ` Stroller
2015-10-05 16:47 ` Dale
2015-10-05 19:57 ` Alan McKinnon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox