LCOV - code coverage report
Current view: top level - libavcodec - bswapdsp.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 22 22 100.0 %
Date: 2017-12-13 02:34:56 Functions: 3 3 100.0 %

          Line data    Source code
       1             : /*
       2             :  * This file is part of FFmpeg.
       3             :  *
       4             :  * FFmpeg is free software; you can redistribute it and/or
       5             :  * modify it under the terms of the GNU Lesser General Public
       6             :  * License as published by the Free Software Foundation; either
       7             :  * version 2.1 of the License, or (at your option) any later version.
       8             :  *
       9             :  * FFmpeg is distributed in the hope that it will be useful,
      10             :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      11             :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      12             :  * Lesser General Public License for more details.
      13             :  *
      14             :  * You should have received a copy of the GNU Lesser General Public
      15             :  * License along with FFmpeg; if not, write to the Free Software
      16             :  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
      17             :  */
      18             : 
      19             : #include <stdint.h>
      20             : 
      21             : #include "libavutil/attributes.h"
      22             : #include "libavutil/bswap.h"
      23             : #include "bswapdsp.h"
      24             : 
      25        9849 : static void bswap_buf(uint32_t *dst, const uint32_t *src, int w)
      26             : {
      27             :     int i;
      28             : 
      29    22287716 :     for (i = 0; i + 8 <= w; i += 8) {
      30    22277867 :         dst[i + 0] = av_bswap32(src[i + 0]);
      31    22277867 :         dst[i + 1] = av_bswap32(src[i + 1]);
      32    22277867 :         dst[i + 2] = av_bswap32(src[i + 2]);
      33    22277867 :         dst[i + 3] = av_bswap32(src[i + 3]);
      34    22277867 :         dst[i + 4] = av_bswap32(src[i + 4]);
      35    22277867 :         dst[i + 5] = av_bswap32(src[i + 5]);
      36    22277867 :         dst[i + 6] = av_bswap32(src[i + 6]);
      37    22277867 :         dst[i + 7] = av_bswap32(src[i + 7]);
      38             :     }
      39       38367 :     for (; i < w; i++)
      40       28518 :         dst[i + 0] = av_bswap32(src[i + 0]);
      41        9849 : }
      42             : 
      43        2155 : static void bswap16_buf(uint16_t *dst, const uint16_t *src, int len)
      44             : {
      45     5329737 :     while (len--)
      46     5325427 :         *dst++ = av_bswap16(*src++);
      47        2155 : }
      48             : 
      49        1889 : av_cold void ff_bswapdsp_init(BswapDSPContext *c)
      50             : {
      51        1889 :     c->bswap_buf   = bswap_buf;
      52        1889 :     c->bswap16_buf = bswap16_buf;
      53             : 
      54             :     if (ARCH_X86)
      55        1889 :         ff_bswapdsp_init_x86(c);
      56        1889 : }

Generated by: LCOV version 1.13