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

Issue 13726011: Add vector_math::FMUL. Replace audio_util::AdjustVolume. (Closed)

Created:
7 years, 8 months ago by DaleCurtis
Modified:
7 years, 8 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org, sail+watch_chromium.org
Visibility:
Public.

Description

Add vector_math::FMUL. Replace audio_util::AdjustVolume. Removes the integer based volume adjustment code from the melting pot that is audio_util in favor of an AudioBus::AdjustVolume() method which works on float. The driver behind the method is a new vector_math::FMUL method which is SSE optimized. Benchmarks put it in line with the vector_math::FMAC() method. Benchmarking 200000 iterations: FMUL_C took 1962.52ms. FMUL_SSE (unaligned size) took 493.03ms; which is 3.98x faster than FMUL_C. FMUL_SSE (aligned size) took 491.79ms; which is 3.99x faster than FMUL_C and 1.00x faster than FMUL_SSE (unaligned size). BUG=120319, 171540, 226447 TEST=new media_unittests. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=192905

Patch Set 1 : Fix NaCl. Add unittests. #

Total comments: 6

Patch Set 2 : Comments. #

Total comments: 4

Patch Set 3 : Fix volume == 1 case. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+221 lines, -244 lines) Patch
M media/audio/android/opensles_output.cc View 1 2 chunks +1 line, -8 lines 0 comments Download
M media/audio/audio_util.h View 1 1 chunk +1 line, -29 lines 0 comments Download
M media/audio/audio_util.cc View 1 chunk +1 line, -70 lines 0 comments Download
D media/audio/audio_util_unittest.cc View 1 chunk +0 lines, -82 lines 0 comments Download
M media/audio/linux/alsa_output.cc View 1 2 chunks +1 line, -7 lines 0 comments Download
M media/audio/mac/audio_auhal_mac.cc View 1 2 chunks +1 line, -2 lines 0 comments Download
M media/audio/mac/audio_low_latency_output_mac.cc View 1 2 chunks +1 line, -9 lines 0 comments Download
M media/audio/pulse/pulse_output.cc View 1 2 chunks +1 line, -3 lines 0 comments Download
M media/audio/pulse/pulse_unified.cc View 1 2 chunks +1 line, -3 lines 0 comments Download
M media/audio/win/audio_low_latency_output_win.cc View 1 2 chunks +1 line, -7 lines 0 comments Download
M media/audio/win/audio_unified_win.cc View 1 2 chunks +1 line, -8 lines 0 comments Download
M media/audio/win/waveout_output_win.cc View 1 2 chunks +1 line, -5 lines 0 comments Download
M media/base/audio_bus.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M media/base/audio_bus.cc View 1 2 2 chunks +10 lines, -0 lines 0 comments Download
M media/base/audio_bus_unittest.cc View 1 1 chunk +31 lines, -0 lines 0 comments Download
M media/base/audio_converter.cc View 1 chunk +10 lines, -3 lines 0 comments Download
M media/base/simd/vector_math_sse.cc View 1 chunk +12 lines, -0 lines 0 comments Download
M media/base/vector_math.h View 1 chunk +4 lines, -0 lines 0 comments Download
M media/base/vector_math.cc View 1 2 chunks +39 lines, -3 lines 0 comments Download
M media/base/vector_math_testing.h View 1 chunk +4 lines, -2 lines 0 comments Download
M media/base/vector_math_unittest.cc View 2 chunks +86 lines, -0 lines 0 comments Download
M media/media.gyp View 1 4 chunks +8 lines, -3 lines 0 comments Download
M media/shared_memory_support.gypi View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
DaleCurtis
7 years, 8 months ago (2013-04-05 18:20:19 UTC) #1
Chris Rogers
lgtm - Dale, thanks so much for doing this! https://codereview.chromium.org/13726011/diff/6001/media/audio/audio_util.h File media/audio/audio_util.h (right): https://codereview.chromium.org/13726011/diff/6001/media/audio/audio_util.h#newcode10 media/audio/audio_util.h:10: ...
7 years, 8 months ago (2013-04-05 21:31:35 UTC) #2
Chris Rogers
Oh, one last thing, can you also please add this in for the AUHAL back-end ...
7 years, 8 months ago (2013-04-05 21:33:01 UTC) #3
DaleCurtis
https://codereview.chromium.org/13726011/diff/6001/media/audio/audio_util.h File media/audio/audio_util.h (right): https://codereview.chromium.org/13726011/diff/6001/media/audio/audio_util.h#newcode10 media/audio/audio_util.h:10: #include "build/build_config.h" On 2013/04/05 21:31:35, Chris Rogers wrote: > ...
7 years, 8 months ago (2013-04-05 23:52:30 UTC) #4
henrika (OOO until Aug 14)
Great work Dale; highly appreciated! LGTM w/ nits. Don't know the SSE parts well enough ...
7 years, 8 months ago (2013-04-08 18:41:00 UTC) #5
henrika (OOO until Aug 14)
https://codereview.chromium.org/13726011/diff/12001/media/base/audio_bus.cc File media/base/audio_bus.cc (right): https://codereview.chromium.org/13726011/diff/12001/media/base/audio_bus.cc#newcode312 media/base/audio_bus.cc:312: if (volume > 0 && volume < 1) { ...
7 years, 8 months ago (2013-04-08 18:41:09 UTC) #6
DaleCurtis
https://codereview.chromium.org/13726011/diff/12001/media/base/audio_bus.cc File media/base/audio_bus.cc (right): https://codereview.chromium.org/13726011/diff/12001/media/base/audio_bus.cc#newcode312 media/base/audio_bus.cc:312: if (volume > 0 && volume < 1) { ...
7 years, 8 months ago (2013-04-08 19:11:40 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dalecurtis@chromium.org/13726011/17002
7 years, 8 months ago (2013-04-08 19:11:52 UTC) #8
commit-bot: I haz the power
7 years, 8 months ago (2013-04-08 21:30:38 UTC) #9
Message was sent while issue was closed.
Change committed as 192905

Powered by Google App Engine
This is Rietveld 408576698