Coverage Report

Created: 2026-08-31 06:35

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libvpx/vp8/common/findnearmv.h
Line
Count
Source
1
/*
2
 *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3
 *
4
 *  Use of this source code is governed by a BSD-style license
5
 *  that can be found in the LICENSE file in the root of the source
6
 *  tree. An additional intellectual property rights grant can be found
7
 *  in the file PATENTS.  All contributing project authors may
8
 *  be found in the AUTHORS file in the root of the source tree.
9
 */
10
11
#ifndef VPX_VP8_COMMON_FINDNEARMV_H_
12
#define VPX_VP8_COMMON_FINDNEARMV_H_
13
14
#include "./vpx_config.h"
15
#include "mv.h"
16
#include "blockd.h"
17
#include "modecont.h"
18
#include "treecoder.h"
19
20
#ifdef __cplusplus
21
extern "C" {
22
#endif
23
24
static INLINE void mv_bias(int refmb_ref_frame_sign_bias, int refframe,
25
11.5M
                           int_mv *mvp, const int *ref_frame_sign_bias) {
26
11.5M
  if (refmb_ref_frame_sign_bias != ref_frame_sign_bias[refframe]) {
27
650k
    mvp->as_mv.row *= -1;
28
650k
    mvp->as_mv.col *= -1;
29
650k
  }
30
11.5M
}
Unexecuted instantiation: alloccommon.c:mv_bias
decodemv.c:mv_bias
Line
Count
Source
25
5.98M
                           int_mv *mvp, const int *ref_frame_sign_bias) {
26
5.98M
  if (refmb_ref_frame_sign_bias != ref_frame_sign_bias[refframe]) {
27
650k
    mvp->as_mv.row *= -1;
28
650k
    mvp->as_mv.col *= -1;
29
650k
  }
30
5.98M
}
findnearmv.c:mv_bias
Line
Count
Source
25
1.14M
                           int_mv *mvp, const int *ref_frame_sign_bias) {
26
1.14M
  if (refmb_ref_frame_sign_bias != ref_frame_sign_bias[refframe]) {
27
0
    mvp->as_mv.row *= -1;
28
0
    mvp->as_mv.col *= -1;
29
0
  }
30
1.14M
}
Unexecuted instantiation: vp8_cx_iface.c:mv_bias
Unexecuted instantiation: ethreading.c:mv_bias
Unexecuted instantiation: onyx_if.c:mv_bias
Unexecuted instantiation: pickinter.c:mv_bias
Unexecuted instantiation: picklpf.c:mv_bias
Unexecuted instantiation: vp8_quantize.c:mv_bias
Unexecuted instantiation: ratectrl.c:mv_bias
rdopt.c:mv_bias
Line
Count
Source
25
4.43M
                           int_mv *mvp, const int *ref_frame_sign_bias) {
26
4.43M
  if (refmb_ref_frame_sign_bias != ref_frame_sign_bias[refframe]) {
27
0
    mvp->as_mv.row *= -1;
28
0
    mvp->as_mv.col *= -1;
29
0
  }
30
4.43M
}
Unexecuted instantiation: segmentation.c:mv_bias
Unexecuted instantiation: vp8_skin_detection.c:mv_bias
Unexecuted instantiation: tokenize.c:mv_bias
Unexecuted instantiation: temporal_filter.c:mv_bias
Unexecuted instantiation: bitstream.c:mv_bias
Unexecuted instantiation: encodeframe.c:mv_bias
Unexecuted instantiation: encodeintra.c:mv_bias
Unexecuted instantiation: encodemb.c:mv_bias
Unexecuted instantiation: encodemv.c:mv_bias
Unexecuted instantiation: firstpass.c:mv_bias
Unexecuted instantiation: mcomp.c:mv_bias
Unexecuted instantiation: modecosts.c:mv_bias
31
32
40.1M
#define LEFT_TOP_MARGIN (16 << 3)
33
40.0M
#define RIGHT_BOTTOM_MARGIN (16 << 3)
34
18.4M
static INLINE void vp8_clamp_mv2(int_mv *mv, const MACROBLOCKD *xd) {
35
18.4M
  if (mv->as_mv.col < (xd->mb_to_left_edge - LEFT_TOP_MARGIN)) {
36
90.3k
    mv->as_mv.col = xd->mb_to_left_edge - LEFT_TOP_MARGIN;
37
18.4M
  } else if (mv->as_mv.col > xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN) {
38
137k
    mv->as_mv.col = xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN;
39
137k
  }
40
41
18.4M
  if (mv->as_mv.row < (xd->mb_to_top_edge - LEFT_TOP_MARGIN)) {
42
111k
    mv->as_mv.row = xd->mb_to_top_edge - LEFT_TOP_MARGIN;
43
18.3M
  } else if (mv->as_mv.row > xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN) {
44
166k
    mv->as_mv.row = xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN;
45
166k
  }
46
18.4M
}
Unexecuted instantiation: alloccommon.c:vp8_clamp_mv2
decodemv.c:vp8_clamp_mv2
Line
Count
Source
34
2.70M
static INLINE void vp8_clamp_mv2(int_mv *mv, const MACROBLOCKD *xd) {
35
2.70M
  if (mv->as_mv.col < (xd->mb_to_left_edge - LEFT_TOP_MARGIN)) {
36
43.0k
    mv->as_mv.col = xd->mb_to_left_edge - LEFT_TOP_MARGIN;
37
2.65M
  } else if (mv->as_mv.col > xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN) {
38
40.0k
    mv->as_mv.col = xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN;
39
40.0k
  }
40
41
2.70M
  if (mv->as_mv.row < (xd->mb_to_top_edge - LEFT_TOP_MARGIN)) {
42
33.6k
    mv->as_mv.row = xd->mb_to_top_edge - LEFT_TOP_MARGIN;
43
2.66M
  } else if (mv->as_mv.row > xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN) {
44
28.7k
    mv->as_mv.row = xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN;
45
28.7k
  }
46
2.70M
}
findnearmv.c:vp8_clamp_mv2
Line
Count
Source
34
8.46M
static INLINE void vp8_clamp_mv2(int_mv *mv, const MACROBLOCKD *xd) {
35
8.46M
  if (mv->as_mv.col < (xd->mb_to_left_edge - LEFT_TOP_MARGIN)) {
36
43.7k
    mv->as_mv.col = xd->mb_to_left_edge - LEFT_TOP_MARGIN;
37
8.41M
  } else if (mv->as_mv.col > xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN) {
38
79.7k
    mv->as_mv.col = xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN;
39
79.7k
  }
40
41
8.46M
  if (mv->as_mv.row < (xd->mb_to_top_edge - LEFT_TOP_MARGIN)) {
42
72.5k
    mv->as_mv.row = xd->mb_to_top_edge - LEFT_TOP_MARGIN;
43
8.38M
  } else if (mv->as_mv.row > xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN) {
44
107k
    mv->as_mv.row = xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN;
45
107k
  }
46
8.46M
}
Unexecuted instantiation: vp8_cx_iface.c:vp8_clamp_mv2
Unexecuted instantiation: ethreading.c:vp8_clamp_mv2
Unexecuted instantiation: onyx_if.c:vp8_clamp_mv2
pickinter.c:vp8_clamp_mv2
Line
Count
Source
34
393k
static INLINE void vp8_clamp_mv2(int_mv *mv, const MACROBLOCKD *xd) {
35
393k
  if (mv->as_mv.col < (xd->mb_to_left_edge - LEFT_TOP_MARGIN)) {
36
0
    mv->as_mv.col = xd->mb_to_left_edge - LEFT_TOP_MARGIN;
37
393k
  } else if (mv->as_mv.col > xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN) {
38
0
    mv->as_mv.col = xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN;
39
0
  }
40
41
393k
  if (mv->as_mv.row < (xd->mb_to_top_edge - LEFT_TOP_MARGIN)) {
42
0
    mv->as_mv.row = xd->mb_to_top_edge - LEFT_TOP_MARGIN;
43
393k
  } else if (mv->as_mv.row > xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN) {
44
0
    mv->as_mv.row = xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN;
45
0
  }
46
393k
}
Unexecuted instantiation: picklpf.c:vp8_clamp_mv2
Unexecuted instantiation: vp8_quantize.c:vp8_clamp_mv2
Unexecuted instantiation: ratectrl.c:vp8_clamp_mv2
rdopt.c:vp8_clamp_mv2
Line
Count
Source
34
6.22M
static INLINE void vp8_clamp_mv2(int_mv *mv, const MACROBLOCKD *xd) {
35
6.22M
  if (mv->as_mv.col < (xd->mb_to_left_edge - LEFT_TOP_MARGIN)) {
36
3.51k
    mv->as_mv.col = xd->mb_to_left_edge - LEFT_TOP_MARGIN;
37
6.22M
  } else if (mv->as_mv.col > xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN) {
38
12.5k
    mv->as_mv.col = xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN;
39
12.5k
  }
40
41
6.22M
  if (mv->as_mv.row < (xd->mb_to_top_edge - LEFT_TOP_MARGIN)) {
42
5.35k
    mv->as_mv.row = xd->mb_to_top_edge - LEFT_TOP_MARGIN;
43
6.21M
  } else if (mv->as_mv.row > xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN) {
44
22.5k
    mv->as_mv.row = xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN;
45
22.5k
  }
46
6.22M
}
Unexecuted instantiation: segmentation.c:vp8_clamp_mv2
Unexecuted instantiation: vp8_skin_detection.c:vp8_clamp_mv2
Unexecuted instantiation: tokenize.c:vp8_clamp_mv2
Unexecuted instantiation: temporal_filter.c:vp8_clamp_mv2
bitstream.c:vp8_clamp_mv2
Line
Count
Source
34
714k
static INLINE void vp8_clamp_mv2(int_mv *mv, const MACROBLOCKD *xd) {
35
714k
  if (mv->as_mv.col < (xd->mb_to_left_edge - LEFT_TOP_MARGIN)) {
36
0
    mv->as_mv.col = xd->mb_to_left_edge - LEFT_TOP_MARGIN;
37
714k
  } else if (mv->as_mv.col > xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN) {
38
5.19k
    mv->as_mv.col = xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN;
39
5.19k
  }
40
41
714k
  if (mv->as_mv.row < (xd->mb_to_top_edge - LEFT_TOP_MARGIN)) {
42
0
    mv->as_mv.row = xd->mb_to_top_edge - LEFT_TOP_MARGIN;
43
714k
  } else if (mv->as_mv.row > xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN) {
44
8.43k
    mv->as_mv.row = xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN;
45
8.43k
  }
46
714k
}
Unexecuted instantiation: encodeframe.c:vp8_clamp_mv2
Unexecuted instantiation: encodeintra.c:vp8_clamp_mv2
Unexecuted instantiation: encodemb.c:vp8_clamp_mv2
Unexecuted instantiation: encodemv.c:vp8_clamp_mv2
Unexecuted instantiation: firstpass.c:vp8_clamp_mv2
Unexecuted instantiation: mcomp.c:vp8_clamp_mv2
Unexecuted instantiation: modecosts.c:vp8_clamp_mv2
47
48
static INLINE void vp8_clamp_mv(int_mv *mv, int mb_to_left_edge,
49
                                int mb_to_right_edge, int mb_to_top_edge,
50
53.3M
                                int mb_to_bottom_edge) {
51
53.3M
  mv->as_mv.col =
52
53.3M
      (mv->as_mv.col < mb_to_left_edge) ? mb_to_left_edge : mv->as_mv.col;
53
53.3M
  mv->as_mv.col =
54
53.3M
      (mv->as_mv.col > mb_to_right_edge) ? mb_to_right_edge : mv->as_mv.col;
55
53.3M
  mv->as_mv.row =
56
53.3M
      (mv->as_mv.row < mb_to_top_edge) ? mb_to_top_edge : mv->as_mv.row;
57
53.3M
  mv->as_mv.row =
58
53.3M
      (mv->as_mv.row > mb_to_bottom_edge) ? mb_to_bottom_edge : mv->as_mv.row;
59
53.3M
}
Unexecuted instantiation: alloccommon.c:vp8_clamp_mv
Unexecuted instantiation: decodemv.c:vp8_clamp_mv
Unexecuted instantiation: findnearmv.c:vp8_clamp_mv
Unexecuted instantiation: vp8_cx_iface.c:vp8_clamp_mv
Unexecuted instantiation: ethreading.c:vp8_clamp_mv
Unexecuted instantiation: onyx_if.c:vp8_clamp_mv
Unexecuted instantiation: pickinter.c:vp8_clamp_mv
Unexecuted instantiation: picklpf.c:vp8_clamp_mv
Unexecuted instantiation: vp8_quantize.c:vp8_clamp_mv
Unexecuted instantiation: ratectrl.c:vp8_clamp_mv
rdopt.c:vp8_clamp_mv
Line
Count
Source
50
5.42M
                                int mb_to_bottom_edge) {
51
5.42M
  mv->as_mv.col =
52
5.42M
      (mv->as_mv.col < mb_to_left_edge) ? mb_to_left_edge : mv->as_mv.col;
53
5.42M
  mv->as_mv.col =
54
5.42M
      (mv->as_mv.col > mb_to_right_edge) ? mb_to_right_edge : mv->as_mv.col;
55
5.42M
  mv->as_mv.row =
56
5.42M
      (mv->as_mv.row < mb_to_top_edge) ? mb_to_top_edge : mv->as_mv.row;
57
5.42M
  mv->as_mv.row =
58
5.42M
      (mv->as_mv.row > mb_to_bottom_edge) ? mb_to_bottom_edge : mv->as_mv.row;
59
5.42M
}
Unexecuted instantiation: segmentation.c:vp8_clamp_mv
Unexecuted instantiation: vp8_skin_detection.c:vp8_clamp_mv
Unexecuted instantiation: tokenize.c:vp8_clamp_mv
Unexecuted instantiation: temporal_filter.c:vp8_clamp_mv
Unexecuted instantiation: bitstream.c:vp8_clamp_mv
Unexecuted instantiation: encodeframe.c:vp8_clamp_mv
Unexecuted instantiation: encodeintra.c:vp8_clamp_mv
Unexecuted instantiation: encodemb.c:vp8_clamp_mv
Unexecuted instantiation: encodemv.c:vp8_clamp_mv
Unexecuted instantiation: firstpass.c:vp8_clamp_mv
mcomp.c:vp8_clamp_mv
Line
Count
Source
50
47.8M
                                int mb_to_bottom_edge) {
51
47.8M
  mv->as_mv.col =
52
47.8M
      (mv->as_mv.col < mb_to_left_edge) ? mb_to_left_edge : mv->as_mv.col;
53
47.8M
  mv->as_mv.col =
54
47.8M
      (mv->as_mv.col > mb_to_right_edge) ? mb_to_right_edge : mv->as_mv.col;
55
47.8M
  mv->as_mv.row =
56
47.8M
      (mv->as_mv.row < mb_to_top_edge) ? mb_to_top_edge : mv->as_mv.row;
57
47.8M
  mv->as_mv.row =
58
47.8M
      (mv->as_mv.row > mb_to_bottom_edge) ? mb_to_bottom_edge : mv->as_mv.row;
59
47.8M
}
Unexecuted instantiation: modecosts.c:vp8_clamp_mv
60
static INLINE unsigned int vp8_check_mv_bounds(int_mv *mv, int mb_to_left_edge,
61
                                               int mb_to_right_edge,
62
                                               int mb_to_top_edge,
63
6.07M
                                               int mb_to_bottom_edge) {
64
6.07M
  unsigned int need_to_clamp;
65
6.07M
  need_to_clamp = (mv->as_mv.col < mb_to_left_edge);
66
6.07M
  need_to_clamp |= (mv->as_mv.col > mb_to_right_edge);
67
6.07M
  need_to_clamp |= (mv->as_mv.row < mb_to_top_edge);
68
6.07M
  need_to_clamp |= (mv->as_mv.row > mb_to_bottom_edge);
69
6.07M
  return need_to_clamp;
70
6.07M
}
Unexecuted instantiation: alloccommon.c:vp8_check_mv_bounds
decodemv.c:vp8_check_mv_bounds
Line
Count
Source
63
6.07M
                                               int mb_to_bottom_edge) {
64
6.07M
  unsigned int need_to_clamp;
65
6.07M
  need_to_clamp = (mv->as_mv.col < mb_to_left_edge);
66
6.07M
  need_to_clamp |= (mv->as_mv.col > mb_to_right_edge);
67
6.07M
  need_to_clamp |= (mv->as_mv.row < mb_to_top_edge);
68
6.07M
  need_to_clamp |= (mv->as_mv.row > mb_to_bottom_edge);
69
6.07M
  return need_to_clamp;
70
6.07M
}
Unexecuted instantiation: findnearmv.c:vp8_check_mv_bounds
Unexecuted instantiation: vp8_cx_iface.c:vp8_check_mv_bounds
Unexecuted instantiation: ethreading.c:vp8_check_mv_bounds
Unexecuted instantiation: onyx_if.c:vp8_check_mv_bounds
Unexecuted instantiation: pickinter.c:vp8_check_mv_bounds
Unexecuted instantiation: picklpf.c:vp8_check_mv_bounds
Unexecuted instantiation: vp8_quantize.c:vp8_check_mv_bounds
Unexecuted instantiation: ratectrl.c:vp8_check_mv_bounds
Unexecuted instantiation: rdopt.c:vp8_check_mv_bounds
Unexecuted instantiation: segmentation.c:vp8_check_mv_bounds
Unexecuted instantiation: vp8_skin_detection.c:vp8_check_mv_bounds
Unexecuted instantiation: tokenize.c:vp8_check_mv_bounds
Unexecuted instantiation: temporal_filter.c:vp8_check_mv_bounds
Unexecuted instantiation: bitstream.c:vp8_check_mv_bounds
Unexecuted instantiation: encodeframe.c:vp8_check_mv_bounds
Unexecuted instantiation: encodeintra.c:vp8_check_mv_bounds
Unexecuted instantiation: encodemb.c:vp8_check_mv_bounds
Unexecuted instantiation: encodemv.c:vp8_check_mv_bounds
Unexecuted instantiation: firstpass.c:vp8_check_mv_bounds
Unexecuted instantiation: mcomp.c:vp8_check_mv_bounds
Unexecuted instantiation: modecosts.c:vp8_check_mv_bounds
71
72
void vp8_find_near_mvs(MACROBLOCKD *xd, const MODE_INFO *here, int_mv *nearest,
73
                       int_mv *nearby, int_mv *best_mv, int near_mv_ref_cnts[4],
74
                       int refframe, int *ref_frame_sign_bias);
