// Now, go back and interpolate elevations. if (InterpolationFactor > 1) { for (unsigned i = 0; i < NumberOfTotalElevations;
i += InterpolationFactor) { unsigned j = (i + InterpolationFactor); if (j >= NumberOfTotalElevations)
j = i; // for last elevation interpolate with itself
// Create the interpolated convolution kernels and delays. for (unsigned jj = 1; jj < InterpolationFactor; ++jj) { float x = static_cast<float>(jj) / static_cast<float>(InterpolationFactor);
m_elevations[i + jj] = HRTFElevation::createByInterpolatingSlices(
m_elevations[i].get(), m_elevations[j].get(), x, sampleRate);
MOZ_ASSERT(m_elevations[i + jj].get());
}
}
}
}
size_t HRTFDatabase::sizeOfIncludingThis(
mozilla::MallocSizeOf aMallocSizeOf) const {
size_t amount = aMallocSizeOf(this);
amount += m_elevations.ShallowSizeOfExcludingThis(aMallocSizeOf); for (size_t i = 0; i < m_elevations.Length(); i++) {
amount += m_elevations[i]->sizeOfIncludingThis(aMallocSizeOf);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.