This was done with the help of callcatcher [1]. Only functions which
are statically known to be unused are removed.
Some unused functions are not removed yet, because they might be needed
in the near future (such as open_output_stream for the encode branch).
There is one user visible change: the --subcc option did nothing, and is
removed with this commit.
[1] http://www.skynet.ie/~caolan/Packages/callcatcher.html
Ancient AMD specific enhancement to the MMX instruction set. Officually
discontinued by AMD.
Note that support for this was already disabled in the previous commit.
This commit removes the actual code.
mplayer had three ways of enabling CPU specific assembler routines:
a) Enable them at compile time; crash if the CPU can't handle it.
b) Enable them at compile time, but let the configure script detect
your CPU. Your binary will only crash if you try to run it on a
different system that has less features than yours.
This was the default, I think.
c) Runtime detection.
The implementation of b) and c) suck. a) is not really feasible (it
sucks for users). Remove all code related to this, and use libav's CPU
detection instead. Now the configure script will always enable CPU
specific features, and disable them at runtime if libav reports them
not as available.
One implication is that now the compiler is always expected to handle
SSE (etc.) inline assembly at runtime, unless it's explicitly disabled.
Only checks for x86 CPU specific features are kept, the rest is either
unused or barely used.
Get rid of all the dump -mpcu, -march etc. flags. Trust the compiler
to select decent settings.
Get rid of support for the following operating systems:
- BSD/OS (some ancient BSD fork)
- QNX (don't care)
- BeOS (dead, Haiku support is still welcome)
- AIX (don't care)
- HP-UX (don't care)
- OS/2 (dead, actual support has been removed a while ago)
Remove the configure code for detecting the endianness. Instead, use
the standard header <endian.h>, which can be used if _GNU_SOURCE or
_BSD_SOURCE is defined. (Maybe these changes should have been in a
separate commit.)
Since this is a quite violent code removal orgy, and I'm testing only
on x86 32 bit Linux, expect regressions.
and #ifdef HAVE_MMX etc -> #if HAVE_MMX.
There might be still more that need to be fixed.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28325 b3059339-0415-0410-9bf9-f77b7e298cf2
Neither variant is valid C99 syntax, but __asm__ is the most portable variant.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27788 b3059339-0415-0410-9bf9-f77b7e298cf2
Change ".balign 16\n\t" to ASMALIGN(4) and "/nop" to " # nop". The new
version is what other code in MPlayer uses, and works with old
assembler versions like that used on OS X.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26005 b3059339-0415-0410-9bf9-f77b7e298cf2
(problems only occur with -O0 or -Os, see also
http://bugs.gentoo.org/show_bug.cgi?id=156375)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21385 b3059339-0415-0410-9bf9-f77b7e298cf2
Patch by Zuxy Meng < zuxy POIS meng AH gmail POIS com >
Original thread:
Date: Mon, 12 Jun 2006 00:31:53 -0700 (PDT)
Subject [MPlayer-dev-eng] [PATCH] Loop invariant motion in libvo/osd_template.c
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18686 b3059339-0415-0410-9bf9-f77b7e298cf2
I don't know why Michael Niedermayer disabled it but:
my benchmarks of 25 frames for TIMER+SUBTITLE (measured by RDTSC):
Non-MMX stuff:
total=306142159
MMX stuff:
total=159534150
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2834 b3059339-0415-0410-9bf9-f77b7e298cf2
I've found that mplayer's measuring is not precise :(
Here my test with using RDTSC:
Old stuff:
rd_tsc: 774377
rd_tsc: 765985
rd_tsc: 265309
New CPU optimized stuff:
rd_tsc: 661154
rd_tsc: 641317
rd_tsc: 222448
New MMX2 optimized stuff:
rd_tsc: 269544
rd_tsc: 329189
rd_tsc: 173110
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2824 b3059339-0415-0410-9bf9-f77b7e298cf2
nick why did u remove the #if 0 around that code without testing it?
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2808 b3059339-0415-0410-9bf9-f77b7e298cf2
Special notes for Michael Niedermayer:
Are you still here?
If you don't like for(cond;cond;cond) C-constructions and prefer
asm ones: "jb 1b" then use .align 16 pseudo assembler instructions
else loops rather will be not aligned on correct boundary.
(16 it's for K7 for pent should be 8).
Your parts have a lot such lacks.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2799 b3059339-0415-0410-9bf9-f77b7e298cf2