/* * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ /* * This file contains the implementation of functions * WebRtcSpl_MemSetW16() * WebRtcSpl_MemSetW32() * WebRtcSpl_MemCpyReversedOrder() * WebRtcSpl_CopyFromEndW16() * WebRtcSpl_ZerosArrayW16() * WebRtcSpl_ZerosArrayW32() * * The description header can be found in signal_processing_library.h * */ #include #include "webrtc/common_audio/signal_processing/include/signal_processing_library.h" void WebRtcSpl_MemSetW16(int16_t *ptr, int16_t set_value, size_t length) { size_t j; int16_t *arrptr = ptr; for (j = length; j > 0; j--) { *arrptr++ = set_value; } } void WebRtcSpl_MemSetW32(int32_t *ptr, int32_t set_value, size_t length) { size_t j; int32_t *arrptr = ptr; for (j = length; j > 0; j--) { *arrptr++ = set_value; } } void WebRtcSpl_MemCpyReversedOrder(int16_t* dest, int16_t* source, size_t length) { size_t j; int16_t* destPtr = dest; int16_t* sourcePtr = source; for (j = 0; j < length; j++) { *destPtr-- = *sourcePtr++; } } void WebRtcSpl_CopyFromEndW16(const int16_t *vector_in, size_t length, size_t samples, int16_t *vector_out) { // Copy the last of the input vector to vector_out WEBRTC_SPL_MEMCPY_W16(vector_out, &vector_in[length - samples], samples); } void WebRtcSpl_ZerosArrayW16(int16_t *vector, size_t length) { WebRtcSpl_MemSetW16(vector, 0, length); } void WebRtcSpl_ZerosArrayW32(int32_t *vector, size_t length) { WebRtcSpl_MemSetW32(vector, 0, length); }