GCC Code Coverage Report
Directory: ../../../ffmpeg/ Exec Total Coverage
File: src/libavcodec/exrdsp.c Lines: 18 18 100.0 %
Date: 2019-11-22 03:34:36 Branches: 4 4 100.0 %

Line Branch Exec Source
1
/*
2
 * This file is part of FFmpeg.
3
 *
4
 * Copyright (c) 2006 Industrial Light & Magic, a division of Lucas Digital Ltd. LLC
5
 *
6
 * FFmpeg is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU Lesser General Public
8
 * License as published by the Free Software Foundation; either
9
 * version 2.1 of the License, or (at your option) any later version.
10
 *
11
 * FFmpeg is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
 * Lesser General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU Lesser General Public
17
 * License along with FFmpeg; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
 */
20
21
#include <stdint.h>
22
23
#include "libavutil/attributes.h"
24
#include "exrdsp.h"
25
#include "config.h"
26
27
2893
static void reorder_pixels_scalar(uint8_t *dst, const uint8_t *src, ptrdiff_t size)
28
{
29
2893
    const uint8_t *t1 = src;
30
2893
    int half_size     = size / 2;
31
2893
    const uint8_t *t2 = src + half_size;
32
2893
    uint8_t *s        = dst;
33
    int i;
34
35
9551909
    for (i = 0; i < half_size; i++) {
36
9549016
        *(s++) = *(t1++);
37
9549016
        *(s++) = *(t2++);
38
    }
39
2893
}
40
41
2893
static void predictor_scalar(uint8_t *src, ptrdiff_t size)
42
{
43
    ptrdiff_t i;
44
45
19098032
    for (i = 1; i < size; i++)
46
19095139
        src[i] += src[i-1] - 128;
47
2893
}
48
49
139
av_cold void ff_exrdsp_init(ExrDSPContext *c)
50
{
51
139
    c->reorder_pixels   = reorder_pixels_scalar;
52
139
    c->predictor        = predictor_scalar;
53
54
    if (ARCH_X86)
55
139
        ff_exrdsp_init_x86(c);
56
139
}