[Webkit-unassigned] [Bug 77509] Enable IPP for Biquad filter

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Feb 19 23:37:43 PST 2012


https://bugs.webkit.org/show_bug.cgi?id=77509





--- Comment #38 from xingnan.wang at intel.com  2012-02-19 23:37:42 PST ---
(In reply to comment #36)
> (From update of attachment 127537 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=127537&action=review
> 
> > Source/WebCore/platform/audio/Biquad.cpp:57
> > +    m_biquadState = 0;
> 
> I'm not clear how m_biquadState is allocated, since I see that we call ippsIIRFree64f_32f(m_biquadState); on line 78
> 
> Is it in the ippsIIRInit64f_BiQuad_32f() call in setNormalizedCoefficients()?  I'm not clear about that.
> 
> If this is the case, then what happens if somebody tries to use the filter with the default settings (where setNormalizedCoefficients() never is called).
> 
> Also, it looks like reset() sets m_biquadState back to 0 and we have a similar problem?
> 
m_biquadState is not needed to be allocated the memory in out of place mode in which a external buffer(m_ippInternalBuffer) is used and the buffer stores the IIR filter structure. The ippsIIRInit64f_BiQuad_32f() is for initializing the structure with parameters into m_ippInternalBuffer. So I should not call ippsIIRFree*() and should call setNormalizedCoefficients() to initialize m_biquadState in Biquad().
> > Source/WebCore/platform/audio/Biquad.cpp:213
> > +        m_biquadState = 0;
> 
> See comment above about how m_biquadState is initialized
> 
> > Source/WebCore/platform/audio/Biquad.h:113
> > +#endif // USE(WEBAUDIO_IPP)
> 
> Do we even use the m_b0 (and similar) and m_x1 (and similar) member variables in the IPP case?
> If not then we should wrap them in
> #if !USE(WEBAUDIO_IPP)
m_b0 (and similar) are used in getFrequencyResponse() so I should keep them in IPP case.
m_x1 (and similar) are neither used in IPP and DARWIN, so wrap them.

Patch is updated as the comments.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list