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

Issue 11150034: Add support for channel transforms. (Closed)

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

Description

Add support for channel transforms. Introduces the ChannelMixer class for upmixing and downmixing AudioBus objects from one channel layout to another. Matrix building code is based on libavresample and libswresample from ffmpeg. Full decision listing: http://pastebin.com/KfeFzC0X BUG=138762 TEST=unit tests. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=163158

Patch Set 1 #

Patch Set 2 : Fixes. Mix LFE. #

Patch Set 3 : Rebase. #

Total comments: 42

Patch Set 4 : Comments. Unit tests. #

Total comments: 13

Patch Set 5 : Fix try failures. Comments. #

Total comments: 4

Patch Set 6 : Visual Studio fixes. #

Total comments: 3

Patch Set 7 : Rename to Transform() #

Total comments: 14

Patch Set 8 : Comments. #

Patch Set 9 : Add TODO. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+540 lines, -42 lines) Patch
M media/audio/pulse/pulse_output.cc View 1 2 3 1 chunk +0 lines, -2 lines 0 comments Download
M media/base/channel_layout.h View 1 2 3 1 chunk +0 lines, -2 lines 0 comments Download
M media/base/channel_layout.cc View 1 2 3 2 chunks +39 lines, -38 lines 0 comments Download
A media/base/channel_mixer.h View 1 2 3 4 5 6 7 1 chunk +68 lines, -0 lines 0 comments Download
A media/base/channel_mixer.cc View 1 2 3 4 5 6 7 8 1 chunk +307 lines, -0 lines 0 comments Download
A media/base/channel_mixer_unittest.cc View 1 2 3 4 5 6 1 chunk +123 lines, -0 lines 0 comments Download
M media/media.gyp View 1 2 3 4 5 6 7 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 27 (0 generated)
DaleCurtis
The unit test just runs through all possible combinations right now (~0ms w/ DEBUG, will ...
8 years, 2 months ago (2012-10-16 03:54:52 UTC) #1
Chris Rogers
Hi Dale, nice work! I've had an initial look and added comments. The main point ...
8 years, 2 months ago (2012-10-17 19:46:50 UTC) #2
DaleCurtis
http://codereview.chromium.org/11150034/diff/9002/media/base/channel_mixer.cc File media/base/channel_mixer.cc (right): http://codereview.chromium.org/11150034/diff/9002/media/base/channel_mixer.cc#newcode41 media/base/channel_mixer.cc:41: DCHECK((ChannelOrder(layout, LEFT) >= 0 && On 2012/10/17 19:46:50, Chris ...
8 years, 2 months ago (2012-10-17 20:06:46 UTC) #3
scherkus (not reviewing)
neato! https://codereview.chromium.org/11150034/diff/9002/media/base/channel_layout.cc File media/base/channel_layout.cc (right): https://codereview.chromium.org/11150034/diff/9002/media/base/channel_layout.cc#newcode37 media/base/channel_layout.cc:37: static const int kChannelOrderings[CHANNEL_LAYOUT_MAX][CHANNELS_MAX] = { random thought: ...
8 years, 2 months ago (2012-10-18 01:30:39 UTC) #4
DaleCurtis
https://codereview.chromium.org/11150034/diff/9002/media/base/channel_layout.cc File media/base/channel_layout.cc (right): https://codereview.chromium.org/11150034/diff/9002/media/base/channel_layout.cc#newcode37 media/base/channel_layout.cc:37: static const int kChannelOrderings[CHANNEL_LAYOUT_MAX][CHANNELS_MAX] = { On 2012/10/18 01:30:39, ...
8 years, 2 months ago (2012-10-18 01:56:44 UTC) #5
scherkus (not reviewing)
https://codereview.chromium.org/11150034/diff/9002/media/base/channel_layout.cc File media/base/channel_layout.cc (right): https://codereview.chromium.org/11150034/diff/9002/media/base/channel_layout.cc#newcode89 media/base/channel_layout.cc:89: { 0 , 1 , -1 , -1 , ...
8 years, 2 months ago (2012-10-18 02:24:03 UTC) #6
DaleCurtis
http://codereview.chromium.org/11150034/diff/9002/media/base/channel_layout.cc File media/base/channel_layout.cc (right): http://codereview.chromium.org/11150034/diff/9002/media/base/channel_layout.cc#newcode89 media/base/channel_layout.cc:89: { 0 , 1 , -1 , -1 , ...
8 years, 2 months ago (2012-10-18 05:22:04 UTC) #7
scherkus (not reviewing)
nice tests! http://codereview.chromium.org/11150034/diff/13004/media/base/channel_mixer.cc File media/base/channel_mixer.cc (right): http://codereview.chromium.org/11150034/diff/13004/media/base/channel_mixer.cc#newcode218 media/base/channel_mixer.cc:218: // We can only remap if each ...
8 years, 2 months ago (2012-10-18 05:39:23 UTC) #8
DaleCurtis
http://codereview.chromium.org/11150034/diff/13004/media/base/channel_mixer.cc File media/base/channel_mixer.cc (right): http://codereview.chromium.org/11150034/diff/13004/media/base/channel_mixer.cc#newcode218 media/base/channel_mixer.cc:218: // We can only remap if each row contains ...
8 years, 2 months ago (2012-10-18 06:30:38 UTC) #9
DaleCurtis
http://codereview.chromium.org/11150034/diff/13004/media/base/channel_mixer_unittest.cc File media/base/channel_mixer_unittest.cc (right): http://codereview.chromium.org/11150034/diff/13004/media/base/channel_mixer_unittest.cc#newcode43 media/base/channel_mixer_unittest.cc:43: typedef std::tr1::tuple<ChannelLayout, ChannelLayout, float*, int, float> On 2012/10/18 06:30:38, ...
8 years, 2 months ago (2012-10-18 06:46:05 UTC) #10
scherkus (not reviewing)
On 2012/10/18 06:46:05, DaleCurtis wrote: > http://codereview.chromium.org/11150034/diff/13004/media/base/channel_mixer_unittest.cc > File media/base/channel_mixer_unittest.cc (right): > > http://codereview.chromium.org/11150034/diff/13004/media/base/channel_mixer_unittest.cc#newcode43 > ...
8 years, 2 months ago (2012-10-18 16:45:38 UTC) #11
scherkus (not reviewing)
lgtm w/ nits http://codereview.chromium.org/11150034/diff/15011/media/base/channel_mixer.cc File media/base/channel_mixer.cc (right): http://codereview.chromium.org/11150034/diff/15011/media/base/channel_mixer.cc#newcode217 media/base/channel_mixer.cc:217: // We can only remap if ...
8 years, 2 months ago (2012-10-18 16:50:19 UTC) #12
DaleCurtis
http://codereview.chromium.org/11150034/diff/15011/media/base/channel_mixer.cc File media/base/channel_mixer.cc (right): http://codereview.chromium.org/11150034/diff/15011/media/base/channel_mixer.cc#newcode217 media/base/channel_mixer.cc:217: // We can only remap if each row contains ...
8 years, 2 months ago (2012-10-18 20:42:20 UTC) #13
DaleCurtis
crogers: Any more comments?
8 years, 2 months ago (2012-10-18 20:42:51 UTC) #14
DaleCurtis
http://codereview.chromium.org/11150034/diff/19008/media/base/channel_mixer.h File media/base/channel_mixer.h (right): http://codereview.chromium.org/11150034/diff/19008/media/base/channel_mixer.h#newcode30 media/base/channel_mixer.h:30: void Rematrix(const AudioBus* input, AudioBus* output); Henrik brought this ...
8 years, 2 months ago (2012-10-18 21:36:53 UTC) #15
scherkus (not reviewing)
http://codereview.chromium.org/11150034/diff/19008/media/base/channel_mixer.h File media/base/channel_mixer.h (right): http://codereview.chromium.org/11150034/diff/19008/media/base/channel_mixer.h#newcode30 media/base/channel_mixer.h:30: void Rematrix(const AudioBus* input, AudioBus* output); On 2012/10/18 21:36:54, ...
8 years, 2 months ago (2012-10-18 21:42:05 UTC) #16
DaleCurtis
http://codereview.chromium.org/11150034/diff/19008/media/base/channel_mixer.h File media/base/channel_mixer.h (right): http://codereview.chromium.org/11150034/diff/19008/media/base/channel_mixer.h#newcode30 media/base/channel_mixer.h:30: void Rematrix(const AudioBus* input, AudioBus* output); On 2012/10/18 21:42:05, ...
8 years, 2 months ago (2012-10-18 21:44:10 UTC) #17
Chris Rogers
http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc File media/base/channel_mixer.cc (right): http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc#newcode21 media/base/channel_mixer.cc:21: static const float kDefaultScale = static_cast<float>(M_SQRT1_2); A better name ...
8 years, 2 months ago (2012-10-19 20:48:17 UTC) #18
DaleCurtis
http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc File media/base/channel_mixer.cc (right): http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc#newcode21 media/base/channel_mixer.cc:21: static const float kDefaultScale = static_cast<float>(M_SQRT1_2); On 2012/10/19 20:48:17, ...
8 years, 2 months ago (2012-10-19 22:33:19 UTC) #19
Chris Rogers
http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc File media/base/channel_mixer.cc (right): http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc#newcode26 media/base/channel_mixer.cc:26: CHECK_NE(layout, CHANNEL_LAYOUT_MAX); On 2012/10/19 22:33:20, DaleCurtis wrote: > On ...
8 years, 2 months ago (2012-10-19 22:52:26 UTC) #20
scherkus (not reviewing)
On 2012/10/19 22:52:26, Chris Rogers wrote: > http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc > File media/base/channel_mixer.cc (right): > > http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc#newcode26 ...
8 years, 2 months ago (2012-10-19 22:56:41 UTC) #21
DaleCurtis
http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc File media/base/channel_mixer.cc (right): http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc#newcode26 media/base/channel_mixer.cc:26: CHECK_NE(layout, CHANNEL_LAYOUT_MAX); On 2012/10/19 22:52:26, Chris Rogers wrote: > ...
8 years, 2 months ago (2012-10-19 23:14:31 UTC) #22
Chris Rogers
On 2012/10/19 23:14:31, DaleCurtis wrote: > http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc > File media/base/channel_mixer.cc (right): > > http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc#newcode26 > ...
8 years, 2 months ago (2012-10-19 23:21:05 UTC) #23
DaleCurtis
On 2012/10/19 23:21:05, Chris Rogers wrote: > On 2012/10/19 23:14:31, DaleCurtis wrote: > > http://codereview.chromium.org/11150034/diff/18011/media/base/channel_mixer.cc ...
8 years, 2 months ago (2012-10-19 23:28:07 UTC) #24
Chris Rogers
Thanks Dale, nice work! lgtm
8 years, 2 months ago (2012-10-19 23:36:39 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dalecurtis@chromium.org/11150034/26008
8 years, 2 months ago (2012-10-19 23:41:33 UTC) #26
commit-bot: I haz the power
8 years, 2 months ago (2012-10-20 04:51:36 UTC) #27
Change committed as 163158

Powered by Google App Engine
This is Rietveld 408576698