James Almer
7e4fe5162a
lavu/sha: Fully unroll the transform function loops
...
crypto_bench SHA-1 and SHA-256 results using an AMD Athlon X2 7750+, mingw32-w64 GCC 4.7.3 x86_64
Before:
lavu SHA-1 size: 1048576 runs: 1024 time: 9.012 +- 0.162
lavu SHA-256 size: 1048576 runs: 1024 time: 19.625 +- 0.173
After:
lavu SHA-1 size: 1048576 runs: 1024 time: 7.948 +- 0.154
lavu SHA-256 size: 1048576 runs: 1024 time: 17.841 +- 0.170
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
90b40b45d4
avutil/sha:make const tables static const
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
636c2dd438
avutil/sha: reorder Maj arguments
...
about 1% speedup
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
1fda184a85
avutil: Add av_cold attributes to init functions missing them
12 years ago
Anton Khirnov
cb45553f57
Remove pointless #undefs of previously forbidden functions.
12 years ago
Michael Niedermayer
ac090fa68c
lavu: keep context size variables
...
They are essential to be able to use the utils without av_malloc()
That is for example use with malloc(), memalign(), some other
private allocation function, on the stack or others.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Martin Storsjö
9a92aea27b
avutil: Add functions for allocating opaque contexts for algorithms
...
The current API where the plain size is exposed is not of much
use - in most cases it is allocated dynamically anyway.
If allocated e.g. on the stack via an uint8_t array, there's no
guarantee that the struct's members are aligned properly (unless
the array is overallocated and the opaque pointer within it
manually aligned to some unspecified alignment).
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Michael Niedermayer
4e4ae2f82c
sha: change loop condition to be tighter.
...
This makes no change to the way the code functions, but should make
it easier for static analyzers to see the valid range for i
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
6df5c528ca
Move some conditionally used variables into the block where they are used.
...
This allows dropping the av_unused argument from them.
13 years ago
Kostya Shishkov
3e2aa268f6
sha: use AV_RB32() instead of assuming buffer can be cast to uint32_t*
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Anton Khirnov
488d2b6349
lavu: remove disabled sha1 cruft.
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
8fc0162ac4
Add av_ prefix to bswap macros
...
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
e6b22522c9
bswap: change ME to NE in macro names
...
Other parts of FFmpeg use NE (native endian) rather than ME (machine).
This makes it consistent.
Originally committed as revision 24169 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
32f40ace25
sha: add missing include
...
Originally committed as revision 22449 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
2ed6f39944
Replace many includes of libavutil/common.h with what is actually needed
...
This reduces the number of false dependencies on header files and
speeds up compilation.
Originally committed as revision 22407 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Carl Eugen Hoyos
0fcbcad140
Include sha1.h from sha.c: It contains several prototypes.
...
Originally committed as revision 22099 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Kostya Shishkov
a768816c33
Simplify expression as suggested by Måns Rullgård
...
Originally committed as revision 21756 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Kostya Shishkov
045b60bf9b
Make SHA digest function write digest value with AV_WN32 instead of assuming
...
that output may be written as uint32_t since output buffer may not be aligned
(and it's silly to force alignment on it) and it does not work in that case
properly on some architectures.
Originally committed as revision 21754 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Diego Biurrun
8b4e7c28fb
Mark conditionally used variable T2 as av_unused; avoids the warning:
...
libavutil/sha.c:183: warning: unused variable `T2'
Originally committed as revision 19551 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
87d718aefc
cosmetics: reindent after last commit
...
Originally committed as revision 19450 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
aa5a99ae0c
Add SHA-2 hashing
...
Originally committed as revision 19449 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
451ae25724
Prepare SHA code to handle SHA-2 as well. For now rename files and functions
...
and leave av_sha1_* functions for compatibility until next major bump.
Originally committed as revision 19394 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
0d73abb86a
Rename function to sha1_transform so it won't be confused with SHA-2 transform
...
when it's added.
Originally committed as revision 19389 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
2c6361e009
Use pointer to hash transform function to make adding SHA-2 support easier.
...
Originally committed as revision 19388 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
3a7c65077d
cosmetics: vertical align AVSHA1 members
...
Originally committed as revision 19387 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
01cc628845
Extend AVSHA1 so it can be used in future SHA-2 code as well
...
Originally committed as revision 19386 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
4364fc9a0d
Document SHA-1 functions and structures
...
Originally committed as revision 19385 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
0ef37cd52e
cosmetics: Reformat file to K&R style upon Kostya's request.
...
Originally committed as revision 19154 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
89c9ff504b
spelling/grammar/consistency review part I
...
Originally committed as revision 16840 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
811bfa76ce
Remove misleading comment about how to build SHA1 test program.
...
Generating the test program is integrated into the build system already.
Originally committed as revision 16804 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
Michael Niedermayer
f522310b6d
Missing const found by -Wwrite-strings.
...
Originally committed as revision 11838 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Luca Barbato
0bc308de56
kill a warning, av_sha1_update accepts uint8_t * not uint64_t *
...
Originally committed as revision 11208 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Luca Barbato
537c8e7a48
Provide sha1 to outside applications
...
Patch from Diego Pettenò flameeyesATgmailDOTcom
Originally committed as revision 11207 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Diego Biurrun
f8a80fd69d
main() --> main(void)
...
Originally committed as revision 11079 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Diego Biurrun
3d44f15cfc
Add proper license header.
...
Originally committed as revision 9444 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Attila Kinali
69ae947874
add missing include of bswap.h
...
Originally committed as revision 8853 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
248b25f878
s/context/ctx/
...
Originally committed as revision 8385 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
36c7fa7ea5
smaller av_sha1_update()
...
Originally committed as revision 8381 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
104c30ee06
use CONFIG_SMALL
...
Originally committed as revision 8380 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
2001304500
put state[5] last so no padding is needed on arch where uint64_t needs 8byte alignment
...
Originally committed as revision 8379 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
5fd7f87b8d
cosmetic
...
Originally committed as revision 8378 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
15b6cae245
dont memcpy() simpler and same speed
...
Originally committed as revision 8377 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
476f9b74ec
simplify
...
Originally committed as revision 8376 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
f6a3477bb5
remove middle variant (keep fastest and smallest)
...
Originally committed as revision 8375 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
965ea9ba66
10l
...
Originally committed as revision 8374 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
fca447a911
double ;;
...
Originally committed as revision 8373 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
2fa3a22d23
factorize VARIANT2 (smaller and slower)
...
Originally committed as revision 8372 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
d6cf780419
revert 2% speed loss change (r8360)
...
so VARIANT0 will be big and a few % faster, VARIANT1/2 are unaffected
Originally committed as revision 8371 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago