[FFmpeg-devel] [PATCH] SIMD-optimized exponent_min() for ac3enc
Justin Ruggles
justin.ruggles
Sat Jan 15 04:21:20 CET 2011
Hi,
This patch adds optimized versions of the exponent_min() function in
ac3enc.c. Exponent encoding has already had some speed-ups earlier
today (benchmarks below) and this will give another 55% speed-up.
Much thanks to Ronald B. for helping me improve PMINUB_MMX.
Benchmarks for exponent_min():
Note: The inner loop runs 1 to 5 times depending on the exponent
strategy in each block, so I modified the AC3 encoder to always use the
same strategy during the benchmarks so the result wouldn't be
content-dependent. All the speeds are slightly faster with the normal
exponent strategy decision.
Athlon64:
C: 38692
MMX: 6957
SSE: 5306
SSE2: 2891
Atom:
C: 99100
MMX: 12996
SSE: 10464
SSE2: 5829
Benchmarks for encode_exponents() on Athlon64:
yesterday: 248878
r26357: 228710
r26358: 130051 (exponent_min() is 30%)
patched (sse2): 58905 (exponent_min() is 5%)
Cheers,
Justin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ac3_exponent_min.patch
Type: text/x-patch
Size: 12458 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20110114/9aab32d0/attachment.bin>
More information about the ffmpeg-devel
mailing list