summaryrefslogtreecommitdiffstats
path: root/xbmc/utils/EndianSwap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/utils/EndianSwap.cpp')
-rw-r--r--xbmc/utils/EndianSwap.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/xbmc/utils/EndianSwap.cpp b/xbmc/utils/EndianSwap.cpp
new file mode 100644
index 0000000..3f645d9
--- /dev/null
+++ b/xbmc/utils/EndianSwap.cpp
@@ -0,0 +1,30 @@
1/*
2 * Copyright (C) 2012-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
8
9#include "EndianSwap.h"
10
11/* based on libavformat/spdif.c */
12void Endian_Swap16_buf(uint16_t *dst, uint16_t *src, int w)
13{
14 int i;
15
16 for (i = 0; i + 8 <= w; i += 8) {
17 dst[i + 0] = Endian_Swap16(src[i + 0]);
18 dst[i + 1] = Endian_Swap16(src[i + 1]);
19 dst[i + 2] = Endian_Swap16(src[i + 2]);
20 dst[i + 3] = Endian_Swap16(src[i + 3]);
21 dst[i + 4] = Endian_Swap16(src[i + 4]);
22 dst[i + 5] = Endian_Swap16(src[i + 5]);
23 dst[i + 6] = Endian_Swap16(src[i + 6]);
24 dst[i + 7] = Endian_Swap16(src[i + 7]);
25 }
26
27 for (; i < w; i++)
28 dst[i + 0] = Endian_Swap16(src[i + 0]);
29}
30