xref: /aosp_15_r20/external/webrtc/modules/audio_coding/codecs/ilbc/swap_bytes.c (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1  /*
2   *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3   *
4   *  Use of this source code is governed by a BSD-style license
5   *  that can be found in the LICENSE file in the root of the source
6   *  tree. An additional intellectual property rights grant can be found
7   *  in the file PATENTS.  All contributing project authors may
8   *  be found in the AUTHORS file in the root of the source tree.
9   */
10  
11  /******************************************************************
12  
13   iLBC Speech Coder ANSI-C Source Code
14  
15   WebRtcIlbcfix_SwapBytes.c
16  
17  ******************************************************************/
18  
19  #include "modules/audio_coding/codecs/ilbc/swap_bytes.h"
20  
21  /*----------------------------------------------------------------*
22   * Swap bytes (to simplify operations on Little Endian machines)
23   *---------------------------------------------------------------*/
24  
WebRtcIlbcfix_SwapBytes(const uint16_t * input,size_t wordLength,uint16_t * output)25  void WebRtcIlbcfix_SwapBytes(
26      const uint16_t* input,   /* (i) the sequence to swap */
27      size_t wordLength,      /* (i) number or uint16_t to swap */
28      uint16_t* output         /* (o) the swapped sequence */
29                                ) {
30    size_t k;
31    for (k = wordLength; k > 0; k--) {
32      *output++ = (*input >> 8)|(*input << 8);
33      input++;
34    }
35  }
36