Wed Jul 11 01:33:49 CEST 2007
On Wed, 2007-07-11 at 00:02 +0100, M?ns Rullg?rd wrote:
> Ramiro Ribeiro Polla <ramiro at lisha.ufsc.br> writes:
> > Left as is.
> > Isn't there a way to remove MANGLE completely? I once had a problem
> > compiling vorbis on MinGW (the encoder lacked the correct ifdef), and
> > when I asked on #vorbis at freenode.net about this issue, the guy wrote the
> > decoder went on and on about how bad MANGLE was, and that he got rid of
> > all those problems when he switched to the "m" constraint.
> The mangle.h header has already been removed. I don't know what it
> would take to clean up the assembler constructs. Using the "m"
> constraint is less than ideal since it specifies a memory operand,
> whereas registers are faster.
Most uses of MANGLE can be replaced with "m" constraints. Some related
matters were earlier discussed on mplayer-dev-eng. See
for an example of cleaning up asm and removing MANGLE. I'm not sure what
you mean by "less than ideal" here; using an "m" constraint with the
same parameter will generally result in the same kind of memory access
Another common ugliness in MPlayer and FFmpeg asm is the use of "asm
volatile". If the asm constraints are correct then generally "volatile"
should not be needed for computational code which doesn't set special
machine registers and such. Most of the "volatile" specifiers should be
removed, fixing up the constraints if necessary.
More information about the ffmpeg-devel