Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Issue 10802005: Add SSE optimizations to AudioRendererMixer. (Closed)

Created:
8 years, 5 months ago by DaleCurtis
Modified:
8 years, 4 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org
Visibility:
Public.

Description

Optimizes 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. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+208 lines, -13 lines) Patch
M media/audio/audio_device_thread.cc View 1 2 3 3 chunks +5 lines, -3 lines 0 comments Download
M media/base/audio_renderer_mixer.h View 1 2 3 3 chunks +12 lines, -0 lines 0 comments Download
M media/base/audio_renderer_mixer.cc View 1 2 3 5 chunks +56 lines, -10 lines 0 comments Download
M media/base/audio_renderer_mixer_unittest.cc View 1 2 3 4 2 chunks +135 lines, -0 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
DaleCurtis
PTAL. You seemed most interested in this discussion at lunch, so you get to review ...
8 years, 5 months ago (2012-07-18 03:42:32 UTC) #1
DaleCurtis
On 2012/07/18 03:42:32, DaleCurtis wrote: > PTAL. You seemed most interested in this discussion at ...
8 years, 5 months ago (2012-07-18 03:44:08 UTC) #2
Ami GONE FROM CHROMIUM
Pretty much the same comments I had on the other intrinsics CL. But yay to ...
8 years, 5 months ago (2012-07-18 04:42:27 UTC) #3
DaleCurtis
Made all the same changes as with SincResampler. PTAL. Waiting on resolution for AlignedAlloc/AlignedFree on ...
8 years, 5 months ago (2012-07-27 01:29:13 UTC) #4
Ami GONE FROM CHROMIUM
http://codereview.chromium.org/10802005/diff/5001/content/renderer/media/audio_device_thread.cc File content/renderer/media/audio_device_thread.cc (right): http://codereview.chromium.org/10802005/diff/5001/content/renderer/media/audio_device_thread.cc#newcode9 content/renderer/media/audio_device_thread.cc:9: #include "base/memory/aligned_memory.h" CL description says "without the hassle of ...
8 years, 4 months ago (2012-07-27 17:33:11 UTC) #5
DaleCurtis
http://codereview.chromium.org/10802005/diff/5001/content/renderer/media/audio_device_thread.cc File content/renderer/media/audio_device_thread.cc (right): http://codereview.chromium.org/10802005/diff/5001/content/renderer/media/audio_device_thread.cc#newcode9 content/renderer/media/audio_device_thread.cc:9: #include "base/memory/aligned_memory.h" On 2012/07/27 17:33:11, Ami Fischman wrote: > ...
8 years, 4 months ago (2012-07-27 21:23:42 UTC) #6
Ami GONE FROM CHROMIUM
LGTM http://codereview.chromium.org/10802005/diff/11002/media/base/audio_renderer_mixer.h File media/base/audio_renderer_mixer.h (right): http://codereview.chromium.org/10802005/diff/11002/media/base/audio_renderer_mixer.h#newcode54 media/base/audio_renderer_mixer.h:54: static void VectorFMAC_C(const float& src, float scale, int ...
8 years, 4 months ago (2012-07-27 21:47:21 UTC) #7
DaleCurtis
Thanks for review. Will land once AlignedMemory stuff resolves. http://codereview.chromium.org/10802005/diff/11002/media/base/audio_renderer_mixer.h File media/base/audio_renderer_mixer.h (right): http://codereview.chromium.org/10802005/diff/11002/media/base/audio_renderer_mixer.h#newcode54 media/base/audio_renderer_mixer.h:54: ...
8 years, 4 months ago (2012-07-27 22:54:54 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dalecurtis@chromium.org/10802005/7005
8 years, 4 months ago (2012-08-02 00:57:03 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dalecurtis@chromium.org/10802005/18005
8 years, 4 months ago (2012-08-02 03:27:18 UTC) #10
commit-bot: I haz the power
8 years, 4 months ago (2012-08-02 05:58:49 UTC) #11
Change committed as 149581

Powered by Google App Engine
This is Rietveld 408576698