OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Intel Inc. All rights reserved. | 2 * Copyright (C) 2012 Intel Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 | 43 |
44 using namespace VectorMath; | 44 using namespace VectorMath; |
45 | 45 |
46 DirectConvolver::DirectConvolver(size_t inputBlockSize) | 46 DirectConvolver::DirectConvolver(size_t inputBlockSize) |
47 : m_inputBlockSize(inputBlockSize), m_buffer(inputBlockSize * 2) {} | 47 : m_inputBlockSize(inputBlockSize), m_buffer(inputBlockSize * 2) {} |
48 | 48 |
49 void DirectConvolver::process(AudioFloatArray* convolutionKernel, | 49 void DirectConvolver::process(AudioFloatArray* convolutionKernel, |
50 const float* sourceP, | 50 const float* sourceP, |
51 float* destP, | 51 float* destP, |
52 size_t framesToProcess) { | 52 size_t framesToProcess) { |
53 DCHECK_EQ(framesToProcess, m_inputBlockSize); | 53 ASSERT(framesToProcess == m_inputBlockSize); |
54 if (framesToProcess != m_inputBlockSize) | 54 if (framesToProcess != m_inputBlockSize) |
55 return; | 55 return; |
56 | 56 |
57 // Only support kernelSize <= m_inputBlockSize | 57 // Only support kernelSize <= m_inputBlockSize |
58 size_t kernelSize = convolutionKernel->size(); | 58 size_t kernelSize = convolutionKernel->size(); |
59 DCHECK_LE(kernelSize, m_inputBlockSize); | 59 ASSERT(kernelSize <= m_inputBlockSize); |
60 if (kernelSize > m_inputBlockSize) | 60 if (kernelSize > m_inputBlockSize) |
61 return; | 61 return; |
62 | 62 |
63 float* kernelP = convolutionKernel->data(); | 63 float* kernelP = convolutionKernel->data(); |
64 | 64 |
65 // Sanity check | 65 // Sanity check |
66 bool isCopyGood = kernelP && sourceP && destP && m_buffer.data(); | 66 bool isCopyGood = kernelP && sourceP && destP && m_buffer.data(); |
67 DCHECK(isCopyGood); | 67 DCHECK(isCopyGood); |
68 if (!isCopyGood) | 68 if (!isCopyGood) |
69 return; | 69 return; |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 | 404 |
405 // Copy 2nd half of input buffer to 1st half. | 405 // Copy 2nd half of input buffer to 1st half. |
406 memcpy(m_buffer.data(), inputP, sizeof(float) * framesToProcess); | 406 memcpy(m_buffer.data(), inputP, sizeof(float) * framesToProcess); |
407 } | 407 } |
408 | 408 |
409 void DirectConvolver::reset() { | 409 void DirectConvolver::reset() { |
410 m_buffer.zero(); | 410 m_buffer.zero(); |
411 } | 411 } |
412 | 412 |
413 } // namespace blink | 413 } // namespace blink |
OLD | NEW |