75
76
int vp8_find_near_mvs_bias(MACROBLOCKD *xd, const MODE_INFO *here,
77
                           int_mv mode_mv_sb[2][MB_MODE_COUNT],
78
                           int_mv best_mv_sb[2], int cnt[4], int refframe,
79
                           int *ref_frame_sign_bias);
80
81
vp8_prob *vp8_mv_ref_probs(vp8_prob p[VP8_MVREFS - 1],
82
                           const int near_mv_ref_ct[4]);
83
84
extern const unsigned char vp8_mbsplit_offset[4][16];
85
86
17.5M
static INLINE uint32_t left_block_mv(const MODE_INFO *cur_mb, int b) {
87
17.5M
  if (!(b & 3)) {
88
    /* On L edge, get from MB to left of us */
89
16.4M
    --cur_mb;
90
91
16.4M
    if (cur_mb->mbmi.mode != SPLITMV) return cur_mb->mbmi.mv.as_int;
92
4.29M
    b += 4;
93
4.29M
  }
94
95
5.42M
  return (cur_mb->bmi + b - 1)->mv.as_int;
96
17.5M
}
Unexecuted instantiation: alloccommon.c:left_block_mv
Unexecuted instantiation: decodemv.c:left_block_mv
Unexecuted instantiation: findnearmv.c:left_block_mv
Unexecuted instantiation: vp8_cx_iface.c:left_block_mv
Unexecuted instantiation: ethreading.c:left_block_mv
Unexecuted instantiation: onyx_if.c:left_block_mv
Unexecuted instantiation: pickinter.c:left_block_mv
Unexecuted instantiation: picklpf.c:left_block_mv
Unexecuted instantiation: vp8_quantize.c:left_block_mv
Unexecuted instantiation: ratectrl.c:left_block_mv
rdopt.c:left_block_mv
Line
Count
Source
86
16.0M
static INLINE uint32_t left_block_mv(const MODE_INFO *cur_mb, int b) {
87
16.0M
  if (!(b & 3)) {
88
    /* On L edge, get from MB to left of us */
89
16.0M
    --cur_mb;
90
91
16.0M
    if (cur_mb->mbmi.mode != SPLITMV) return cur_mb->mbmi.mv.as_int;
92
4.10M
    b += 4;
93
4.10M
  }
94
95
4.10M
  return (cur_mb->bmi + b - 1)->mv.as_int;
96
16.0M
}
Unexecuted instantiation: segmentation.c:left_block_mv
Unexecuted instantiation: vp8_skin_detection.c:left_block_mv
Unexecuted instantiation: tokenize.c:left_block_mv
Unexecuted instantiation: temporal_filter.c:left_block_mv
bitstream.c:left_block_mv
Line
Count
Source
86
1.56M
static INLINE uint32_t left_block_mv(const MODE_INFO *cur_mb, int b) {
87
1.56M
  if (!(b & 3)) {
88
    /* On L edge, get from MB to left of us */
89
437k
    --cur_mb;
90
91
437k
    if (cur_mb->mbmi.mode != SPLITMV) return cur_mb->mbmi.mv.as_int;
92
188k
    b += 4;
93
188k
  }
94
95
1.31M
  return (cur_mb->bmi + b - 1)->mv.as_int;
96
1.56M
}
Unexecuted instantiation: encodeframe.c:left_block_mv
Unexecuted instantiation: encodeintra.c:left_block_mv
Unexecuted instantiation: encodemb.c:left_block_mv
Unexecuted instantiation: encodemv.c:left_block_mv
Unexecuted instantiation: firstpass.c:left_block_mv
Unexecuted instantiation: mcomp.c:left_block_mv
Unexecuted instantiation: modecosts.c:left_block_mv
97
98
static INLINE uint32_t above_block_mv(const MODE_INFO *cur_mb, int b,
99
8.75M
                                      int mi_stride) {
100
8.75M
  if (!(b >> 2)) {
101
    /* On top edge, get from MB above us */
102
7.62M
    cur_mb -= mi_stride;
103
104
7.62M
    if (cur_mb->mbmi.mode != SPLITMV) return cur_mb->mbmi.mv.as_int;
105
1.84M
    b += 16;
106
1.84M
  }
107
108
2.97M
  return (cur_mb->bmi + (b - 4))->mv.as_int;
109
8.75M
}
Unexecuted instantiation: alloccommon.c:above_block_mv
Unexecuted instantiation: decodemv.c:above_block_mv
Unexecuted instantiation: findnearmv.c:above_block_mv
Unexecuted instantiation: vp8_cx_iface.c:above_block_mv
Unexecuted instantiation: ethreading.c:above_block_mv
Unexecuted instantiation: onyx_if.c:above_block_mv
Unexecuted instantiation: pickinter.c:above_block_mv
Unexecuted instantiation: picklpf.c:above_block_mv
Unexecuted instantiation: vp8_quantize.c:above_block_mv
Unexecuted instantiation: ratectrl.c:above_block_mv
rdopt.c:above_block_mv
Line
Count
Source
99
7.19M
                                      int mi_stride) {
100
7.19M
  if (!(b >> 2)) {
101
    /* On top edge, get from MB above us */
102
7.19M
    cur_mb -= mi_stride;
103
104
7.19M
    if (cur_mb->mbmi.mode != SPLITMV) return cur_mb->mbmi.mv.as_int;
105
1.70M
    b += 16;
106
1.70M
  }
107
108
1.70M
  return (cur_mb->bmi + (b - 4))->mv.as_int;
109
7.19M
}
Unexecuted instantiation: segmentation.c:above_block_mv
Unexecuted instantiation: vp8_skin_detection.c:above_block_mv
Unexecuted instantiation: tokenize.c:above_block_mv
Unexecuted instantiation: temporal_filter.c:above_block_mv
bitstream.c:above_block_mv
Line
Count
Source
99
1.56M
                                      int mi_stride) {
100
1.56M
  if (!(b >> 2)) {
101
    /* On top edge, get from MB above us */
102
434k
    cur_mb -= mi_stride;
103
104
434k
    if (cur_mb->mbmi.mode != SPLITMV) return cur_mb->mbmi.mv.as_int;
105
138k
    b += 16;
106
138k
  }
107
108
1.26M
  return (cur_mb->bmi + (b - 4))->mv.as_int;
109
1.56M
}
Unexecuted instantiation: encodeframe.c:above_block_mv
Unexecuted instantiation: encodeintra.c:above_block_mv
Unexecuted instantiation: encodemb.c:above_block_mv
Unexecuted instantiation: encodemv.c:above_block_mv
Unexecuted instantiation: firstpass.c:above_block_mv
Unexecuted instantiation: mcomp.c:above_block_mv
Unexecuted instantiation: modecosts.c:above_block_mv
110
static INLINE B_PREDICTION_MODE left_block_mode(const MODE_INFO *cur_mb,
111
2.87G
                                                int b) {
112
2.87G
  if (!(b & 3)) {
113
    /* On L edge, get from MB to left of us */
114
717M
    --cur_mb;
115
717M
    switch (cur_mb->mbmi.mode) {
116
702M
      case B_PRED: return (cur_mb->bmi + b + 3)->as_mode;
117
14.4M
      case DC_PRED: return B_DC_PRED;
118
275k
      case V_PRED: return B_VE_PRED;
119
243k
      case H_PRED: return B_HE_PRED;
120
210k
      case TM_PRED: return B_TM_PRED;
121
0
      default: return B_DC_PRED;
122
717M
    }
123
717M
  }
124
125
2.15G
  return (cur_mb->bmi + b - 1)->as_mode;
126
2.87G
}
Unexecuted instantiation: alloccommon.c:left_block_mode
decodemv.c:left_block_mode
Line
Count
Source
111
2.86G
                                                int b) {
112
2.86G
  if (!(b & 3)) {
113
    /* On L edge, get from MB to left of us */
114
716M
    --cur_mb;
115
716M
    switch (cur_mb->mbmi.mode) {
116
701M
      case B_PRED: return (cur_mb->bmi + b + 3)->as_mode;
117
13.8M
      case DC_PRED: return B_DC_PRED;
118
245k
      case V_PRED: return B_VE_PRED;
119
231k
      case H_PRED: return B_HE_PRED;
120
204k
      case TM_PRED: return B_TM_PRED;
121
0
      default: return B_DC_PRED;
122
716M
    }
123
716M
  }
124
125
2.14G
  return (cur_mb->bmi + b - 1)->as_mode;
126
2.86G
}
Unexecuted instantiation: findnearmv.c:left_block_mode
Unexecuted instantiation: vp8_cx_iface.c:left_block_mode
Unexecuted instantiation: ethreading.c:left_block_mode
Unexecuted instantiation: onyx_if.c:left_block_mode
pickinter.c:left_block_mode
Line
Count
Source
111
661k
                                                int b) {
112
661k
  if (!(b & 3)) {
113
    /* On L edge, get from MB to left of us */
114
167k
    --cur_mb;
115
167k
    switch (cur_mb->mbmi.mode) {
116
59.0k
      case B_PRED: return (cur_mb->bmi + b + 3)->as_mode;
117
95.0k
      case DC_PRED: return B_DC_PRED;
118
5.78k
      case V_PRED: return B_VE_PRED;
119
4.14k
      case H_PRED: return B_HE_PRED;
120
3.06k
      case TM_PRED: return B_TM_PRED;
121
0
      default: return B_DC_PRED;
122
167k
    }
123
167k
  }
124
125
494k
  return (cur_mb->bmi + b - 1)->as_mode;
126
661k
}
Unexecuted instantiation: picklpf.c:left_block_mode
Unexecuted instantiation: vp8_quantize.c:left_block_mode
Unexecuted instantiation: ratectrl.c:left_block_mode
rdopt.c:left_block_mode
Line
Count
Source
111
3.30M
                                                int b) {
112
3.30M
  if (!(b & 3)) {
113
    /* On L edge, get from MB to left of us */
114
851k
    --cur_mb;
115
851k
    switch (cur_mb->mbmi.mode) {
116
476k
      case B_PRED: return (cur_mb->bmi + b + 3)->as_mode;
117
349k
      case DC_PRED: return B_DC_PRED;
118
20.1k
      case V_PRED: return B_VE_PRED;
119
4.28k
      case H_PRED: return B_HE_PRED;
120
1.48k
      case TM_PRED: return B_TM_PRED;
121
0
      default: return B_DC_PRED;
122
851k
    }
123
851k
  }
124
125
2.45M
  return (cur_mb->bmi + b - 1)->as_mode;
126
3.30M
}
Unexecuted instantiation: segmentation.c:left_block_mode
Unexecuted instantiation: vp8_skin_detection.c:left_block_mode
Unexecuted instantiation: tokenize.c:left_block_mode
Unexecuted instantiation: temporal_filter.c:left_block_mode
bitstream.c:left_block_mode
Line
Count
Source
111
1.86M
                                                int b) {
112
1.86M
  if (!(b & 3)) {
113
    /* On L edge, get from MB to left of us */
114
465k
    --cur_mb;
115
465k
    switch (cur_mb->mbmi.mode) {
116
261k
      case B_PRED: return (cur_mb->bmi + b + 3)->as_mode;
117
195k
      case DC_PRED: return B_DC_PRED;
118
4.10k
      case V_PRED: return B_VE_PRED;
119
3.51k
      case H_PRED: return B_HE_PRED;
120
1.02k
      case TM_PRED: return B_TM_PRED;
121
0
      default: return B_DC_PRED;
122
465k
    }
123
465k
  }
124
125
1.39M
  return (cur_mb->bmi + b - 1)->as_mode;
126
1.86M
}
Unexecuted instantiation: encodeframe.c:left_block_mode
Unexecuted instantiation: encodeintra.c:left_block_mode
Unexecuted instantiation: encodemb.c:left_block_mode
Unexecuted instantiation: encodemv.c:left_block_mode
Unexecuted instantiation: firstpass.c:left_block_mode
Unexecuted instantiation: mcomp.c:left_block_mode
Unexecuted instantiation: modecosts.c:left_block_mode
127
128
static INLINE B_PREDICTION_MODE above_block_mode(const MODE_INFO *cur_mb, int b,
129
2.87G
                                                 int mi_stride) {
130
2.87G
  if (!(b >> 2)) {
131
    /* On top edge, get from MB above us */
132
717M
    cur_mb -= mi_stride;
133
134
717M
    switch (cur_mb->mbmi.mode) {
135
710M
      case B_PRED: return (cur_mb->bmi + b + 12)->as_mode;
136
6.17M
      case DC_PRED: return B_DC_PRED;
137
334k
      case V_PRED: return B_VE_PRED;
138
341k
      case H_PRED: return B_HE_PRED;
139
370k
      case TM_PRED: return B_TM_PRED;
140
0
      default: return B_DC_PRED;
141
717M
    }
142
717M
  }
143
144
2.15G
  return (cur_mb->bmi + b - 4)->as_mode;
145
2.87G
}
Unexecuted instantiation: alloccommon.c:above_block_mode
decodemv.c:above_block_mode
Line
Count
Source
129
2.86G
                                                 int mi_stride) {
130
2.86G
  if (!(b >> 2)) {
131
    /* On top edge, get from MB above us */
132
716M
    cur_mb -= mi_stride;
133
134
716M
    switch (cur_mb->mbmi.mode) {
135
709M
      case B_PRED: return (cur_mb->bmi + b + 12)->as_mode;
136
5.32M
      case DC_PRED: return B_DC_PRED;
137
310k
      case V_PRED: return B_VE_PRED;
138
327k
      case H_PRED: return B_HE_PRED;
139
364k
      case TM_PRED: return B_TM_PRED;
140
0
      default: return B_DC_PRED;
141
716M
    }
142
716M
  }
143
144
2.14G
  return (cur_mb->bmi + b - 4)->as_mode;
145
2.86G
}
Unexecuted instantiation: findnearmv.c:above_block_mode
Unexecuted instantiation: vp8_cx_iface.c:above_block_mode
Unexecuted instantiation: ethreading.c:above_block_mode
Unexecuted instantiation: onyx_if.c:above_block_mode
pickinter.c:above_block_mode
Line
Count
Source
129
661k
                                                 int mi_stride) {
130
661k
  if (!(b >> 2)) {
131
    /* On top edge, get from MB above us */
132
169k
    cur_mb -= mi_stride;
133
134
169k
    switch (cur_mb->mbmi.mode) {
135
53.8k
      case B_PRED: return (cur_mb->bmi + b + 12)->as_mode;
136
104k
      case DC_PRED: return B_DC_PRED;
137
3.81k
      case V_PRED: return B_VE_PRED;
138
4.77k
      case H_PRED: return B_HE_PRED;
139
2.68k
      case TM_PRED: return B_TM_PRED;
140
0
      default: return B_DC_PRED;
141
169k
    }
142
169k
  }
143
144
492k
  return (cur_mb->bmi + b - 4)->as_mode;
145
661k
}
Unexecuted instantiation: picklpf.c:above_block_mode
Unexecuted instantiation: vp8_quantize.c:above_block_mode
Unexecuted instantiation: ratectrl.c:above_block_mode
rdopt.c:above_block_mode
Line
Count
Source
129
3.30M
                                                 int mi_stride) {
130
3.30M
  if (!(b >> 2)) {
131
    /* On top edge, get from MB above us */
132
934k
    cur_mb -= mi_stride;
133
134
934k
    switch (cur_mb->mbmi.mode) {
135
425k
      case B_PRED: return (cur_mb->bmi + b + 12)->as_mode;
136
484k
      case DC_PRED: return B_DC_PRED;
137
16.1k
      case V_PRED: return B_VE_PRED;
138
6.42k
      case H_PRED: return B_HE_PRED;
139
1.73k
      case TM_PRED: return B_TM_PRED;
140
0
      default: return B_DC_PRED;
141
934k
    }
142
934k
  }
143
144
2.37M
  return (cur_mb->bmi + b - 4)->as_mode;
145
3.30M
}
Unexecuted instantiation: segmentation.c:above_block_mode
Unexecuted instantiation: vp8_skin_detection.c:above_block_mode
Unexecuted instantiation: tokenize.c:above_block_mode
Unexecuted instantiation: temporal_filter.c:above_block_mode
bitstream.c:above_block_mode
Line
Count
Source
129
1.86M
                                                 int mi_stride) {
130
1.86M
  if (!(b >> 2)) {
131
    /* On top edge, get from MB above us */
132
465k
    cur_mb -= mi_stride;
133
134
465k
    switch (cur_mb->mbmi.mode) {
135
203k
      case B_PRED: return (cur_mb->bmi + b + 12)->as_mode;
136
254k
      case DC_PRED: return B_DC_PRED;
137
3.60k
      case V_PRED: return B_VE_PRED;
138
2.69k
      case H_PRED: return B_HE_PRED;
139
1.42k
      case TM_PRED: return B_TM_PRED;
140
0
      default: return B_DC_PRED;
141
465k
    }
142
465k
  }
143
144
1.39M
  return (cur_mb->bmi + b - 4)->as_mode;
145
1.86M
}
Unexecuted instantiation: encodeframe.c:above_block_mode
Unexecuted instantiation: encodeintra.c:above_block_mode
Unexecuted instantiation: encodemb.c:above_block_mode
Unexecuted instantiation: encodemv.c:above_block_mode
Unexecuted instantiation: firstpass.c:above_block_mode
Unexecuted instantiation: mcomp.c:above_block_mode
Unexecuted instantiation: modecosts.c:above_block_mode
146
147
#ifdef __cplusplus
148
}  // extern "C"
149
#endif
150
151
#endif  // VPX_VP8_COMMON_FINDNEARMV_H_