Bug 76470 - HRTFPanner could have high-quality mode for smoother transitions
Summary: HRTFPanner could have high-quality mode for smoother transitions
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Audio (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Rogers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-17 12:07 PST by Chris Rogers
Modified: 2012-01-27 18:16 PST (History)
4 users (show)

See Also:


Attachments
Patch (15.53 KB, patch)
2012-01-27 15:59 PST, Chris Rogers
no flags Details | Formatted Diff | Diff
Patch (15.81 KB, patch)
2012-01-27 17:43 PST, Chris Rogers
kbr: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Rogers 2012-01-17 12:07:32 PST
The HRTFPanner works reasonably well, but can have "zipper" artifacts when panning some source material.
Interpolation between different panning positions can help this somewhat, with some added performance cost.
Comment 1 Chris Rogers 2012-01-27 15:59:38 PST
Created attachment 124389 [details]
Patch
Comment 2 Kenneth Russell 2012-01-27 16:08:12 PST
Comment on attachment 124389 [details]
Patch

Could you fix the Mac build failure?
Comment 3 WebKit Review Bot 2012-01-27 16:23:10 PST
Comment on attachment 124389 [details]
Patch

Attachment 124389 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11349896
Comment 4 Chris Rogers 2012-01-27 17:43:59 PST
Created attachment 124409 [details]
Patch
Comment 5 Chris Rogers 2012-01-27 17:44:41 PST
removed wrapDistance() to try to fix build errors.
Comment 6 Kenneth Russell 2012-01-27 17:50:47 PST
Comment on attachment 124409 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=124409&action=review

Looks fine overall; a few minor nits which you can fix upon landing. r=me

> Source/WebCore/platform/audio/HRTFPanner.cpp:47
> +const int UnitializedAzimuth = -1;

Typo: should be Uninitialized.

> Source/WebCore/platform/audio/HRTFPanner.cpp:65
> +    , m_tempL1(128)

Please define and use a constant instead of the value 128. Could use it below too.

> Source/WebCore/platform/audio/HRTFPanner.cpp:287
> +            if (m_crossfadeIncr < 0 && fabs(m_crossfadeX) < -m_crossfadeIncr) {

Could use an else if here.
Comment 7 Chris Rogers 2012-01-27 18:16:31 PST
Committed r106173: <http://trac.webkit.org/changeset/106173>