DescriptionOptimizes the FMAC operation with SSE. Performance is on par with
FFmpeg's vector_fmac function, without the hassle of 32-byte align
and over allocation.
VectorFMAC_SSE requires 16-byte alignment of the source and dest
vectors. Size does not need to be a multiple of 4 though.
Performance results from AudioRendererMixerTest.VectorFMACBenchmark:
Benchmarking 200000 iterations:
VectorFMAC_C took 2030.73ms.
VectorFMAC_SSE (unaligned size) took 598.33ms; which is 3.39x faster than VectorFMAC_C.
VectorFMAC_SSE (aligned size) took 597.71ms; which is 3.40x faster than VectorFMAC_C and 1.00x faster than VectorFMAC_SSE (unaligned size).
BUG=133637
TEST=media_unittests + AudioRendererMixer/* tests.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=149581
Patch Set 1 #Patch Set 2 : Comments! #
Total comments: 26
Patch Set 3 : Comments. #
Total comments: 2
Patch Set 4 : Fixes. #Patch Set 5 : Fix cast truncation. #
Messages
Total messages: 11 (0 generated)
|