Ben Avison
a22ae9f0c5
mpegts: Remove one 64-bit integer modulus operation per packet
...
The common case of the pointer having increased by one packet (which results
in no change to the modulus) can be detected with a 64-bit subtraction,
which is far cheaper than a division on many platforms.
Before After
Mean StdDev Mean StdDev Change
Divisions 248.3 8.8 51.5 7.4 +381.7%
Overall 2773.2 25.6 2372.5 43.1 +16.9%
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Diego Biurrun
d5c62122a7
Move av_reverse table to libavcodec
...
It is only used in that library.
12 years ago
Diego Biurrun
9734b8ba56
Move avutil tables only used in libavcodec to libavcodec.
12 years ago
Mans Rullgard
d7a4f8f8b9
Move MASK_ABS macro to libavcodec/mathops.h
...
This macro is only used in two places, both in libavcodec, so this
is a more sensible place for it.
Two small tweaks to the macro are made:
- removing the trailing semicolon
- dropping unnecessary 'volatile' from the x86 asm
Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years ago
Alex Converse
7181c4edee
cosmetics: Remove extra newlines at EOF
13 years ago
Mans Rullgard
f59bb3d8f3
mathops: remove undefined behaviour from sign_extend()
...
This function intentionally overflows the signed range on
the left shift. Using this type-punning avoids errors from
the overflow checker without disabling this test globally.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
95912731c2
mathops: use MUL64 macro where it forms part of other ops
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Diego Biurrun
8d459acc10
Add missing #includes to make headers self-contained.
...
This fixes 'make checkheaders'.
14 years ago
Mans Rullgard
005db47011
mathops: remove ancient confusing comment
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Måns Rullgård
cf60d669a6
Add more int packing macros, name them consistently
...
Originally committed as revision 23916 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Ronald S. Bultje
157cb0694a
Rename PACK4x8() to PACK4UINT8().
...
Originally committed as revision 23721 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Ronald S. Bultje
b39a2d19d4
Add a macro to pack 4 bytes into native byte-order so they can be written
...
at once using a single 32-bit store.
Originally committed as revision 23715 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
e969e261a5
Use standard C for implementing sign_extend() and zero_extend().
...
This fixes compilation of probetest
Originally committed as revision 23116 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
48960b8f24
Add zero_extend() function
...
Originally committed as revision 21947 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
5e46be96f8
Move NEG_[US]SR32 macros to mathops.h
...
Originally committed as revision 21873 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
f2c694af28
Add UMULH()
...
This function/macro returns the high half of the unsigned 64-bit
product of two unsigned 32-bit operands.
Originally committed as revision 21463 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
5e7dfb7de1
Move COPY3_IF_LT to lavc/mathops.h
...
This obscure macro is only used in motion_est.c so having it in lavc
makes more sense. See discussion here:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-November/056561.html
Originally committed as revision 21346 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
b7904f78c1
AVR32: optimised mathops.h
...
44% faster MP3 decoding
Originally committed as revision 19667 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
9d48e28f00
MIPS: add MIPS64 and Loongson asm for MAC64/MLS64
...
Originally committed as revision 18979 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Måns Rullgård
e20a4f53a0
mathops: sort arch-specific #include lines
...
Originally committed as revision 18886 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Måns Rullgård
26f6a57467
mathops: whitespace cosmetics
...
Originally committed as revision 18885 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Måns Rullgård
101dfa7d0a
Add sign_extend() function to mathops.h
...
Originally committed as revision 17738 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Loren Merritt
6166516d1f
re-enable mid_pred asm on x86_64. (broke in r16681)
...
Originally committed as revision 17058 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
406792e7b0
cosmetics: Remove pointless period after copyright statement non-sentences.
...
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Aurelien Jacobs
199436b952
moves mid_pred() into mathops.h (with arch specific code split by directory)
...
Originally committed as revision 16681 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Aurelien Jacobs
b250f9c66d
Change semantic of CONFIG_*, HAVE_* and ARCH_*.
...
They are now always defined to either 0 or 1.
Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
79cb09b2f7
consistency cosmetics: Rename POWERPC identifiers to PPC.
...
Originally committed as revision 16359 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
a6493a8fbd
Rename libavcodec/i386/ --> libavcodec/x86/.
...
It contains optimizations that are not specific to i386 and
libavutil uses this naming scheme already.
Originally committed as revision 16270 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Måns Rullgård
a2fc0f6a6d
ARM: replace "armv4l" with "arm"
...
Originally committed as revision 16179 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Måns Rullgård
4deaa94639
Add shift argument to MULL() macro
...
This replaces use of FRAC_BITS in the MULL() definition with a third
argument specifying the shift amount. All uses of this macro are
updated to pass FRAC_BITS as third argument.
Originally committed as revision 15921 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Stefano Sabatini
987903826b
Globally rename the header inclusion guard names.
...
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.' to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".
Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Måns Rullgård
ffa978f157
mathops: add MAC64, MLS64, and MLS16
...
MAC64: 64 += 32 x 32 (bits)
MLS64: 64 -= 32 x 32
MLS16: 32 -= 16 x 16
Originally committed as revision 14198 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Diego Biurrun
245976da2a
Use full path for #includes from another directory.
...
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Måns Rullgård
e6b790f9e7
fix typo ARCH_PPC -> ARCH_POWERPC
...
Originally committed as revision 12465 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Diego Biurrun
5b21bdabe4
Add FFMPEG_ prefix to all multiple inclusion guards.
...
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Marc Hoffman
14da6549a7
Hooking bfin/mathops.h
...
Originally committed as revision 10263 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Måns Rullgård
99545457bf
include all prerequisites in header files
...
Originally committed as revision 9344 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Måns Rullgård
849f10351d
rename always_inline to av_always_inline and move to common.h
...
Originally committed as revision 7256 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Diego Biurrun
419b878494
Add ARCH_X86_32 as a new define for 32 bit x86 architectures and change
...
the semantics of ARCH_X86 to mean both 32 and 64 bits.
Originally committed as revision 6852 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Diego Biurrun
b78e7197a8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
...
and fix GPL/LGPL version mismatches.
Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Luca Barbato
99aed7c8fc
New single instruction math operation header
...
Originally committed as revision 6291 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago