Mark Knecht posted on Tue, 10 Mar 2015 17:40:33 -0700 as excerpted: > On Tue, Mar 10, 2015 at 5:27 PM, Frank Peters <frank.pet...@comcast.net> > wrote: >> On Tue, 10 Mar 2015 17:17:11 -0700 Mark Knecht <markkne...@gmail.com> >> wrote: >> >> >>> I've had no problems, as best I can tell, with ffmpeg and these >>> settings. >>> >>> >> Well, if the use of the mmxext flag leads to instructions in the >> compiled code which the cpu does not have, then CRASH. >> >> But the SSE instruction sets supersede MMX (and mmxext) and so the >> mmxext flag is really unnecessary on Core i7 and many newer processors. >> (Ffmpeg may have reasons for still using MMX but I don't know.) >> >> Frank Peters > > True, but I don't think it's likely as the old mmxext flags (AMD only > possibly?) became a subset of SSE. That said, report the bug and copy us > on the report. I'd be interested in hearing what the developers say.
AFAIK (and verified by wikipedia, see the links below), all amd64 aka x86_64 CPUs ship with mmx/mmxext/sse/sse2. It was part of the base amd64 spec, and as such, mmxext should be considered available on any amd64 based machine. More specifically, according to wikipedia, AMD's second generation 3DNow (called various things, there was apparently never an official name) was introduced in the first-gen Athlon CPUs. The combined 24 new instructions were segregated into 5 new 3DNow instructions and 19 new MMX instructions in tech manuals, and some pre-amd64 CPUs actually shipped with the 5 additional 3DNow instructions only, while customer-focused literature tended to blur the lines and refer to the 24 instructions combined as enhanced 3DNow technology. Meanwhile, the 19 new MMX instructions were a subset of Intel's SSE (v1) instruction set. This SSE subset of 19 instructions is apparently what mmxext actually refers to. Thus, anything with sse in the cpuflags by definition has mmxext as well. So you can actually verify your CPU mmxext safe using two different methods. (1) It's in the amd64/x86_64 baseline definition, so if your machine is amd64/X86_64, it's automatically mmxext. (2) SSE supersets mmxext, so if sse appears in the cpuflags, it's automatically mmxext as well. https://en.wikipedia.org/wiki/3DNow!#3DNow_extensions (In particular, see the 3DNow or MMX Extensions paragraph.) https://en.wikipedia.org/wiki/X86-64#Architectural_features (In particular, see the SSE Instructions paragraph.) -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman