Line data Source code
1 : /*
2 : * IEC 61937 common code
3 : * Copyright (c) 2009 Bartlomiej Wolowiec
4 : *
5 : * This file is part of FFmpeg.
6 : *
7 : * FFmpeg is free software; you can redistribute it and/or
8 : * modify it under the terms of the GNU Lesser General Public
9 : * License as published by the Free Software Foundation; either
10 : * version 2.1 of the License, or (at your option) any later version.
11 : *
12 : * FFmpeg is distributed in the hope that it will be useful,
13 : * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 : * Lesser General Public License for more details.
16 : *
17 : * You should have received a copy of the GNU Lesser General Public
18 : * License along with FFmpeg; if not, write to the Free Software
19 : * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 : */
21 :
22 : #include "spdif.h"
23 : #include "libavutil/bswap.h"
24 :
25 : //TODO move to DSP
26 42 : void ff_spdif_bswap_buf16(uint16_t *dst, const uint16_t *src, int w)
27 : {
28 : int i;
29 :
30 7350 : for (i = 0; i + 8 <= w; i += 8) {
31 7308 : dst[i + 0] = av_bswap16(src[i + 0]);
32 7308 : dst[i + 1] = av_bswap16(src[i + 1]);
33 7308 : dst[i + 2] = av_bswap16(src[i + 2]);
34 7308 : dst[i + 3] = av_bswap16(src[i + 3]);
35 7308 : dst[i + 4] = av_bswap16(src[i + 4]);
36 7308 : dst[i + 5] = av_bswap16(src[i + 5]);
37 7308 : dst[i + 6] = av_bswap16(src[i + 6]);
38 7308 : dst[i + 7] = av_bswap16(src[i + 7]);
39 : }
40 84 : for (; i < w; i++)
41 42 : dst[i + 0] = av_bswap16(src[i + 0]);
42 42 : }
|