Coverage Report

Created: 2025-07-04 06:17

/src/libvpx/vp9/common/vp9_mv.h
Line
Count
Source (jump to first uncovered line)
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_VP9_COMMON_VP9_MV_H_
12
#define VPX_VP9_COMMON_VP9_MV_H_
13
14
#include "vpx/vpx_integer.h"
15
16
#include "vp9/common/vp9_common.h"
17
18
#ifdef __cplusplus
19
extern "C" {
20
#endif
21
22
#define INVALID_MV 0x80008000
23
24
typedef struct mv {
25
  int16_t row;
26
  int16_t col;
27
} MV;
28
29
typedef union int_mv {
30
  uint32_t as_int;
31
  MV as_mv;
32
} int_mv; /* facilitates faster equality tests and copies */
33
34
typedef struct mv32 {
35
  int32_t row;
36
  int32_t col;
37
} MV32;
38
39
0
static INLINE int is_zero_mv(const MV *mv) {
40
0
  return *((const uint32_t *)mv) == 0;
41
0
}
Unexecuted instantiation: vp9_dx_iface.c:is_zero_mv
Unexecuted instantiation: vp9_decodeframe.c:is_zero_mv
Unexecuted instantiation: vp9_detokenize.c:is_zero_mv
Unexecuted instantiation: vp9_decoder.c:is_zero_mv
Unexecuted instantiation: yv12config.c:is_zero_mv
Unexecuted instantiation: vp9_alloccommon.c:is_zero_mv
Unexecuted instantiation: vp9_blockd.c:is_zero_mv
Unexecuted instantiation: vp9_entropy.c:is_zero_mv
Unexecuted instantiation: vp9_entropymode.c:is_zero_mv
Unexecuted instantiation: vp9_entropymv.c:is_zero_mv
Unexecuted instantiation: vp9_idct.c:is_zero_mv
Unexecuted instantiation: vp9_pred_common.c:is_zero_mv
Unexecuted instantiation: vp9_scale.c:is_zero_mv
Unexecuted instantiation: vp9_seg_common.c:is_zero_mv
Unexecuted instantiation: vp9_tile_common.c:is_zero_mv
Unexecuted instantiation: vp9_loopfilter.c:is_zero_mv
Unexecuted instantiation: vp9_thread_common.c:is_zero_mv
Unexecuted instantiation: vp9_reconinter.c:is_zero_mv
Unexecuted instantiation: vp9_reconintra.c:is_zero_mv
Unexecuted instantiation: vp9_scan.c:is_zero_mv
Unexecuted instantiation: vp9_decodemv.c:is_zero_mv
42
43
0
static INLINE int is_equal_mv(const MV *a, const MV *b) {
44
0
  return *((const uint32_t *)a) == *((const uint32_t *)b);
45
0
}
Unexecuted instantiation: vp9_dx_iface.c:is_equal_mv
Unexecuted instantiation: vp9_decodeframe.c:is_equal_mv
Unexecuted instantiation: vp9_detokenize.c:is_equal_mv
Unexecuted instantiation: vp9_decoder.c:is_equal_mv
Unexecuted instantiation: yv12config.c:is_equal_mv
Unexecuted instantiation: vp9_alloccommon.c:is_equal_mv
Unexecuted instantiation: vp9_blockd.c:is_equal_mv
Unexecuted instantiation: vp9_entropy.c:is_equal_mv
Unexecuted instantiation: vp9_entropymode.c:is_equal_mv
Unexecuted instantiation: vp9_entropymv.c:is_equal_mv
Unexecuted instantiation: vp9_idct.c:is_equal_mv
Unexecuted instantiation: vp9_pred_common.c:is_equal_mv
Unexecuted instantiation: vp9_scale.c:is_equal_mv
Unexecuted instantiation: vp9_seg_common.c:is_equal_mv
Unexecuted instantiation: vp9_tile_common.c:is_equal_mv
Unexecuted instantiation: vp9_loopfilter.c:is_equal_mv
Unexecuted instantiation: vp9_thread_common.c:is_equal_mv
Unexecuted instantiation: vp9_reconinter.c:is_equal_mv
Unexecuted instantiation: vp9_reconintra.c:is_equal_mv
Unexecuted instantiation: vp9_scan.c:is_equal_mv
Unexecuted instantiation: vp9_decodemv.c:is_equal_mv
46
47
static INLINE void clamp_mv(MV *mv, int min_col, int max_col, int min_row,
48
25.0M
                            int max_row) {
49
25.0M
  mv->col = clamp(mv->col, min_col, max_col);
50
25.0M
  mv->row = clamp(mv->row, min_row, max_row);
51
25.0M
}
Unexecuted instantiation: vp9_dx_iface.c:clamp_mv
Unexecuted instantiation: vp9_decodeframe.c:clamp_mv
Unexecuted instantiation: vp9_detokenize.c:clamp_mv
Unexecuted instantiation: vp9_decoder.c:clamp_mv
Unexecuted instantiation: yv12config.c:clamp_mv
Unexecuted instantiation: vp9_alloccommon.c:clamp_mv
Unexecuted instantiation: vp9_blockd.c:clamp_mv
Unexecuted instantiation: vp9_entropy.c:clamp_mv
Unexecuted instantiation: vp9_entropymode.c:clamp_mv
Unexecuted instantiation: vp9_entropymv.c:clamp_mv
Unexecuted instantiation: vp9_idct.c:clamp_mv
Unexecuted instantiation: vp9_pred_common.c:clamp_mv
Unexecuted instantiation: vp9_scale.c:clamp_mv
Unexecuted instantiation: vp9_seg_common.c:clamp_mv
Unexecuted instantiation: vp9_tile_common.c:clamp_mv
Unexecuted instantiation: vp9_loopfilter.c:clamp_mv
Unexecuted instantiation: vp9_thread_common.c:clamp_mv
vp9_reconinter.c:clamp_mv
Line
Count
Source
48
9.26M
                            int max_row) {
49
9.26M
  mv->col = clamp(mv->col, min_col, max_col);
50
9.26M
  mv->row = clamp(mv->row, min_row, max_row);
51
9.26M
}
Unexecuted instantiation: vp9_reconintra.c:clamp_mv
Unexecuted instantiation: vp9_scan.c:clamp_mv
vp9_decodemv.c:clamp_mv
Line
Count
Source
48
15.7M
                            int max_row) {
49
15.7M
  mv->col = clamp(mv->col, min_col, max_col);
50
15.7M
  mv->row = clamp(mv->row, min_row, max_row);
51
15.7M
}
52
53
#ifdef __cplusplus
54
}  // extern "C"
55
#endif
56
57
#endif  // VPX_VP9_COMMON_VP9_MV_H_