GCC Code Coverage Report
Directory: ../../../ffmpeg/ Exec Total Coverage
File: src/libavcodec/ffv1_template.c Lines: 14 21 66.7 %
Date: 2019-11-22 03:34:36 Branches: 0 0 - %

Line Branch Exec Source
1
/*
2
 * FFV1 codec
3
 *
4
 * Copyright (c) 2003-2013 Michael Niedermayer <michaelni@gmx.at>
5
 *
6
 * This file is part of FFmpeg.
7
 *
8
 * FFmpeg is free software; you can redistribute it and/or
9
 * modify it under the terms of the GNU Lesser General Public
10
 * License as published by the Free Software Foundation; either
11
 * version 2.1 of the License, or (at your option) any later version.
12
 *
13
 * FFmpeg is distributed in the hope that it will be useful,
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16
 * Lesser General Public License for more details.
17
 *
18
 * You should have received a copy of the GNU Lesser General Public
19
 * License along with FFmpeg; if not, write to the Free Software
20
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
 */
22
23
383832217
static inline int RENAME(predict)(TYPE *src, TYPE *last)
24
{
25
383832217
    const int LT = last[-1];
26
383832217
    const int T  = last[0];
27
383832217
    const int L  = src[-1];
28
29
383832217
    return mid_pred(L, L + T - LT, T);
30
}
31
32
476332763
static inline int RENAME(get_context)(PlaneContext *p, TYPE *src,
33
                                      TYPE *last, TYPE *last2)
34
{
35
476332763
    const int LT = last[-1];
36
476332763
    const int T  = last[0];
37
476332763
    const int RT = last[1];
38
476332763
    const int L  = src[-1];
39
40
476332763
    if (p->quant_table[3][127]) {
41
        const int TT = last2[0];
42
        const int LL = src[-2];
43
        return p->quant_table[0][(L - LT) & 0xFF] +
44
               p->quant_table[1][(LT - T) & 0xFF] +
45
               p->quant_table[2][(T - RT) & 0xFF] +
46
               p->quant_table[3][(LL - L) & 0xFF] +
47
               p->quant_table[4][(TT - T) & 0xFF];
48
    } else
49
476332763
        return p->quant_table[0][(L - LT) & 0xFF] +
50
476332763
               p->quant_table[1][(LT - T) & 0xFF] +
51
476332763
               p->quant_table[2][(T - RT) & 0xFF];
52
}
53