[FFmpeg-devel] [PATCH] HAVE_AMD3DNOW

Michael Niedermayer michaelni
Mon Jun 15 22:06:23 CEST 2009


On Sun, Jun 14, 2009 at 01:23:50PM +0300, Ivan Kalvachev wrote:
> On 6/10/09, Michael Niedermayer <michaelni at gmx.at> wrote:
> > On Tue, Jun 09, 2009 at 09:03:48PM -0400, Pavel Pavlov wrote:
> >> > -----Original Message-----
> >> > On Tue, Jun 09, 2009 at 04:05:14PM -0400, Pavel Pavlov wrote:
> > [...]
> >> > > See my previous thread: [BUG] : reading memory past the end of the
> >> > > buffer At some point we started to get crashes (on some
> >> > pc's/cameras
> >> > > only) with code that worked for years and I decided to
> >> > compile ffmpeg
> >> > > in my spare time with icl to be able to debug the problem. It's not
> >> > > importat why and what was crashing, the point is that it
> >> > would never
> >> > > crash if asm optimisations were disabled.
> >> >
> >> > > So, it would be nice to have a complete ffmpeg built with all
> >> > > optimizations enabled.
> >> >
> >> > but thats not what your patch does ...
> >> >
> >>
> >> Well, you may find one million of other reason like that one. Off course
> >> than patch doesn't do even 1/10 to get it compiled with icl, however,
> >> without it ffmpeg won't compile with icl. I'm trying to clean my changes
> >> and step by step send it in, so they could be reviewed and accepted.
> >> Even if one day I get tired to beg for it to included and unsibscribe
> >> from the list to never come back here, everything I sent in will help
> >> others who have similar goal.
> >>
> >>
> >> Unsupported instructions:
> >> c:/ffmpeg/libavcodec/x86/cavsdsp_mmx.c(437) (col. 1): error: unknown
> >> opcode "pavgusb" -- __asm
> >> c:/ffmpeg/libavcodec/x86/dsputil_mmx.c(2717) (col. 9): error: unknown
> >> opcode "pf2id" -- __asm
> >> c:/ffmpeg/libavcodec/x86/dsputil_mmx.c(2717) (col. 9): error: unknown
> >> opcode "femms" -- __asm
> >> c:/ffmpeg/libavcodec/x86/fft_3dn2.c(152) (col. 5): error: unknown opcode
> >> "pfmul" -- __asm
> >> c:/ffmpeg/libavcodec/x86/fft_3dn2.c(152) (col. 5): error: unknown opcode
> >> "pfadd" -- __asm
> >> c:/ffmpeg/libavcodec/x86/fft_3dn2.c(152) (col. 5): error: unknown opcode
> >> "pfsub" -- __asm
> >> c:/ffmpeg/libavcodec/x86/fft_3dn2.c(152) (col. 5): error: unknown opcode
> >> "pswapd" -- __asm
> >> c:/ffmpeg/libavcodec/x86/fft_3dn2.c(152) (col. 5): error: unknown opcode
> >> "pfpnacc" -- __asm
> >> c:/ffmpeg/libavcodec/h264.c(5459) (col. 32): error: unknown opcode
> >> "cltd" -- __asm
> >>
> >> There are a few places that it rejects add (can't determin operand size
> >> error: specify suffix, or something like that). Also, note that cltd has
> >> nothing to do with 3dnow, it's real name is cdq.
> >
> > report it all to intel please
> > the ffmpeg project does not accept workarounds for compiler bugs before
> > they have been reported, that said we might not accept them afterwards
> > either, but afterwards we at least know intels oppinion about it and
> > can be sure theres no user error (wrong opcode name, ...)
> 
> 
> Michael, please reconsider.
> Do not label this as compiler workaround,
> because this is not what this patch really does.

it is what the patch does


> 
> Having the ability to disable specific cpu optimization is actually good thing.

yes but this patch does more than just that


> I've been thinking about way to remove all SSE asm, as it is
> quite big portion of the dsp codebase, and I don't have it.
> To me it is just a huge waste of space and (compile) time.

if you are concerned about compile speed of asm() then keep in mind
that compilation of asm is almost just copy & paste to the .s output and
assembling is pretty much 1 line -> 1 opcode
if you now disable 30% of the code and that 30% is asm while the rest is
C you really should almost not be able to tell the difference in compile speed

[put your comment about switching to yasm or cat here]

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Why not whip the teacher when the pupil misbehaves? -- Diogenes of Sinope
-------------- 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/20090615/182552eb/attachment.pgp>



More information about the ffmpeg-devel mailing list