Coverage Report

Created: 2025-06-22 08:04

/src/aom/av1/common/mv.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3
 *
4
 * This source code is subject to the terms of the BSD 2 Clause License and
5
 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6
 * was not distributed with this source code in the LICENSE file, you can
7
 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8
 * Media Patent License 1.0 was not distributed with this source code in the
9
 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10
 */
11
12
#ifndef AOM_AV1_COMMON_MV_H_
13
#define AOM_AV1_COMMON_MV_H_
14
15
#include <stdlib.h>
16
17
#include "av1/common/common.h"
18
#include "av1/common/common_data.h"
19
#include "aom_dsp/aom_filter.h"
20
#include "aom_dsp/flow_estimation/flow_estimation.h"
21
22
#ifdef __cplusplus
23
extern "C" {
24
#endif
25
26
1.81M
#define INVALID_MV 0x80008000
27
0
#define INVALID_MV_ROW_COL -32768
28
0
#define GET_MV_RAWPEL(x) (((x) + 3 + ((x) >= 0)) >> 3)
29
44.1M
#define GET_MV_SUBPEL(x) ((x)*8)
30
31
#define MARK_MV_INVALID(mv)                \
32
0
  do {                                     \
33
0
    ((int_mv *)(mv))->as_int = INVALID_MV; \
34
0
  } while (0)
35
0
#define CHECK_MV_EQUAL(x, y) (((x).row == (y).row) && ((x).col == (y).col))
36
37
// The motion vector in units of full pixel
38
typedef struct fullpel_mv {
39
  int16_t row;
40
  int16_t col;
41
} FULLPEL_MV;
42
43
// The motion vector in units of 1/8-pel
44
typedef struct mv {
45
  int16_t row;
46
  int16_t col;
47
} MV;
48
49
static const MV kZeroMv = { 0, 0 };
50
static const FULLPEL_MV kZeroFullMv = { 0, 0 };
51
52
typedef union int_mv {
53
  uint32_t as_int;
54
  MV as_mv;
55
  FULLPEL_MV as_fullmv;
56
} int_mv; /* facilitates faster equality tests and copies */
57
58
typedef struct mv32 {
59
  int32_t row;
60
  int32_t col;
61
} MV32;
62
63
// The mv limit for fullpel mvs
64
typedef struct {
65
  int col_min;
66
  int col_max;
67
  int row_min;
68
  int row_max;
69
} FullMvLimits;
70
71
// The mv limit for subpel mvs
72
typedef struct {
73
  int col_min;
74
  int col_max;
75
  int row_min;
76
  int row_max;
77
} SubpelMvLimits;
78
79
0
static inline FULLPEL_MV get_fullmv_from_mv(const MV *subpel_mv) {
80
0
  const FULLPEL_MV full_mv = { (int16_t)GET_MV_RAWPEL(subpel_mv->row),
81
0
                               (int16_t)GET_MV_RAWPEL(subpel_mv->col) };
82
0
  return full_mv;
83
0
}
Unexecuted instantiation: av1_dx_iface.c:get_fullmv_from_mv
Unexecuted instantiation: decodeframe.c:get_fullmv_from_mv
Unexecuted instantiation: decodemv.c:get_fullmv_from_mv
Unexecuted instantiation: decoder.c:get_fullmv_from_mv
Unexecuted instantiation: decodetxb.c:get_fullmv_from_mv
Unexecuted instantiation: detokenize.c:get_fullmv_from_mv
Unexecuted instantiation: obu.c:get_fullmv_from_mv
Unexecuted instantiation: av1_cx_iface.c:get_fullmv_from_mv
Unexecuted instantiation: allintra_vis.c:get_fullmv_from_mv
Unexecuted instantiation: av1_quantize.c:get_fullmv_from_mv
Unexecuted instantiation: bitstream.c:get_fullmv_from_mv
Unexecuted instantiation: context_tree.c:get_fullmv_from_mv
Unexecuted instantiation: encodeframe.c:get_fullmv_from_mv
Unexecuted instantiation: encodeframe_utils.c:get_fullmv_from_mv
Unexecuted instantiation: encodemb.c:get_fullmv_from_mv
Unexecuted instantiation: encodemv.c:get_fullmv_from_mv
Unexecuted instantiation: encoder.c:get_fullmv_from_mv
Unexecuted instantiation: encoder_utils.c:get_fullmv_from_mv
Unexecuted instantiation: encodetxb.c:get_fullmv_from_mv
Unexecuted instantiation: ethread.c:get_fullmv_from_mv
Unexecuted instantiation: firstpass.c:get_fullmv_from_mv
Unexecuted instantiation: global_motion_facade.c:get_fullmv_from_mv
Unexecuted instantiation: hash.c:get_fullmv_from_mv
Unexecuted instantiation: hash_motion.c:get_fullmv_from_mv
Unexecuted instantiation: hybrid_fwd_txfm.c:get_fullmv_from_mv
Unexecuted instantiation: level.c:get_fullmv_from_mv
Unexecuted instantiation: lookahead.c:get_fullmv_from_mv
Unexecuted instantiation: mcomp.c:get_fullmv_from_mv
Unexecuted instantiation: mv_prec.c:get_fullmv_from_mv
Unexecuted instantiation: palette.c:get_fullmv_from_mv
Unexecuted instantiation: partition_search.c:get_fullmv_from_mv
Unexecuted instantiation: partition_strategy.c:get_fullmv_from_mv
Unexecuted instantiation: pass2_strategy.c:get_fullmv_from_mv
Unexecuted instantiation: pickcdef.c:get_fullmv_from_mv
Unexecuted instantiation: picklpf.c:get_fullmv_from_mv
Unexecuted instantiation: pickrst.c:get_fullmv_from_mv
Unexecuted instantiation: ratectrl.c:get_fullmv_from_mv
Unexecuted instantiation: rd.c:get_fullmv_from_mv
Unexecuted instantiation: rdopt.c:get_fullmv_from_mv
Unexecuted instantiation: nonrd_pickmode.c:get_fullmv_from_mv
Unexecuted instantiation: nonrd_opt.c:get_fullmv_from_mv
Unexecuted instantiation: reconinter_enc.c:get_fullmv_from_mv
Unexecuted instantiation: segmentation.c:get_fullmv_from_mv
Unexecuted instantiation: speed_features.c:get_fullmv_from_mv
Unexecuted instantiation: superres_scale.c:get_fullmv_from_mv
Unexecuted instantiation: svc_layercontext.c:get_fullmv_from_mv
Unexecuted instantiation: temporal_filter.c:get_fullmv_from_mv
Unexecuted instantiation: tokenize.c:get_fullmv_from_mv
Unexecuted instantiation: tpl_model.c:get_fullmv_from_mv
Unexecuted instantiation: tx_search.c:get_fullmv_from_mv
Unexecuted instantiation: txb_rdopt.c:get_fullmv_from_mv
Unexecuted instantiation: intra_mode_search.c:get_fullmv_from_mv
Unexecuted instantiation: var_based_part.c:get_fullmv_from_mv
Unexecuted instantiation: av1_noise_estimate.c:get_fullmv_from_mv
Unexecuted instantiation: dwt.c:get_fullmv_from_mv
Unexecuted instantiation: aom_dsp_rtcd.c:get_fullmv_from_mv
Unexecuted instantiation: av1_rtcd.c:get_fullmv_from_mv
Unexecuted instantiation: aom_convolve.c:get_fullmv_from_mv
Unexecuted instantiation: blend_a64_mask.c:get_fullmv_from_mv
Unexecuted instantiation: avg.c:get_fullmv_from_mv
Unexecuted instantiation: blk_sse_sum.c:get_fullmv_from_mv
Unexecuted instantiation: fwd_txfm.c:get_fullmv_from_mv
Unexecuted instantiation: psnr.c:get_fullmv_from_mv
Unexecuted instantiation: quantize.c:get_fullmv_from_mv
Unexecuted instantiation: sad.c:get_fullmv_from_mv
Unexecuted instantiation: sad_av1.c:get_fullmv_from_mv
Unexecuted instantiation: subtract.c:get_fullmv_from_mv
Unexecuted instantiation: sse.c:get_fullmv_from_mv
Unexecuted instantiation: sum_squares.c:get_fullmv_from_mv
Unexecuted instantiation: variance.c:get_fullmv_from_mv
Unexecuted instantiation: pyramid.c:get_fullmv_from_mv
Unexecuted instantiation: noise_util.c:get_fullmv_from_mv
Unexecuted instantiation: alloccommon.c:get_fullmv_from_mv
Unexecuted instantiation: av1_loopfilter.c:get_fullmv_from_mv
Unexecuted instantiation: blockd.c:get_fullmv_from_mv
Unexecuted instantiation: cdef.c:get_fullmv_from_mv
Unexecuted instantiation: cdef_block.c:get_fullmv_from_mv
Unexecuted instantiation: cfl.c:get_fullmv_from_mv
Unexecuted instantiation: debugmodes.c:get_fullmv_from_mv
Unexecuted instantiation: entropy.c:get_fullmv_from_mv
Unexecuted instantiation: entropymode.c:get_fullmv_from_mv
Unexecuted instantiation: entropymv.c:get_fullmv_from_mv
Unexecuted instantiation: idct.c:get_fullmv_from_mv
Unexecuted instantiation: mvref_common.c:get_fullmv_from_mv
Unexecuted instantiation: pred_common.c:get_fullmv_from_mv
Unexecuted instantiation: quant_common.c:get_fullmv_from_mv
Unexecuted instantiation: reconinter.c:get_fullmv_from_mv
Unexecuted instantiation: reconintra.c:get_fullmv_from_mv
Unexecuted instantiation: resize.c:get_fullmv_from_mv
Unexecuted instantiation: restoration.c:get_fullmv_from_mv
Unexecuted instantiation: scale.c:get_fullmv_from_mv
Unexecuted instantiation: scan.c:get_fullmv_from_mv
Unexecuted instantiation: seg_common.c:get_fullmv_from_mv
Unexecuted instantiation: thread_common.c:get_fullmv_from_mv
Unexecuted instantiation: tile_common.c:get_fullmv_from_mv
Unexecuted instantiation: txb_common.c:get_fullmv_from_mv
Unexecuted instantiation: warped_motion.c:get_fullmv_from_mv
Unexecuted instantiation: aq_complexity.c:get_fullmv_from_mv
Unexecuted instantiation: aq_cyclicrefresh.c:get_fullmv_from_mv
Unexecuted instantiation: aq_variance.c:get_fullmv_from_mv
Unexecuted instantiation: av1_fwd_txfm2d.c:get_fullmv_from_mv
Unexecuted instantiation: cnn.c:get_fullmv_from_mv
Unexecuted instantiation: compound_type.c:get_fullmv_from_mv
Unexecuted instantiation: encode_strategy.c:get_fullmv_from_mv
Unexecuted instantiation: global_motion.c:get_fullmv_from_mv
Unexecuted instantiation: gop_structure.c:get_fullmv_from_mv
Unexecuted instantiation: interp_search.c:get_fullmv_from_mv
Unexecuted instantiation: ml.c:get_fullmv_from_mv
Unexecuted instantiation: motion_search_facade.c:get_fullmv_from_mv
Unexecuted instantiation: wedge_utils.c:get_fullmv_from_mv
Unexecuted instantiation: blend_a64_hmask.c:get_fullmv_from_mv
Unexecuted instantiation: blend_a64_vmask.c:get_fullmv_from_mv
Unexecuted instantiation: intrapred.c:get_fullmv_from_mv
Unexecuted instantiation: loopfilter.c:get_fullmv_from_mv
Unexecuted instantiation: fft.c:get_fullmv_from_mv
Unexecuted instantiation: corner_match.c:get_fullmv_from_mv
Unexecuted instantiation: disflow.c:get_fullmv_from_mv
Unexecuted instantiation: av1_inv_txfm2d.c:get_fullmv_from_mv
Unexecuted instantiation: av1_txfm.c:get_fullmv_from_mv
Unexecuted instantiation: convolve.c:get_fullmv_from_mv
Unexecuted instantiation: av1_fwd_txfm1d.c:get_fullmv_from_mv
Unexecuted instantiation: av1_inv_txfm1d.c:get_fullmv_from_mv
84
85
18.1k
static inline MV get_mv_from_fullmv(const FULLPEL_MV *full_mv) {
86
18.1k
  const MV subpel_mv = { (int16_t)GET_MV_SUBPEL(full_mv->row),
87
18.1k
                         (int16_t)GET_MV_SUBPEL(full_mv->col) };
88
18.1k
  return subpel_mv;
89
18.1k
}
Unexecuted instantiation: av1_dx_iface.c:get_mv_from_fullmv
Unexecuted instantiation: decodeframe.c:get_mv_from_fullmv
decodemv.c:get_mv_from_fullmv
Line
Count
Source
85
18.1k
static inline MV get_mv_from_fullmv(const FULLPEL_MV *full_mv) {
86
18.1k
  const MV subpel_mv = { (int16_t)GET_MV_SUBPEL(full_mv->row),
87
18.1k
                         (int16_t)GET_MV_SUBPEL(full_mv->col) };
88
18.1k
  return subpel_mv;
89
18.1k
}
Unexecuted instantiation: decoder.c:get_mv_from_fullmv
Unexecuted instantiation: decodetxb.c:get_mv_from_fullmv
Unexecuted instantiation: detokenize.c:get_mv_from_fullmv
Unexecuted instantiation: obu.c:get_mv_from_fullmv
Unexecuted instantiation: av1_cx_iface.c:get_mv_from_fullmv
Unexecuted instantiation: allintra_vis.c:get_mv_from_fullmv
Unexecuted instantiation: av1_quantize.c:get_mv_from_fullmv
Unexecuted instantiation: bitstream.c:get_mv_from_fullmv
Unexecuted instantiation: context_tree.c:get_mv_from_fullmv
Unexecuted instantiation: encodeframe.c:get_mv_from_fullmv
Unexecuted instantiation: encodeframe_utils.c:get_mv_from_fullmv
Unexecuted instantiation: encodemb.c:get_mv_from_fullmv
Unexecuted instantiation: encodemv.c:get_mv_from_fullmv
Unexecuted instantiation: encoder.c:get_mv_from_fullmv
Unexecuted instantiation: encoder_utils.c:get_mv_from_fullmv
Unexecuted instantiation: encodetxb.c:get_mv_from_fullmv
Unexecuted instantiation: ethread.c:get_mv_from_fullmv
Unexecuted instantiation: firstpass.c:get_mv_from_fullmv
Unexecuted instantiation: global_motion_facade.c:get_mv_from_fullmv
Unexecuted instantiation: hash.c:get_mv_from_fullmv
Unexecuted instantiation: hash_motion.c:get_mv_from_fullmv
Unexecuted instantiation: hybrid_fwd_txfm.c:get_mv_from_fullmv
Unexecuted instantiation: level.c:get_mv_from_fullmv
Unexecuted instantiation: lookahead.c:get_mv_from_fullmv
Unexecuted instantiation: mcomp.c:get_mv_from_fullmv
Unexecuted instantiation: mv_prec.c:get_mv_from_fullmv
Unexecuted instantiation: palette.c:get_mv_from_fullmv
Unexecuted instantiation: partition_search.c:get_mv_from_fullmv
Unexecuted instantiation: partition_strategy.c:get_mv_from_fullmv
Unexecuted instantiation: pass2_strategy.c:get_mv_from_fullmv
Unexecuted instantiation: pickcdef.c:get_mv_from_fullmv
Unexecuted instantiation: picklpf.c:get_mv_from_fullmv
Unexecuted instantiation: pickrst.c:get_mv_from_fullmv
Unexecuted instantiation: ratectrl.c:get_mv_from_fullmv
Unexecuted instantiation: rd.c:get_mv_from_fullmv
Unexecuted instantiation: rdopt.c:get_mv_from_fullmv
Unexecuted instantiation: nonrd_pickmode.c:get_mv_from_fullmv
Unexecuted instantiation: nonrd_opt.c:get_mv_from_fullmv
Unexecuted instantiation: reconinter_enc.c:get_mv_from_fullmv
Unexecuted instantiation: segmentation.c:get_mv_from_fullmv
Unexecuted instantiation: speed_features.c:get_mv_from_fullmv
Unexecuted instantiation: superres_scale.c:get_mv_from_fullmv
Unexecuted instantiation: svc_layercontext.c:get_mv_from_fullmv
Unexecuted instantiation: temporal_filter.c:get_mv_from_fullmv
Unexecuted instantiation: tokenize.c:get_mv_from_fullmv
Unexecuted instantiation: tpl_model.c:get_mv_from_fullmv
Unexecuted instantiation: tx_search.c:get_mv_from_fullmv
Unexecuted instantiation: txb_rdopt.c:get_mv_from_fullmv
Unexecuted instantiation: intra_mode_search.c:get_mv_from_fullmv
Unexecuted instantiation: var_based_part.c:get_mv_from_fullmv
Unexecuted instantiation: av1_noise_estimate.c:get_mv_from_fullmv
Unexecuted instantiation: dwt.c:get_mv_from_fullmv
Unexecuted instantiation: aom_dsp_rtcd.c:get_mv_from_fullmv
Unexecuted instantiation: av1_rtcd.c:get_mv_from_fullmv
Unexecuted instantiation: aom_convolve.c:get_mv_from_fullmv
Unexecuted instantiation: blend_a64_mask.c:get_mv_from_fullmv
Unexecuted instantiation: avg.c:get_mv_from_fullmv
Unexecuted instantiation: blk_sse_sum.c:get_mv_from_fullmv
Unexecuted instantiation: fwd_txfm.c:get_mv_from_fullmv
Unexecuted instantiation: psnr.c:get_mv_from_fullmv
Unexecuted instantiation: quantize.c:get_mv_from_fullmv
Unexecuted instantiation: sad.c:get_mv_from_fullmv
Unexecuted instantiation: sad_av1.c:get_mv_from_fullmv
Unexecuted instantiation: subtract.c:get_mv_from_fullmv
Unexecuted instantiation: sse.c:get_mv_from_fullmv
Unexecuted instantiation: sum_squares.c:get_mv_from_fullmv
Unexecuted instantiation: variance.c:get_mv_from_fullmv
Unexecuted instantiation: pyramid.c:get_mv_from_fullmv
Unexecuted instantiation: noise_util.c:get_mv_from_fullmv
Unexecuted instantiation: alloccommon.c:get_mv_from_fullmv
Unexecuted instantiation: av1_loopfilter.c:get_mv_from_fullmv
Unexecuted instantiation: blockd.c:get_mv_from_fullmv
Unexecuted instantiation: cdef.c:get_mv_from_fullmv
Unexecuted instantiation: cdef_block.c:get_mv_from_fullmv
Unexecuted instantiation: cfl.c:get_mv_from_fullmv
Unexecuted instantiation: debugmodes.c:get_mv_from_fullmv
Unexecuted instantiation: entropy.c:get_mv_from_fullmv
Unexecuted instantiation: entropymode.c:get_mv_from_fullmv
Unexecuted instantiation: entropymv.c:get_mv_from_fullmv
Unexecuted instantiation: idct.c:get_mv_from_fullmv
Unexecuted instantiation: mvref_common.c:get_mv_from_fullmv
Unexecuted instantiation: pred_common.c:get_mv_from_fullmv
Unexecuted instantiation: quant_common.c:get_mv_from_fullmv
Unexecuted instantiation: reconinter.c:get_mv_from_fullmv
Unexecuted instantiation: reconintra.c:get_mv_from_fullmv
Unexecuted instantiation: resize.c:get_mv_from_fullmv
Unexecuted instantiation: restoration.c:get_mv_from_fullmv
Unexecuted instantiation: scale.c:get_mv_from_fullmv
Unexecuted instantiation: scan.c:get_mv_from_fullmv
Unexecuted instantiation: seg_common.c:get_mv_from_fullmv
Unexecuted instantiation: thread_common.c:get_mv_from_fullmv
Unexecuted instantiation: tile_common.c:get_mv_from_fullmv
Unexecuted instantiation: txb_common.c:get_mv_from_fullmv
Unexecuted instantiation: warped_motion.c:get_mv_from_fullmv
Unexecuted instantiation: aq_complexity.c:get_mv_from_fullmv
Unexecuted instantiation: aq_cyclicrefresh.c:get_mv_from_fullmv
Unexecuted instantiation: aq_variance.c:get_mv_from_fullmv
Unexecuted instantiation: av1_fwd_txfm2d.c:get_mv_from_fullmv
Unexecuted instantiation: cnn.c:get_mv_from_fullmv
Unexecuted instantiation: compound_type.c:get_mv_from_fullmv
Unexecuted instantiation: encode_strategy.c:get_mv_from_fullmv
Unexecuted instantiation: global_motion.c:get_mv_from_fullmv
Unexecuted instantiation: gop_structure.c:get_mv_from_fullmv
Unexecuted instantiation: interp_search.c:get_mv_from_fullmv
Unexecuted instantiation: ml.c:get_mv_from_fullmv
Unexecuted instantiation: motion_search_facade.c:get_mv_from_fullmv
Unexecuted instantiation: wedge_utils.c:get_mv_from_fullmv
Unexecuted instantiation: blend_a64_hmask.c:get_mv_from_fullmv
Unexecuted instantiation: blend_a64_vmask.c:get_mv_from_fullmv
Unexecuted instantiation: intrapred.c:get_mv_from_fullmv
Unexecuted instantiation: loopfilter.c:get_mv_from_fullmv
Unexecuted instantiation: fft.c:get_mv_from_fullmv
Unexecuted instantiation: corner_match.c:get_mv_from_fullmv
Unexecuted instantiation: disflow.c:get_mv_from_fullmv
Unexecuted instantiation: av1_inv_txfm2d.c:get_mv_from_fullmv
Unexecuted instantiation: av1_txfm.c:get_mv_from_fullmv
Unexecuted instantiation: convolve.c:get_mv_from_fullmv
Unexecuted instantiation: av1_fwd_txfm1d.c:get_mv_from_fullmv
Unexecuted instantiation: av1_inv_txfm1d.c:get_mv_from_fullmv
90
91
18.1k
static inline void convert_fullmv_to_mv(int_mv *mv) {
92
18.1k
  mv->as_mv = get_mv_from_fullmv(&mv->as_fullmv);
93
18.1k
}
Unexecuted instantiation: av1_dx_iface.c:convert_fullmv_to_mv
Unexecuted instantiation: decodeframe.c:convert_fullmv_to_mv
decodemv.c:convert_fullmv_to_mv
Line
Count
Source
91
18.1k
static inline void convert_fullmv_to_mv(int_mv *mv) {
92
18.1k
  mv->as_mv = get_mv_from_fullmv(&mv->as_fullmv);
93
18.1k
}
Unexecuted instantiation: decoder.c:convert_fullmv_to_mv
Unexecuted instantiation: decodetxb.c:convert_fullmv_to_mv
Unexecuted instantiation: detokenize.c:convert_fullmv_to_mv
Unexecuted instantiation: obu.c:convert_fullmv_to_mv
Unexecuted instantiation: av1_cx_iface.c:convert_fullmv_to_mv
Unexecuted instantiation: allintra_vis.c:convert_fullmv_to_mv
Unexecuted instantiation: av1_quantize.c:convert_fullmv_to_mv
Unexecuted instantiation: bitstream.c:convert_fullmv_to_mv
Unexecuted instantiation: context_tree.c:convert_fullmv_to_mv
Unexecuted instantiation: encodeframe.c:convert_fullmv_to_mv
Unexecuted instantiation: encodeframe_utils.c:convert_fullmv_to_mv
Unexecuted instantiation: encodemb.c:convert_fullmv_to_mv
Unexecuted instantiation: encodemv.c:convert_fullmv_to_mv
Unexecuted instantiation: encoder.c:convert_fullmv_to_mv
Unexecuted instantiation: encoder_utils.c:convert_fullmv_to_mv
Unexecuted instantiation: encodetxb.c:convert_fullmv_to_mv
Unexecuted instantiation: ethread.c:convert_fullmv_to_mv
Unexecuted instantiation: firstpass.c:convert_fullmv_to_mv
Unexecuted instantiation: global_motion_facade.c:convert_fullmv_to_mv
Unexecuted instantiation: hash.c:convert_fullmv_to_mv
Unexecuted instantiation: hash_motion.c:convert_fullmv_to_mv
Unexecuted instantiation: hybrid_fwd_txfm.c:convert_fullmv_to_mv
Unexecuted instantiation: level.c:convert_fullmv_to_mv
Unexecuted instantiation: lookahead.c:convert_fullmv_to_mv
Unexecuted instantiation: mcomp.c:convert_fullmv_to_mv
Unexecuted instantiation: mv_prec.c:convert_fullmv_to_mv
Unexecuted instantiation: palette.c:convert_fullmv_to_mv
Unexecuted instantiation: partition_search.c:convert_fullmv_to_mv
Unexecuted instantiation: partition_strategy.c:convert_fullmv_to_mv
Unexecuted instantiation: pass2_strategy.c:convert_fullmv_to_mv
Unexecuted instantiation: pickcdef.c:convert_fullmv_to_mv
Unexecuted instantiation: picklpf.c:convert_fullmv_to_mv
Unexecuted instantiation: pickrst.c:convert_fullmv_to_mv
Unexecuted instantiation: ratectrl.c:convert_fullmv_to_mv
Unexecuted instantiation: rd.c:convert_fullmv_to_mv
Unexecuted instantiation: rdopt.c:convert_fullmv_to_mv
Unexecuted instantiation: nonrd_pickmode.c:convert_fullmv_to_mv
Unexecuted instantiation: nonrd_opt.c:convert_fullmv_to_mv
Unexecuted instantiation: reconinter_enc.c:convert_fullmv_to_mv
Unexecuted instantiation: segmentation.c:convert_fullmv_to_mv
Unexecuted instantiation: speed_features.c:convert_fullmv_to_mv
Unexecuted instantiation: superres_scale.c:convert_fullmv_to_mv
Unexecuted instantiation: svc_layercontext.c:convert_fullmv_to_mv
Unexecuted instantiation: temporal_filter.c:convert_fullmv_to_mv
Unexecuted instantiation: tokenize.c:convert_fullmv_to_mv
Unexecuted instantiation: tpl_model.c:convert_fullmv_to_mv
Unexecuted instantiation: tx_search.c:convert_fullmv_to_mv
Unexecuted instantiation: txb_rdopt.c:convert_fullmv_to_mv
Unexecuted instantiation: intra_mode_search.c:convert_fullmv_to_mv
Unexecuted instantiation: var_based_part.c:convert_fullmv_to_mv
Unexecuted instantiation: av1_noise_estimate.c:convert_fullmv_to_mv
Unexecuted instantiation: dwt.c:convert_fullmv_to_mv
Unexecuted instantiation: aom_dsp_rtcd.c:convert_fullmv_to_mv
Unexecuted instantiation: av1_rtcd.c:convert_fullmv_to_mv
Unexecuted instantiation: aom_convolve.c:convert_fullmv_to_mv
Unexecuted instantiation: blend_a64_mask.c:convert_fullmv_to_mv
Unexecuted instantiation: avg.c:convert_fullmv_to_mv
Unexecuted instantiation: blk_sse_sum.c:convert_fullmv_to_mv
Unexecuted instantiation: fwd_txfm.c:convert_fullmv_to_mv
Unexecuted instantiation: psnr.c:convert_fullmv_to_mv
Unexecuted instantiation: quantize.c:convert_fullmv_to_mv
Unexecuted instantiation: sad.c:convert_fullmv_to_mv
Unexecuted instantiation: sad_av1.c:convert_fullmv_to_mv
Unexecuted instantiation: subtract.c:convert_fullmv_to_mv
Unexecuted instantiation: sse.c:convert_fullmv_to_mv
Unexecuted instantiation: sum_squares.c:convert_fullmv_to_mv
Unexecuted instantiation: variance.c:convert_fullmv_to_mv
Unexecuted instantiation: pyramid.c:convert_fullmv_to_mv
Unexecuted instantiation: noise_util.c:convert_fullmv_to_mv
Unexecuted instantiation: alloccommon.c:convert_fullmv_to_mv
Unexecuted instantiation: av1_loopfilter.c:convert_fullmv_to_mv
Unexecuted instantiation: blockd.c:convert_fullmv_to_mv
Unexecuted instantiation: cdef.c:convert_fullmv_to_mv
Unexecuted instantiation: cdef_block.c:convert_fullmv_to_mv
Unexecuted instantiation: cfl.c:convert_fullmv_to_mv
Unexecuted instantiation: debugmodes.c:convert_fullmv_to_mv
Unexecuted instantiation: entropy.c:convert_fullmv_to_mv
Unexecuted instantiation: entropymode.c:convert_fullmv_to_mv
Unexecuted instantiation: entropymv.c:convert_fullmv_to_mv
Unexecuted instantiation: idct.c:convert_fullmv_to_mv
Unexecuted instantiation: mvref_common.c:convert_fullmv_to_mv
Unexecuted instantiation: pred_common.c:convert_fullmv_to_mv
Unexecuted instantiation: quant_common.c:convert_fullmv_to_mv
Unexecuted instantiation: reconinter.c:convert_fullmv_to_mv
Unexecuted instantiation: reconintra.c:convert_fullmv_to_mv
Unexecuted instantiation: resize.c:convert_fullmv_to_mv
Unexecuted instantiation: restoration.c:convert_fullmv_to_mv
Unexecuted instantiation: scale.c:convert_fullmv_to_mv
Unexecuted instantiation: scan.c:convert_fullmv_to_mv
Unexecuted instantiation: seg_common.c:convert_fullmv_to_mv
Unexecuted instantiation: thread_common.c:convert_fullmv_to_mv
Unexecuted instantiation: tile_common.c:convert_fullmv_to_mv
Unexecuted instantiation: txb_common.c:convert_fullmv_to_mv
Unexecuted instantiation: warped_motion.c:convert_fullmv_to_mv
Unexecuted instantiation: aq_complexity.c:convert_fullmv_to_mv
Unexecuted instantiation: aq_cyclicrefresh.c:convert_fullmv_to_mv
Unexecuted instantiation: aq_variance.c:convert_fullmv_to_mv
Unexecuted instantiation: av1_fwd_txfm2d.c:convert_fullmv_to_mv
Unexecuted instantiation: cnn.c:convert_fullmv_to_mv
Unexecuted instantiation: compound_type.c:convert_fullmv_to_mv
Unexecuted instantiation: encode_strategy.c:convert_fullmv_to_mv
Unexecuted instantiation: global_motion.c:convert_fullmv_to_mv
Unexecuted instantiation: gop_structure.c:convert_fullmv_to_mv
Unexecuted instantiation: interp_search.c:convert_fullmv_to_mv
Unexecuted instantiation: ml.c:convert_fullmv_to_mv
Unexecuted instantiation: motion_search_facade.c:convert_fullmv_to_mv
Unexecuted instantiation: wedge_utils.c:convert_fullmv_to_mv
Unexecuted instantiation: blend_a64_hmask.c:convert_fullmv_to_mv
Unexecuted instantiation: blend_a64_vmask.c:convert_fullmv_to_mv
Unexecuted instantiation: intrapred.c:convert_fullmv_to_mv
Unexecuted instantiation: loopfilter.c:convert_fullmv_to_mv
Unexecuted instantiation: fft.c:convert_fullmv_to_mv
Unexecuted instantiation: corner_match.c:convert_fullmv_to_mv
Unexecuted instantiation: disflow.c:convert_fullmv_to_mv
Unexecuted instantiation: av1_inv_txfm2d.c:convert_fullmv_to_mv
Unexecuted instantiation: av1_txfm.c:convert_fullmv_to_mv
Unexecuted instantiation: convolve.c:convert_fullmv_to_mv
Unexecuted instantiation: av1_fwd_txfm1d.c:convert_fullmv_to_mv
Unexecuted instantiation: av1_inv_txfm1d.c:convert_fullmv_to_mv
94
95
// Bits of precision used for the model
96
1.52M
#define WARPEDMODEL_PREC_BITS 16
97
98
13.1k
#define WARPEDMODEL_TRANS_CLAMP (128 << WARPEDMODEL_PREC_BITS)
99
26.2k
#define WARPEDMODEL_NONDIAGAFFINE_CLAMP (1 << (WARPEDMODEL_PREC_BITS - 3))
100
101
// Bits of subpel precision for warped interpolation
102
9.14M
#define WARPEDPIXEL_PREC_BITS 6
103
9.14M
#define WARPEDPIXEL_PREC_SHIFTS (1 << WARPEDPIXEL_PREC_BITS)
104
105
671k
#define WARP_PARAM_REDUCE_BITS 6
106
107
#define WARPEDDIFF_PREC_BITS (WARPEDMODEL_PREC_BITS - WARPEDPIXEL_PREC_BITS)
108
109
typedef struct {
110
  int global_warp_allowed;
111
  int local_warp_allowed;
112
} WarpTypesAllowed;
113
114
// The order of values in the wmmat matrix below is best described
115
// by the affine transformation:
116
//      [x'     (m2 m3 m0   [x
117
//  z .  y'  =   m4 m5 m1 *  y
118
//       1]       0  0 1)    1]
119
typedef struct {
120
  int32_t wmmat[MAX_PARAMDIM];
121
  int16_t alpha, beta, gamma, delta;
122
  TransformationType wmtype;
123
  int8_t invalid;
124
} WarpedMotionParams;
125
126
/* clang-format off */
127
static const WarpedMotionParams default_warp_params = {
128
  { 0, 0, (1 << WARPEDMODEL_PREC_BITS), 0, 0, (1 << WARPEDMODEL_PREC_BITS) },
129
  0, 0, 0, 0,
130
  IDENTITY,
131
  0,
132
};
133
/* clang-format on */
134
135
// The following constants describe the various precisions
136
// of different parameters in the global motion experiment.
137
//
138
// Given the general homography:
139
//      [x'     (a  b  c   [x
140
//  z .  y'  =   d  e  f *  y
141
//       1]      g  h  i)    1]
142
//
143
// Constants using the name ALPHA here are related to parameters
144
// a, b, d, e. Constants using the name TRANS are related
145
// to parameters c and f.
146
//
147
// Anything ending in PREC_BITS is the number of bits of precision
148
// to maintain when converting from double to integer.
149
//
150
// The ABS parameters are used to create an upper and lower bound
151
// for each parameter. In other words, after a parameter is integerized
152
// it is clamped between -(1 << ABS_XXX_BITS) and (1 << ABS_XXX_BITS).
153
//
154
// XXX_PREC_DIFF and XXX_DECODE_FACTOR
155
// are computed once here to prevent repetitive
156
// computation on the decoder side. These are
157
// to allow the global motion parameters to be encoded in a lower
158
// precision than the warped model precision. This means that they
159
// need to be changed to warped precision when they are decoded.
160
//
161
// XX_MIN, XX_MAX are also computed to avoid repeated computation
162
163
217k
#define SUBEXPFIN_K 3
164
94.0k
#define GM_TRANS_PREC_BITS 6
165
51.6k
#define GM_ABS_TRANS_BITS 12
166
9.24k
#define GM_ABS_TRANS_ONLY_BITS (GM_ABS_TRANS_BITS - GM_TRANS_PREC_BITS + 3)
167
84.8k
#define GM_TRANS_PREC_DIFF (WARPEDMODEL_PREC_BITS - GM_TRANS_PREC_BITS)
168
52.6k
#define GM_TRANS_ONLY_PREC_DIFF (WARPEDMODEL_PREC_BITS - 3)
169
42.4k
#define GM_TRANS_DECODE_FACTOR (1 << GM_TRANS_PREC_DIFF)
170
9.24k
#define GM_TRANS_ONLY_DECODE_FACTOR (1 << GM_TRANS_ONLY_PREC_DIFF)
171
172
285k
#define GM_ALPHA_PREC_BITS 15
173
114k
#define GM_ABS_ALPHA_BITS 12
174
228k
#define GM_ALPHA_PREC_DIFF (WARPEDMODEL_PREC_BITS - GM_ALPHA_PREC_BITS)
175
114k
#define GM_ALPHA_DECODE_FACTOR (1 << GM_ALPHA_PREC_DIFF)
176
177
0
#define GM_TRANS_MAX (1 << GM_ABS_TRANS_BITS)
178
114k
#define GM_ALPHA_MAX (1 << GM_ABS_ALPHA_BITS)
179
180
0
#define GM_TRANS_MIN -GM_TRANS_MAX
181
0
#define GM_ALPHA_MIN -GM_ALPHA_MAX
182
183
59.3k
static inline int block_center_x(int mi_col, BLOCK_SIZE bs) {
184
59.3k
  const int bw = block_size_wide[bs];
185
59.3k
  return mi_col * MI_SIZE + bw / 2 - 1;
186
59.3k
}
Unexecuted instantiation: av1_dx_iface.c:block_center_x
Unexecuted instantiation: decodeframe.c:block_center_x
decodemv.c:block_center_x
Line
Count
Source
183
16.1k
static inline int block_center_x(int mi_col, BLOCK_SIZE bs) {
184
16.1k
  const int bw = block_size_wide[bs];
185
16.1k
  return mi_col * MI_SIZE + bw / 2 - 1;
186
16.1k
}
Unexecuted instantiation: decoder.c:block_center_x
Unexecuted instantiation: decodetxb.c:block_center_x
Unexecuted instantiation: detokenize.c:block_center_x
Unexecuted instantiation: obu.c:block_center_x
Unexecuted instantiation: av1_cx_iface.c:block_center_x
Unexecuted instantiation: allintra_vis.c:block_center_x
Unexecuted instantiation: av1_quantize.c:block_center_x
Unexecuted instantiation: bitstream.c:block_center_x
Unexecuted instantiation: context_tree.c:block_center_x
Unexecuted instantiation: encodeframe.c:block_center_x
Unexecuted instantiation: encodeframe_utils.c:block_center_x
Unexecuted instantiation: encodemb.c:block_center_x
Unexecuted instantiation: encodemv.c:block_center_x
Unexecuted instantiation: encoder.c:block_center_x
Unexecuted instantiation: encoder_utils.c:block_center_x
Unexecuted instantiation: encodetxb.c:block_center_x
Unexecuted instantiation: ethread.c:block_center_x
Unexecuted instantiation: firstpass.c:block_center_x
Unexecuted instantiation: global_motion_facade.c:block_center_x
Unexecuted instantiation: hash.c:block_center_x
Unexecuted instantiation: hash_motion.c:block_center_x
Unexecuted instantiation: hybrid_fwd_txfm.c:block_center_x
Unexecuted instantiation: level.c:block_center_x
Unexecuted instantiation: lookahead.c:block_center_x
Unexecuted instantiation: mcomp.c:block_center_x
Unexecuted instantiation: mv_prec.c:block_center_x
Unexecuted instantiation: palette.c:block_center_x
Unexecuted instantiation: partition_search.c:block_center_x
Unexecuted instantiation: partition_strategy.c:block_center_x
Unexecuted instantiation: pass2_strategy.c:block_center_x
Unexecuted instantiation: pickcdef.c:block_center_x
Unexecuted instantiation: picklpf.c:block_center_x
Unexecuted instantiation: pickrst.c:block_center_x
Unexecuted instantiation: ratectrl.c:block_center_x
Unexecuted instantiation: rd.c:block_center_x
Unexecuted instantiation: rdopt.c:block_center_x
Unexecuted instantiation: nonrd_pickmode.c:block_center_x
Unexecuted instantiation: nonrd_opt.c:block_center_x
Unexecuted instantiation: reconinter_enc.c:block_center_x
Unexecuted instantiation: segmentation.c:block_center_x
Unexecuted instantiation: speed_features.c:block_center_x
Unexecuted instantiation: superres_scale.c:block_center_x
Unexecuted instantiation: svc_layercontext.c:block_center_x
Unexecuted instantiation: temporal_filter.c:block_center_x
Unexecuted instantiation: tokenize.c:block_center_x
Unexecuted instantiation: tpl_model.c:block_center_x
Unexecuted instantiation: tx_search.c:block_center_x
Unexecuted instantiation: txb_rdopt.c:block_center_x
Unexecuted instantiation: intra_mode_search.c:block_center_x
Unexecuted instantiation: var_based_part.c:block_center_x
Unexecuted instantiation: av1_noise_estimate.c:block_center_x
Unexecuted instantiation: dwt.c:block_center_x
Unexecuted instantiation: aom_dsp_rtcd.c:block_center_x
Unexecuted instantiation: av1_rtcd.c:block_center_x
Unexecuted instantiation: aom_convolve.c:block_center_x
Unexecuted instantiation: blend_a64_mask.c:block_center_x
Unexecuted instantiation: avg.c:block_center_x
Unexecuted instantiation: blk_sse_sum.c:block_center_x
Unexecuted instantiation: fwd_txfm.c:block_center_x
Unexecuted instantiation: psnr.c:block_center_x
Unexecuted instantiation: quantize.c:block_center_x
Unexecuted instantiation: sad.c:block_center_x
Unexecuted instantiation: sad_av1.c:block_center_x
Unexecuted instantiation: subtract.c:block_center_x
Unexecuted instantiation: sse.c:block_center_x
Unexecuted instantiation: sum_squares.c:block_center_x
Unexecuted instantiation: variance.c:block_center_x
Unexecuted instantiation: pyramid.c:block_center_x
Unexecuted instantiation: noise_util.c:block_center_x
Unexecuted instantiation: alloccommon.c:block_center_x
Unexecuted instantiation: av1_loopfilter.c:block_center_x
Unexecuted instantiation: blockd.c:block_center_x
Unexecuted instantiation: cdef.c:block_center_x
Unexecuted instantiation: cdef_block.c:block_center_x
Unexecuted instantiation: cfl.c:block_center_x
Unexecuted instantiation: debugmodes.c:block_center_x
Unexecuted instantiation: entropy.c:block_center_x
Unexecuted instantiation: entropymode.c:block_center_x
Unexecuted instantiation: entropymv.c:block_center_x
Unexecuted instantiation: idct.c:block_center_x
mvref_common.c:block_center_x
Line
Count
Source
183
43.1k
static inline int block_center_x(int mi_col, BLOCK_SIZE bs) {
184
43.1k
  const int bw = block_size_wide[bs];
185
43.1k
  return mi_col * MI_SIZE + bw / 2 - 1;
186
43.1k
}
Unexecuted instantiation: pred_common.c:block_center_x
Unexecuted instantiation: quant_common.c:block_center_x
Unexecuted instantiation: reconinter.c:block_center_x
Unexecuted instantiation: reconintra.c:block_center_x
Unexecuted instantiation: resize.c:block_center_x
Unexecuted instantiation: restoration.c:block_center_x
Unexecuted instantiation: scale.c:block_center_x
Unexecuted instantiation: scan.c:block_center_x
Unexecuted instantiation: seg_common.c:block_center_x
Unexecuted instantiation: thread_common.c:block_center_x
Unexecuted instantiation: tile_common.c:block_center_x
Unexecuted instantiation: txb_common.c:block_center_x
Unexecuted instantiation: warped_motion.c:block_center_x
Unexecuted instantiation: aq_complexity.c:block_center_x
Unexecuted instantiation: aq_cyclicrefresh.c:block_center_x
Unexecuted instantiation: aq_variance.c:block_center_x
Unexecuted instantiation: av1_fwd_txfm2d.c:block_center_x
Unexecuted instantiation: cnn.c:block_center_x
Unexecuted instantiation: compound_type.c:block_center_x
Unexecuted instantiation: encode_strategy.c:block_center_x
Unexecuted instantiation: global_motion.c:block_center_x
Unexecuted instantiation: gop_structure.c:block_center_x
Unexecuted instantiation: interp_search.c:block_center_x
Unexecuted instantiation: ml.c:block_center_x
Unexecuted instantiation: motion_search_facade.c:block_center_x
Unexecuted instantiation: wedge_utils.c:block_center_x
Unexecuted instantiation: blend_a64_hmask.c:block_center_x
Unexecuted instantiation: blend_a64_vmask.c:block_center_x
Unexecuted instantiation: intrapred.c:block_center_x
Unexecuted instantiation: loopfilter.c:block_center_x
Unexecuted instantiation: fft.c:block_center_x
Unexecuted instantiation: corner_match.c:block_center_x
Unexecuted instantiation: disflow.c:block_center_x
Unexecuted instantiation: av1_inv_txfm2d.c:block_center_x
Unexecuted instantiation: av1_txfm.c:block_center_x
Unexecuted instantiation: convolve.c:block_center_x
Unexecuted instantiation: av1_fwd_txfm1d.c:block_center_x
Unexecuted instantiation: av1_inv_txfm1d.c:block_center_x
187
188
59.3k
static inline int block_center_y(int mi_row, BLOCK_SIZE bs) {
189
59.3k
  const int bh = block_size_high[bs];
190
59.3k
  return mi_row * MI_SIZE + bh / 2 - 1;
191
59.3k
}
Unexecuted instantiation: av1_dx_iface.c:block_center_y
Unexecuted instantiation: decodeframe.c:block_center_y
decodemv.c:block_center_y
Line
Count
Source
188
16.1k
static inline int block_center_y(int mi_row, BLOCK_SIZE bs) {
189
16.1k
  const int bh = block_size_high[bs];
190
16.1k
  return mi_row * MI_SIZE + bh / 2 - 1;
191
16.1k
}
Unexecuted instantiation: decoder.c:block_center_y
Unexecuted instantiation: decodetxb.c:block_center_y
Unexecuted instantiation: detokenize.c:block_center_y
Unexecuted instantiation: obu.c:block_center_y
Unexecuted instantiation: av1_cx_iface.c:block_center_y
Unexecuted instantiation: allintra_vis.c:block_center_y
Unexecuted instantiation: av1_quantize.c:block_center_y
Unexecuted instantiation: bitstream.c:block_center_y
Unexecuted instantiation: context_tree.c:block_center_y
Unexecuted instantiation: encodeframe.c:block_center_y
Unexecuted instantiation: encodeframe_utils.c:block_center_y
Unexecuted instantiation: encodemb.c:block_center_y
Unexecuted instantiation: encodemv.c:block_center_y
Unexecuted instantiation: encoder.c:block_center_y
Unexecuted instantiation: encoder_utils.c:block_center_y
Unexecuted instantiation: encodetxb.c:block_center_y
Unexecuted instantiation: ethread.c:block_center_y
Unexecuted instantiation: firstpass.c:block_center_y
Unexecuted instantiation: global_motion_facade.c:block_center_y
Unexecuted instantiation: hash.c:block_center_y
Unexecuted instantiation: hash_motion.c:block_center_y
Unexecuted instantiation: hybrid_fwd_txfm.c:block_center_y
Unexecuted instantiation: level.c:block_center_y
Unexecuted instantiation: lookahead.c:block_center_y
Unexecuted instantiation: mcomp.c:block_center_y
Unexecuted instantiation: mv_prec.c:block_center_y
Unexecuted instantiation: palette.c:block_center_y
Unexecuted instantiation: partition_search.c:block_center_y
Unexecuted instantiation: partition_strategy.c:block_center_y
Unexecuted instantiation: pass2_strategy.c:block_center_y
Unexecuted instantiation: pickcdef.c:block_center_y
Unexecuted instantiation: picklpf.c:block_center_y
Unexecuted instantiation: pickrst.c:block_center_y
Unexecuted instantiation: ratectrl.c:block_center_y
Unexecuted instantiation: rd.c:block_center_y
Unexecuted instantiation: rdopt.c:block_center_y
Unexecuted instantiation: nonrd_pickmode.c:block_center_y
Unexecuted instantiation: nonrd_opt.c:block_center_y
Unexecuted instantiation: reconinter_enc.c:block_center_y
Unexecuted instantiation: segmentation.c:block_center_y
Unexecuted instantiation: speed_features.c:block_center_y
Unexecuted instantiation: superres_scale.c:block_center_y
Unexecuted instantiation: svc_layercontext.c:block_center_y
Unexecuted instantiation: temporal_filter.c:block_center_y
Unexecuted instantiation: tokenize.c:block_center_y
Unexecuted instantiation: tpl_model.c:block_center_y
Unexecuted instantiation: tx_search.c:block_center_y
Unexecuted instantiation: txb_rdopt.c:block_center_y
Unexecuted instantiation: intra_mode_search.c:block_center_y
Unexecuted instantiation: var_based_part.c:block_center_y
Unexecuted instantiation: av1_noise_estimate.c:block_center_y
Unexecuted instantiation: dwt.c:block_center_y
Unexecuted instantiation: aom_dsp_rtcd.c:block_center_y
Unexecuted instantiation: av1_rtcd.c:block_center_y
Unexecuted instantiation: aom_convolve.c:block_center_y
Unexecuted instantiation: blend_a64_mask.c:block_center_y
Unexecuted instantiation: avg.c:block_center_y
Unexecuted instantiation: blk_sse_sum.c:block_center_y
Unexecuted instantiation: fwd_txfm.c:block_center_y
Unexecuted instantiation: psnr.c:block_center_y
Unexecuted instantiation: quantize.c:block_center_y
Unexecuted instantiation: sad.c:block_center_y
Unexecuted instantiation: sad_av1.c:block_center_y
Unexecuted instantiation: subtract.c:block_center_y
Unexecuted instantiation: sse.c:block_center_y
Unexecuted instantiation: sum_squares.c:block_center_y
Unexecuted instantiation: variance.c:block_center_y
Unexecuted instantiation: pyramid.c:block_center_y
Unexecuted instantiation: noise_util.c:block_center_y
Unexecuted instantiation: alloccommon.c:block_center_y
Unexecuted instantiation: av1_loopfilter.c:block_center_y
Unexecuted instantiation: blockd.c:block_center_y
Unexecuted instantiation: cdef.c:block_center_y
Unexecuted instantiation: cdef_block.c:block_center_y
Unexecuted instantiation: cfl.c:block_center_y
Unexecuted instantiation: debugmodes.c:block_center_y
Unexecuted instantiation: entropy.c:block_center_y
Unexecuted instantiation: entropymode.c:block_center_y
Unexecuted instantiation: entropymv.c:block_center_y
Unexecuted instantiation: idct.c:block_center_y
mvref_common.c:block_center_y
Line
Count
Source
188
43.1k
static inline int block_center_y(int mi_row, BLOCK_SIZE bs) {
189
43.1k
  const int bh = block_size_high[bs];
190
43.1k
  return mi_row * MI_SIZE + bh / 2 - 1;
191
43.1k
}
Unexecuted instantiation: pred_common.c:block_center_y
Unexecuted instantiation: quant_common.c:block_center_y
Unexecuted instantiation: reconinter.c:block_center_y
Unexecuted instantiation: reconintra.c:block_center_y
Unexecuted instantiation: resize.c:block_center_y
Unexecuted instantiation: restoration.c:block_center_y
Unexecuted instantiation: scale.c:block_center_y
Unexecuted instantiation: scan.c:block_center_y
Unexecuted instantiation: seg_common.c:block_center_y
Unexecuted instantiation: thread_common.c:block_center_y
Unexecuted instantiation: tile_common.c:block_center_y
Unexecuted instantiation: txb_common.c:block_center_y
Unexecuted instantiation: warped_motion.c:block_center_y
Unexecuted instantiation: aq_complexity.c:block_center_y
Unexecuted instantiation: aq_cyclicrefresh.c:block_center_y
Unexecuted instantiation: aq_variance.c:block_center_y
Unexecuted instantiation: av1_fwd_txfm2d.c:block_center_y
Unexecuted instantiation: cnn.c:block_center_y
Unexecuted instantiation: compound_type.c:block_center_y
Unexecuted instantiation: encode_strategy.c:block_center_y
Unexecuted instantiation: global_motion.c:block_center_y
Unexecuted instantiation: gop_structure.c:block_center_y
Unexecuted instantiation: interp_search.c:block_center_y
Unexecuted instantiation: ml.c:block_center_y
Unexecuted instantiation: motion_search_facade.c:block_center_y
Unexecuted instantiation: wedge_utils.c:block_center_y
Unexecuted instantiation: blend_a64_hmask.c:block_center_y
Unexecuted instantiation: blend_a64_vmask.c:block_center_y
Unexecuted instantiation: intrapred.c:block_center_y
Unexecuted instantiation: loopfilter.c:block_center_y
Unexecuted instantiation: fft.c:block_center_y
Unexecuted instantiation: corner_match.c:block_center_y
Unexecuted instantiation: disflow.c:block_center_y
Unexecuted instantiation: av1_inv_txfm2d.c:block_center_y
Unexecuted instantiation: av1_txfm.c:block_center_y
Unexecuted instantiation: convolve.c:block_center_y
Unexecuted instantiation: av1_fwd_txfm1d.c:block_center_y
Unexecuted instantiation: av1_inv_txfm1d.c:block_center_y
192
193
118k
static inline int convert_to_trans_prec(int allow_hp, int coor) {
194
118k
  if (allow_hp)
195
45.1k
    return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 3);
196
73.4k
  else
197
73.4k
    return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 2) * 2;
198
118k
}
Unexecuted instantiation: av1_dx_iface.c:convert_to_trans_prec
Unexecuted instantiation: decodeframe.c:convert_to_trans_prec
decodemv.c:convert_to_trans_prec
Line
Count
Source
193
32.3k
static inline int convert_to_trans_prec(int allow_hp, int coor) {
194
32.3k
  if (allow_hp)
195
13.6k
    return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 3);
196
18.7k
  else
197
18.7k
    return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 2) * 2;
198
32.3k
}
Unexecuted instantiation: decoder.c:convert_to_trans_prec
Unexecuted instantiation: decodetxb.c:convert_to_trans_prec
Unexecuted instantiation: detokenize.c:convert_to_trans_prec
Unexecuted instantiation: obu.c:convert_to_trans_prec
Unexecuted instantiation: av1_cx_iface.c:convert_to_trans_prec
Unexecuted instantiation: allintra_vis.c:convert_to_trans_prec
Unexecuted instantiation: av1_quantize.c:convert_to_trans_prec
Unexecuted instantiation: bitstream.c:convert_to_trans_prec
Unexecuted instantiation: context_tree.c:convert_to_trans_prec
Unexecuted instantiation: encodeframe.c:convert_to_trans_prec
Unexecuted instantiation: encodeframe_utils.c:convert_to_trans_prec
Unexecuted instantiation: encodemb.c:convert_to_trans_prec
Unexecuted instantiation: encodemv.c:convert_to_trans_prec
Unexecuted instantiation: encoder.c:convert_to_trans_prec
Unexecuted instantiation: encoder_utils.c:convert_to_trans_prec
Unexecuted instantiation: encodetxb.c:convert_to_trans_prec
Unexecuted instantiation: ethread.c:convert_to_trans_prec
Unexecuted instantiation: firstpass.c:convert_to_trans_prec
Unexecuted instantiation: global_motion_facade.c:convert_to_trans_prec
Unexecuted instantiation: hash.c:convert_to_trans_prec
Unexecuted instantiation: hash_motion.c:convert_to_trans_prec
Unexecuted instantiation: hybrid_fwd_txfm.c:convert_to_trans_prec
Unexecuted instantiation: level.c:convert_to_trans_prec
Unexecuted instantiation: lookahead.c:convert_to_trans_prec
Unexecuted instantiation: mcomp.c:convert_to_trans_prec
Unexecuted instantiation: mv_prec.c:convert_to_trans_prec
Unexecuted instantiation: palette.c:convert_to_trans_prec
Unexecuted instantiation: partition_search.c:convert_to_trans_prec
Unexecuted instantiation: partition_strategy.c:convert_to_trans_prec
Unexecuted instantiation: pass2_strategy.c:convert_to_trans_prec
Unexecuted instantiation: pickcdef.c:convert_to_trans_prec
Unexecuted instantiation: picklpf.c:convert_to_trans_prec
Unexecuted instantiation: pickrst.c:convert_to_trans_prec
Unexecuted instantiation: ratectrl.c:convert_to_trans_prec
Unexecuted instantiation: rd.c:convert_to_trans_prec
Unexecuted instantiation: rdopt.c:convert_to_trans_prec
Unexecuted instantiation: nonrd_pickmode.c:convert_to_trans_prec
Unexecuted instantiation: nonrd_opt.c:convert_to_trans_prec
Unexecuted instantiation: reconinter_enc.c:convert_to_trans_prec
Unexecuted instantiation: segmentation.c:convert_to_trans_prec
Unexecuted instantiation: speed_features.c:convert_to_trans_prec
Unexecuted instantiation: superres_scale.c:convert_to_trans_prec
Unexecuted instantiation: svc_layercontext.c:convert_to_trans_prec
Unexecuted instantiation: temporal_filter.c:convert_to_trans_prec
Unexecuted instantiation: tokenize.c:convert_to_trans_prec
Unexecuted instantiation: tpl_model.c:convert_to_trans_prec
Unexecuted instantiation: tx_search.c:convert_to_trans_prec
Unexecuted instantiation: txb_rdopt.c:convert_to_trans_prec
Unexecuted instantiation: intra_mode_search.c:convert_to_trans_prec
Unexecuted instantiation: var_based_part.c:convert_to_trans_prec
Unexecuted instantiation: av1_noise_estimate.c:convert_to_trans_prec
Unexecuted instantiation: dwt.c:convert_to_trans_prec
Unexecuted instantiation: aom_dsp_rtcd.c:convert_to_trans_prec
Unexecuted instantiation: av1_rtcd.c:convert_to_trans_prec
Unexecuted instantiation: aom_convolve.c:convert_to_trans_prec
Unexecuted instantiation: blend_a64_mask.c:convert_to_trans_prec
Unexecuted instantiation: avg.c:convert_to_trans_prec
Unexecuted instantiation: blk_sse_sum.c:convert_to_trans_prec
Unexecuted instantiation: fwd_txfm.c:convert_to_trans_prec
Unexecuted instantiation: psnr.c:convert_to_trans_prec
Unexecuted instantiation: quantize.c:convert_to_trans_prec
Unexecuted instantiation: sad.c:convert_to_trans_prec
Unexecuted instantiation: sad_av1.c:convert_to_trans_prec
Unexecuted instantiation: subtract.c:convert_to_trans_prec
Unexecuted instantiation: sse.c:convert_to_trans_prec
Unexecuted instantiation: sum_squares.c:convert_to_trans_prec
Unexecuted instantiation: variance.c:convert_to_trans_prec
Unexecuted instantiation: pyramid.c:convert_to_trans_prec
Unexecuted instantiation: noise_util.c:convert_to_trans_prec
Unexecuted instantiation: alloccommon.c:convert_to_trans_prec
Unexecuted instantiation: av1_loopfilter.c:convert_to_trans_prec
Unexecuted instantiation: blockd.c:convert_to_trans_prec
Unexecuted instantiation: cdef.c:convert_to_trans_prec
Unexecuted instantiation: cdef_block.c:convert_to_trans_prec
Unexecuted instantiation: cfl.c:convert_to_trans_prec
Unexecuted instantiation: debugmodes.c:convert_to_trans_prec
Unexecuted instantiation: entropy.c:convert_to_trans_prec
Unexecuted instantiation: entropymode.c:convert_to_trans_prec
Unexecuted instantiation: entropymv.c:convert_to_trans_prec
Unexecuted instantiation: idct.c:convert_to_trans_prec
mvref_common.c:convert_to_trans_prec
Line
Count
Source
193
86.2k
static inline int convert_to_trans_prec(int allow_hp, int coor) {
194
86.2k
  if (allow_hp)
195
31.5k
    return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 3);
196
54.7k
  else
197
54.7k
    return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 2) * 2;
198
86.2k
}
Unexecuted instantiation: pred_common.c:convert_to_trans_prec
Unexecuted instantiation: quant_common.c:convert_to_trans_prec
Unexecuted instantiation: reconinter.c:convert_to_trans_prec
Unexecuted instantiation: reconintra.c:convert_to_trans_prec
Unexecuted instantiation: resize.c:convert_to_trans_prec
Unexecuted instantiation: restoration.c:convert_to_trans_prec
Unexecuted instantiation: scale.c:convert_to_trans_prec
Unexecuted instantiation: scan.c:convert_to_trans_prec
Unexecuted instantiation: seg_common.c:convert_to_trans_prec
Unexecuted instantiation: thread_common.c:convert_to_trans_prec
Unexecuted instantiation: tile_common.c:convert_to_trans_prec
Unexecuted instantiation: txb_common.c:convert_to_trans_prec
Unexecuted instantiation: warped_motion.c:convert_to_trans_prec
Unexecuted instantiation: aq_complexity.c:convert_to_trans_prec
Unexecuted instantiation: aq_cyclicrefresh.c:convert_to_trans_prec
Unexecuted instantiation: aq_variance.c:convert_to_trans_prec
Unexecuted instantiation: av1_fwd_txfm2d.c:convert_to_trans_prec
Unexecuted instantiation: cnn.c:convert_to_trans_prec
Unexecuted instantiation: compound_type.c:convert_to_trans_prec
Unexecuted instantiation: encode_strategy.c:convert_to_trans_prec
Unexecuted instantiation: global_motion.c:convert_to_trans_prec
Unexecuted instantiation: gop_structure.c:convert_to_trans_prec
Unexecuted instantiation: interp_search.c:convert_to_trans_prec
Unexecuted instantiation: ml.c:convert_to_trans_prec
Unexecuted instantiation: motion_search_facade.c:convert_to_trans_prec
Unexecuted instantiation: wedge_utils.c:convert_to_trans_prec
Unexecuted instantiation: blend_a64_hmask.c:convert_to_trans_prec
Unexecuted instantiation: blend_a64_vmask.c:convert_to_trans_prec
Unexecuted instantiation: intrapred.c:convert_to_trans_prec
Unexecuted instantiation: loopfilter.c:convert_to_trans_prec
Unexecuted instantiation: fft.c:convert_to_trans_prec
Unexecuted instantiation: corner_match.c:convert_to_trans_prec
Unexecuted instantiation: disflow.c:convert_to_trans_prec
Unexecuted instantiation: av1_inv_txfm2d.c:convert_to_trans_prec
Unexecuted instantiation: av1_txfm.c:convert_to_trans_prec
Unexecuted instantiation: convolve.c:convert_to_trans_prec
Unexecuted instantiation: av1_fwd_txfm1d.c:convert_to_trans_prec
Unexecuted instantiation: av1_inv_txfm1d.c:convert_to_trans_prec
199
46.7k
static inline void integer_mv_precision(MV *mv) {
200
46.7k
  int mod = (mv->row % 8);
201
46.7k
  if (mod != 0) {
202
8.86k
    mv->row -= mod;
203
8.86k
    if (abs(mod) > 4) {
204
4.28k
      if (mod > 0) {
205
2.22k
        mv->row += 8;
206
2.22k
      } else {
207
2.05k
        mv->row -= 8;
208
2.05k
      }
209
4.28k
    }
210
8.86k
  }
211
212
46.7k
  mod = (mv->col % 8);
213
46.7k
  if (mod != 0) {
214
9.81k
    mv->col -= mod;
215
9.81k
    if (abs(mod) > 4) {
216
4.71k
      if (mod > 0) {
217
2.71k
        mv->col += 8;
218
2.71k
      } else {
219
1.99k
        mv->col -= 8;
220
1.99k
      }
221
4.71k
    }
222
9.81k
  }
223
46.7k
}
Unexecuted instantiation: av1_dx_iface.c:integer_mv_precision
Unexecuted instantiation: decodeframe.c:integer_mv_precision
decodemv.c:integer_mv_precision
Line
Count
Source
199
9.71k
static inline void integer_mv_precision(MV *mv) {
200
9.71k
  int mod = (mv->row % 8);
201
9.71k
  if (mod != 0) {
202
1.27k
    mv->row -= mod;
203
1.27k
    if (abs(mod) > 4) {
204
755
      if (mod > 0) {
205
373
        mv->row += 8;
206
382
      } else {
207
382
        mv->row -= 8;
208
382
      }
209
755
    }
210
1.27k
  }
211
212
9.71k
  mod = (mv->col % 8);
213
9.71k
  if (mod != 0) {
214
1.17k
    mv->col -= mod;
215
1.17k
    if (abs(mod) > 4) {
216
748
      if (mod > 0) {
217
425
        mv->col += 8;
218
425
      } else {
219
323
        mv->col -= 8;
220
323
      }
221
748
    }
222
1.17k
  }
223
9.71k
}
Unexecuted instantiation: decoder.c:integer_mv_precision
Unexecuted instantiation: decodetxb.c:integer_mv_precision
Unexecuted instantiation: detokenize.c:integer_mv_precision
Unexecuted instantiation: obu.c:integer_mv_precision
Unexecuted instantiation: av1_cx_iface.c:integer_mv_precision
Unexecuted instantiation: allintra_vis.c:integer_mv_precision
Unexecuted instantiation: av1_quantize.c:integer_mv_precision
Unexecuted instantiation: bitstream.c:integer_mv_precision
Unexecuted instantiation: context_tree.c:integer_mv_precision
Unexecuted instantiation: encodeframe.c:integer_mv_precision
Unexecuted instantiation: encodeframe_utils.c:integer_mv_precision
Unexecuted instantiation: encodemb.c:integer_mv_precision
Unexecuted instantiation: encodemv.c:integer_mv_precision
Unexecuted instantiation: encoder.c:integer_mv_precision
Unexecuted instantiation: encoder_utils.c:integer_mv_precision
Unexecuted instantiation: encodetxb.c:integer_mv_precision
Unexecuted instantiation: ethread.c:integer_mv_precision
Unexecuted instantiation: firstpass.c:integer_mv_precision
Unexecuted instantiation: global_motion_facade.c:integer_mv_precision
Unexecuted instantiation: hash.c:integer_mv_precision
Unexecuted instantiation: hash_motion.c:integer_mv_precision
Unexecuted instantiation: hybrid_fwd_txfm.c:integer_mv_precision
Unexecuted instantiation: level.c:integer_mv_precision
Unexecuted instantiation: lookahead.c:integer_mv_precision
Unexecuted instantiation: mcomp.c:integer_mv_precision
Unexecuted instantiation: mv_prec.c:integer_mv_precision
Unexecuted instantiation: palette.c:integer_mv_precision
Unexecuted instantiation: partition_search.c:integer_mv_precision
Unexecuted instantiation: partition_strategy.c:integer_mv_precision
Unexecuted instantiation: pass2_strategy.c:integer_mv_precision
Unexecuted instantiation: pickcdef.c:integer_mv_precision
Unexecuted instantiation: picklpf.c:integer_mv_precision
Unexecuted instantiation: pickrst.c:integer_mv_precision
Unexecuted instantiation: ratectrl.c:integer_mv_precision
Unexecuted instantiation: rd.c:integer_mv_precision
Unexecuted instantiation: rdopt.c:integer_mv_precision
Unexecuted instantiation: nonrd_pickmode.c:integer_mv_precision
Unexecuted instantiation: nonrd_opt.c:integer_mv_precision
Unexecuted instantiation: reconinter_enc.c:integer_mv_precision
Unexecuted instantiation: segmentation.c:integer_mv_precision
Unexecuted instantiation: speed_features.c:integer_mv_precision
Unexecuted instantiation: superres_scale.c:integer_mv_precision
Unexecuted instantiation: svc_layercontext.c:integer_mv_precision
Unexecuted instantiation: temporal_filter.c:integer_mv_precision
Unexecuted instantiation: tokenize.c:integer_mv_precision
Unexecuted instantiation: tpl_model.c:integer_mv_precision
Unexecuted instantiation: tx_search.c:integer_mv_precision
Unexecuted instantiation: txb_rdopt.c:integer_mv_precision
Unexecuted instantiation: intra_mode_search.c:integer_mv_precision
Unexecuted instantiation: var_based_part.c:integer_mv_precision
Unexecuted instantiation: av1_noise_estimate.c:integer_mv_precision
Unexecuted instantiation: dwt.c:integer_mv_precision
Unexecuted instantiation: aom_dsp_rtcd.c:integer_mv_precision
Unexecuted instantiation: av1_rtcd.c:integer_mv_precision
Unexecuted instantiation: aom_convolve.c:integer_mv_precision
Unexecuted instantiation: blend_a64_mask.c:integer_mv_precision
Unexecuted instantiation: avg.c:integer_mv_precision
Unexecuted instantiation: blk_sse_sum.c:integer_mv_precision
Unexecuted instantiation: fwd_txfm.c:integer_mv_precision
Unexecuted instantiation: psnr.c:integer_mv_precision
Unexecuted instantiation: quantize.c:integer_mv_precision
Unexecuted instantiation: sad.c:integer_mv_precision
Unexecuted instantiation: sad_av1.c:integer_mv_precision
Unexecuted instantiation: subtract.c:integer_mv_precision
Unexecuted instantiation: sse.c:integer_mv_precision
Unexecuted instantiation: sum_squares.c:integer_mv_precision
Unexecuted instantiation: variance.c:integer_mv_precision
Unexecuted instantiation: pyramid.c:integer_mv_precision
Unexecuted instantiation: noise_util.c:integer_mv_precision
Unexecuted instantiation: alloccommon.c:integer_mv_precision
Unexecuted instantiation: av1_loopfilter.c:integer_mv_precision
Unexecuted instantiation: blockd.c:integer_mv_precision
Unexecuted instantiation: cdef.c:integer_mv_precision
Unexecuted instantiation: cdef_block.c:integer_mv_precision
Unexecuted instantiation: cfl.c:integer_mv_precision
Unexecuted instantiation: debugmodes.c:integer_mv_precision
Unexecuted instantiation: entropy.c:integer_mv_precision
Unexecuted instantiation: entropymode.c:integer_mv_precision
Unexecuted instantiation: entropymv.c:integer_mv_precision
Unexecuted instantiation: idct.c:integer_mv_precision
mvref_common.c:integer_mv_precision
Line
Count
Source
199
37.0k
static inline void integer_mv_precision(MV *mv) {
200
37.0k
  int mod = (mv->row % 8);
201
37.0k
  if (mod != 0) {
202
7.58k
    mv->row -= mod;
203
7.58k
    if (abs(mod) > 4) {
204
3.52k
      if (mod > 0) {
205
1.85k
        mv->row += 8;
206
1.85k
      } else {
207
1.67k
        mv->row -= 8;
208
1.67k
      }
209
3.52k
    }
210
7.58k
  }
211
212
37.0k
  mod = (mv->col % 8);
213
37.0k
  if (mod != 0) {
214
8.63k
    mv->col -= mod;
215
8.63k
    if (abs(mod) > 4) {
216
3.96k
      if (mod > 0) {
217
2.29k
        mv->col += 8;
218
2.29k
      } else {
219
1.67k
        mv->col -= 8;
220
1.67k
      }
221
3.96k
    }
222
8.63k
  }
223
37.0k
}
Unexecuted instantiation: pred_common.c:integer_mv_precision
Unexecuted instantiation: quant_common.c:integer_mv_precision
Unexecuted instantiation: reconinter.c:integer_mv_precision
Unexecuted instantiation: reconintra.c:integer_mv_precision
Unexecuted instantiation: resize.c:integer_mv_precision
Unexecuted instantiation: restoration.c:integer_mv_precision
Unexecuted instantiation: scale.c:integer_mv_precision
Unexecuted instantiation: scan.c:integer_mv_precision
Unexecuted instantiation: seg_common.c:integer_mv_precision
Unexecuted instantiation: thread_common.c:integer_mv_precision
Unexecuted instantiation: tile_common.c:integer_mv_precision
Unexecuted instantiation: txb_common.c:integer_mv_precision
Unexecuted instantiation: warped_motion.c:integer_mv_precision
Unexecuted instantiation: aq_complexity.c:integer_mv_precision
Unexecuted instantiation: aq_cyclicrefresh.c:integer_mv_precision
Unexecuted instantiation: aq_variance.c:integer_mv_precision
Unexecuted instantiation: av1_fwd_txfm2d.c:integer_mv_precision
Unexecuted instantiation: cnn.c:integer_mv_precision
Unexecuted instantiation: compound_type.c:integer_mv_precision
Unexecuted instantiation: encode_strategy.c:integer_mv_precision
Unexecuted instantiation: global_motion.c:integer_mv_precision
Unexecuted instantiation: gop_structure.c:integer_mv_precision
Unexecuted instantiation: interp_search.c:integer_mv_precision
Unexecuted instantiation: ml.c:integer_mv_precision
Unexecuted instantiation: motion_search_facade.c:integer_mv_precision
Unexecuted instantiation: wedge_utils.c:integer_mv_precision
Unexecuted instantiation: blend_a64_hmask.c:integer_mv_precision
Unexecuted instantiation: blend_a64_vmask.c:integer_mv_precision
Unexecuted instantiation: intrapred.c:integer_mv_precision
Unexecuted instantiation: loopfilter.c:integer_mv_precision
Unexecuted instantiation: fft.c:integer_mv_precision
Unexecuted instantiation: corner_match.c:integer_mv_precision
Unexecuted instantiation: disflow.c:integer_mv_precision
Unexecuted instantiation: av1_inv_txfm2d.c:integer_mv_precision
Unexecuted instantiation: av1_txfm.c:integer_mv_precision
Unexecuted instantiation: convolve.c:integer_mv_precision
Unexecuted instantiation: av1_fwd_txfm1d.c:integer_mv_precision
Unexecuted instantiation: av1_inv_txfm1d.c:integer_mv_precision
224
// Convert a global motion vector into a motion vector at the centre of the
225
// given block.
226
//
227
// The resulting motion vector will have three fractional bits of precision. If
228
// allow_hp is zero, the bottom bit will always be zero. If CONFIG_AMVR and
229
// is_integer is true, the bottom three bits will be zero (so the motion vector
230
// represents an integer)
231
static inline int_mv gm_get_motion_vector(const WarpedMotionParams *gm,
232
                                          int allow_hp, BLOCK_SIZE bsize,
233
                                          int mi_col, int mi_row,
234
131k
                                          int is_integer) {
235
131k
  int_mv res;
236
237
131k
  if (gm->wmtype == IDENTITY) {
238
54.6k
    res.as_int = 0;
239
54.6k
    return res;
240
54.6k
  }
241
242
76.3k
  const int32_t *mat = gm->wmmat;
243
76.3k
  int x, y, tx, ty;
244
245
76.3k
  if (gm->wmtype == TRANSLATION) {
246
    // All global motion vectors are stored with WARPEDMODEL_PREC_BITS (16)
247
    // bits of fractional precision. The offset for a translation is stored in
248
    // entries 0 and 1. For translations, all but the top three (two if
249
    // cm->features.allow_high_precision_mv is false) fractional bits are always
250
    // zero.
251
    //
252
    // After the right shifts, there are 3 fractional bits of precision. If
253
    // allow_hp is false, the bottom bit is always zero (so we don't need a
254
    // call to convert_to_trans_prec here)
255
    //
256
    // Note: There is an AV1 specification bug here:
257
    //
258
    // gm->wmmat[0] is supposed to be the horizontal translation, and so should
259
    // go into res.as_mv.col, and gm->wmmat[1] is supposed to be the vertical
260
    // translation and so should go into res.as_mv.row
261
    //
262
    // However, in the spec, these assignments are accidentally reversed, and so
263
    // we must keep this incorrect logic to match the spec.
264
    //
265
    // See also: https://crbug.com/aomedia/3328
266
17.0k
    res.as_mv.row = gm->wmmat[0] >> GM_TRANS_ONLY_PREC_DIFF;
267
17.0k
    res.as_mv.col = gm->wmmat[1] >> GM_TRANS_ONLY_PREC_DIFF;
268
17.0k
    assert(IMPLIES(1 & (res.as_mv.row | res.as_mv.col), allow_hp));
269
17.0k
    if (is_integer) {
270
5.29k
      integer_mv_precision(&res.as_mv);
271
5.29k
    }
272
17.0k
    return res;
273
17.0k
  }
274
275
59.3k
  x = block_center_x(mi_col, bsize);
276
59.3k
  y = block_center_y(mi_row, bsize);
277
278
59.3k
  if (gm->wmtype == ROTZOOM) {
279
39.0k
    assert(gm->wmmat[5] == gm->wmmat[2]);
280
39.0k
    assert(gm->wmmat[4] == -gm->wmmat[3]);
281
39.0k
  }
282
283
59.3k
  const int xc =
284
59.3k
      (mat[2] - (1 << WARPEDMODEL_PREC_BITS)) * x + mat[3] * y + mat[0];
285
59.3k
  const int yc =
286
59.3k
      mat[4] * x + (mat[5] - (1 << WARPEDMODEL_PREC_BITS)) * y + mat[1];
287
59.3k
  tx = convert_to_trans_prec(allow_hp, xc);
288
59.3k
  ty = convert_to_trans_prec(allow_hp, yc);
289
290
59.3k
  res.as_mv.row = ty;
291
59.3k
  res.as_mv.col = tx;
292
293
59.3k
  if (is_integer) {
294
8.13k
    integer_mv_precision(&res.as_mv);
295
8.13k
  }
296
59.3k
  return res;
297
76.3k
}
Unexecuted instantiation: av1_dx_iface.c:gm_get_motion_vector
Unexecuted instantiation: decodeframe.c:gm_get_motion_vector
decodemv.c:gm_get_motion_vector
Line
Count
Source
234
31.4k
                                          int is_integer) {
235
31.4k
  int_mv res;
236
237
31.4k
  if (gm->wmtype == IDENTITY) {
238
11.8k
    res.as_int = 0;
239
11.8k
    return res;
240
11.8k
  }
241
242
19.5k
  const int32_t *mat = gm->wmmat;
243
19.5k
  int x, y, tx, ty;
244
245
19.5k
  if (gm->wmtype == TRANSLATION) {
246
    // All global motion vectors are stored with WARPEDMODEL_PREC_BITS (16)
247
    // bits of fractional precision. The offset for a translation is stored in
248
    // entries 0 and 1. For translations, all but the top three (two if
249
    // cm->features.allow_high_precision_mv is false) fractional bits are always
250
    // zero.
251
    //
252
    // After the right shifts, there are 3 fractional bits of precision. If
253
    // allow_hp is false, the bottom bit is always zero (so we don't need a
254
    // call to convert_to_trans_prec here)
255
    //
256
    // Note: There is an AV1 specification bug here:
257
    //
258
    // gm->wmmat[0] is supposed to be the horizontal translation, and so should
259
    // go into res.as_mv.col, and gm->wmmat[1] is supposed to be the vertical
260
    // translation and so should go into res.as_mv.row
261
    //
262
    // However, in the spec, these assignments are accidentally reversed, and so
263
    // we must keep this incorrect logic to match the spec.
264
    //
265
    // See also: https://crbug.com/aomedia/3328
266
3.38k
    res.as_mv.row = gm->wmmat[0] >> GM_TRANS_ONLY_PREC_DIFF;
267
3.38k
    res.as_mv.col = gm->wmmat[1] >> GM_TRANS_ONLY_PREC_DIFF;
268
3.38k
    assert(IMPLIES(1 & (res.as_mv.row | res.as_mv.col), allow_hp));
269
3.38k
    if (is_integer) {
270
1.01k
      integer_mv_precision(&res.as_mv);
271
1.01k
    }
272
3.38k
    return res;
273
3.38k
  }
274
275
16.1k
  x = block_center_x(mi_col, bsize);
276
16.1k
  y = block_center_y(mi_row, bsize);
277
278
16.1k
  if (gm->wmtype == ROTZOOM) {
279
9.35k
    assert(gm->wmmat[5] == gm->wmmat[2]);
280
9.35k
    assert(gm->wmmat[4] == -gm->wmmat[3]);
281
9.35k
  }
282
283
16.1k
  const int xc =
284
16.1k
      (mat[2] - (1 << WARPEDMODEL_PREC_BITS)) * x + mat[3] * y + mat[0];
285
16.1k
  const int yc =
286
16.1k
      mat[4] * x + (mat[5] - (1 << WARPEDMODEL_PREC_BITS)) * y + mat[1];
287
16.1k
  tx = convert_to_trans_prec(allow_hp, xc);
288
16.1k
  ty = convert_to_trans_prec(allow_hp, yc);
289
290
16.1k
  res.as_mv.row = ty;
291
16.1k
  res.as_mv.col = tx;
292
293
16.1k
  if (is_integer) {
294
977
    integer_mv_precision(&res.as_mv);
295
977
  }
296
16.1k
  return res;
297
19.5k
}
Unexecuted instantiation: decoder.c:gm_get_motion_vector
Unexecuted instantiation: decodetxb.c:gm_get_motion_vector
Unexecuted instantiation: detokenize.c:gm_get_motion_vector
Unexecuted instantiation: obu.c:gm_get_motion_vector
Unexecuted instantiation: av1_cx_iface.c:gm_get_motion_vector
Unexecuted instantiation: allintra_vis.c:gm_get_motion_vector
Unexecuted instantiation: av1_quantize.c:gm_get_motion_vector
Unexecuted instantiation: bitstream.c:gm_get_motion_vector
Unexecuted instantiation: context_tree.c:gm_get_motion_vector
Unexecuted instantiation: encodeframe.c:gm_get_motion_vector
Unexecuted instantiation: encodeframe_utils.c:gm_get_motion_vector
Unexecuted instantiation: encodemb.c:gm_get_motion_vector
Unexecuted instantiation: encodemv.c:gm_get_motion_vector
Unexecuted instantiation: encoder.c:gm_get_motion_vector
Unexecuted instantiation: encoder_utils.c:gm_get_motion_vector
Unexecuted instantiation: encodetxb.c:gm_get_motion_vector
Unexecuted instantiation: ethread.c:gm_get_motion_vector
Unexecuted instantiation: firstpass.c:gm_get_motion_vector
Unexecuted instantiation: global_motion_facade.c:gm_get_motion_vector
Unexecuted instantiation: hash.c:gm_get_motion_vector
Unexecuted instantiation: hash_motion.c:gm_get_motion_vector
Unexecuted instantiation: hybrid_fwd_txfm.c:gm_get_motion_vector
Unexecuted instantiation: level.c:gm_get_motion_vector
Unexecuted instantiation: lookahead.c:gm_get_motion_vector
Unexecuted instantiation: mcomp.c:gm_get_motion_vector
Unexecuted instantiation: mv_prec.c:gm_get_motion_vector
Unexecuted instantiation: palette.c:gm_get_motion_vector
Unexecuted instantiation: partition_search.c:gm_get_motion_vector
Unexecuted instantiation: partition_strategy.c:gm_get_motion_vector
Unexecuted instantiation: pass2_strategy.c:gm_get_motion_vector
Unexecuted instantiation: pickcdef.c:gm_get_motion_vector
Unexecuted instantiation: picklpf.c:gm_get_motion_vector
Unexecuted instantiation: pickrst.c:gm_get_motion_vector
Unexecuted instantiation: ratectrl.c:gm_get_motion_vector
Unexecuted instantiation: rd.c:gm_get_motion_vector
Unexecuted instantiation: rdopt.c:gm_get_motion_vector
Unexecuted instantiation: nonrd_pickmode.c:gm_get_motion_vector
Unexecuted instantiation: nonrd_opt.c:gm_get_motion_vector
Unexecuted instantiation: reconinter_enc.c:gm_get_motion_vector
Unexecuted instantiation: segmentation.c:gm_get_motion_vector
Unexecuted instantiation: speed_features.c:gm_get_motion_vector
Unexecuted instantiation: superres_scale.c:gm_get_motion_vector
Unexecuted instantiation: svc_layercontext.c:gm_get_motion_vector
Unexecuted instantiation: temporal_filter.c:gm_get_motion_vector
Unexecuted instantiation: tokenize.c:gm_get_motion_vector
Unexecuted instantiation: tpl_model.c:gm_get_motion_vector
Unexecuted instantiation: tx_search.c:gm_get_motion_vector
Unexecuted instantiation: txb_rdopt.c:gm_get_motion_vector
Unexecuted instantiation: intra_mode_search.c:gm_get_motion_vector
Unexecuted instantiation: var_based_part.c:gm_get_motion_vector
Unexecuted instantiation: av1_noise_estimate.c:gm_get_motion_vector
Unexecuted instantiation: dwt.c:gm_get_motion_vector
Unexecuted instantiation: aom_dsp_rtcd.c:gm_get_motion_vector
Unexecuted instantiation: av1_rtcd.c:gm_get_motion_vector
Unexecuted instantiation: aom_convolve.c:gm_get_motion_vector
Unexecuted instantiation: blend_a64_mask.c:gm_get_motion_vector
Unexecuted instantiation: avg.c:gm_get_motion_vector
Unexecuted instantiation: blk_sse_sum.c:gm_get_motion_vector
Unexecuted instantiation: fwd_txfm.c:gm_get_motion_vector
Unexecuted instantiation: psnr.c:gm_get_motion_vector
Unexecuted instantiation: quantize.c:gm_get_motion_vector
Unexecuted instantiation: sad.c:gm_get_motion_vector
Unexecuted instantiation: sad_av1.c:gm_get_motion_vector
Unexecuted instantiation: subtract.c:gm_get_motion_vector
Unexecuted instantiation: sse.c:gm_get_motion_vector
Unexecuted instantiation: sum_squares.c:gm_get_motion_vector
Unexecuted instantiation: variance.c:gm_get_motion_vector
Unexecuted instantiation: pyramid.c:gm_get_motion_vector
Unexecuted instantiation: noise_util.c:gm_get_motion_vector
Unexecuted instantiation: alloccommon.c:gm_get_motion_vector
Unexecuted instantiation: av1_loopfilter.c:gm_get_motion_vector
Unexecuted instantiation: blockd.c:gm_get_motion_vector
Unexecuted instantiation: cdef.c:gm_get_motion_vector
Unexecuted instantiation: cdef_block.c:gm_get_motion_vector
Unexecuted instantiation: cfl.c:gm_get_motion_vector
Unexecuted instantiation: debugmodes.c:gm_get_motion_vector
Unexecuted instantiation: entropy.c:gm_get_motion_vector
Unexecuted instantiation: entropymode.c:gm_get_motion_vector
Unexecuted instantiation: entropymv.c:gm_get_motion_vector
Unexecuted instantiation: idct.c:gm_get_motion_vector
mvref_common.c:gm_get_motion_vector
Line
Count
Source
234
99.5k
                                          int is_integer) {
235
99.5k
  int_mv res;
236
237
99.5k
  if (gm->wmtype == IDENTITY) {
238
42.7k
    res.as_int = 0;
239
42.7k
    return res;
240
42.7k
  }
241
242
56.8k
  const int32_t *mat = gm->wmmat;
243
56.8k
  int x, y, tx, ty;
244
245
56.8k
  if (gm->wmtype == TRANSLATION) {
246
    // All global motion vectors are stored with WARPEDMODEL_PREC_BITS (16)
247
    // bits of fractional precision. The offset for a translation is stored in
248
    // entries 0 and 1. For translations, all but the top three (two if
249
    // cm->features.allow_high_precision_mv is false) fractional bits are always
250
    // zero.
251
    //
252
    // After the right shifts, there are 3 fractional bits of precision. If
253
    // allow_hp is false, the bottom bit is always zero (so we don't need a
254
    // call to convert_to_trans_prec here)
255
    //
256
    // Note: There is an AV1 specification bug here:
257
    //
258
    // gm->wmmat[0] is supposed to be the horizontal translation, and so should
259
    // go into res.as_mv.col, and gm->wmmat[1] is supposed to be the vertical
260
    // translation and so should go into res.as_mv.row
261
    //
262
    // However, in the spec, these assignments are accidentally reversed, and so
263
    // we must keep this incorrect logic to match the spec.
264
    //
265
    // See also: https://crbug.com/aomedia/3328
266
13.6k
    res.as_mv.row = gm->wmmat[0] >> GM_TRANS_ONLY_PREC_DIFF;
267
13.6k
    res.as_mv.col = gm->wmmat[1] >> GM_TRANS_ONLY_PREC_DIFF;
268
13.6k
    assert(IMPLIES(1 & (res.as_mv.row | res.as_mv.col), allow_hp));
269
13.6k
    if (is_integer) {
270
4.27k
      integer_mv_precision(&res.as_mv);
271
4.27k
    }
272
13.6k
    return res;
273
13.6k
  }
274
275
43.1k
  x = block_center_x(mi_col, bsize);
276
43.1k
  y = block_center_y(mi_row, bsize);
277
278
43.1k
  if (gm->wmtype == ROTZOOM) {
279
29.6k
    assert(gm->wmmat[5] == gm->wmmat[2]);
280
29.6k
    assert(gm->wmmat[4] == -gm->wmmat[3]);
281
29.6k
  }
282
283
43.1k
  const int xc =
284
43.1k
      (mat[2] - (1 << WARPEDMODEL_PREC_BITS)) * x + mat[3] * y + mat[0];
285
43.1k
  const int yc =
286
43.1k
      mat[4] * x + (mat[5] - (1 << WARPEDMODEL_PREC_BITS)) * y + mat[1];
287
43.1k
  tx = convert_to_trans_prec(allow_hp, xc);
288
43.1k
  ty = convert_to_trans_prec(allow_hp, yc);
289
290
43.1k
  res.as_mv.row = ty;
291
43.1k
  res.as_mv.col = tx;
292
293
43.1k
  if (is_integer) {
294
7.15k
    integer_mv_precision(&res.as_mv);
295
7.15k
  }
296
43.1k
  return res;
297
56.8k
}
Unexecuted instantiation: pred_common.c:gm_get_motion_vector
Unexecuted instantiation: quant_common.c:gm_get_motion_vector
Unexecuted instantiation: reconinter.c:gm_get_motion_vector
Unexecuted instantiation: reconintra.c:gm_get_motion_vector
Unexecuted instantiation: resize.c:gm_get_motion_vector
Unexecuted instantiation: restoration.c:gm_get_motion_vector
Unexecuted instantiation: scale.c:gm_get_motion_vector
Unexecuted instantiation: scan.c:gm_get_motion_vector
Unexecuted instantiation: seg_common.c:gm_get_motion_vector
Unexecuted instantiation: thread_common.c:gm_get_motion_vector
Unexecuted instantiation: tile_common.c:gm_get_motion_vector
Unexecuted instantiation: txb_common.c:gm_get_motion_vector
Unexecuted instantiation: warped_motion.c:gm_get_motion_vector
Unexecuted instantiation: aq_complexity.c:gm_get_motion_vector
Unexecuted instantiation: aq_cyclicrefresh.c:gm_get_motion_vector
Unexecuted instantiation: aq_variance.c:gm_get_motion_vector
Unexecuted instantiation: av1_fwd_txfm2d.c:gm_get_motion_vector
Unexecuted instantiation: cnn.c:gm_get_motion_vector
Unexecuted instantiation: compound_type.c:gm_get_motion_vector
Unexecuted instantiation: encode_strategy.c:gm_get_motion_vector
Unexecuted instantiation: global_motion.c:gm_get_motion_vector
Unexecuted instantiation: gop_structure.c:gm_get_motion_vector
Unexecuted instantiation: interp_search.c:gm_get_motion_vector
Unexecuted instantiation: ml.c:gm_get_motion_vector
Unexecuted instantiation: motion_search_facade.c:gm_get_motion_vector
Unexecuted instantiation: wedge_utils.c:gm_get_motion_vector
Unexecuted instantiation: blend_a64_hmask.c:gm_get_motion_vector
Unexecuted instantiation: blend_a64_vmask.c:gm_get_motion_vector
Unexecuted instantiation: intrapred.c:gm_get_motion_vector
Unexecuted instantiation: loopfilter.c:gm_get_motion_vector
Unexecuted instantiation: fft.c:gm_get_motion_vector
Unexecuted instantiation: corner_match.c:gm_get_motion_vector
Unexecuted instantiation: disflow.c:gm_get_motion_vector
Unexecuted instantiation: av1_inv_txfm2d.c:gm_get_motion_vector
Unexecuted instantiation: av1_txfm.c:gm_get_motion_vector
Unexecuted instantiation: convolve.c:gm_get_motion_vector
Unexecuted instantiation: av1_fwd_txfm1d.c:gm_get_motion_vector
Unexecuted instantiation: av1_inv_txfm1d.c:gm_get_motion_vector
298
299
0
static inline TransformationType get_wmtype(const WarpedMotionParams *gm) {
300
0
  if (gm->wmmat[5] == (1 << WARPEDMODEL_PREC_BITS) && !gm->wmmat[4] &&
301
0
      gm->wmmat[2] == (1 << WARPEDMODEL_PREC_BITS) && !gm->wmmat[3]) {
302
0
    return ((!gm->wmmat[1] && !gm->wmmat[0]) ? IDENTITY : TRANSLATION);
303
0
  }
304
0
  if (gm->wmmat[2] == gm->wmmat[5] && gm->wmmat[3] == -gm->wmmat[4])
305
0
    return ROTZOOM;
306
0
  else
307
0
    return AFFINE;
308
0
}
Unexecuted instantiation: av1_dx_iface.c:get_wmtype
Unexecuted instantiation: decodeframe.c:get_wmtype
Unexecuted instantiation: decodemv.c:get_wmtype
Unexecuted instantiation: decoder.c:get_wmtype
Unexecuted instantiation: decodetxb.c:get_wmtype
Unexecuted instantiation: detokenize.c:get_wmtype
Unexecuted instantiation: obu.c:get_wmtype
Unexecuted instantiation: av1_cx_iface.c:get_wmtype
Unexecuted instantiation: allintra_vis.c:get_wmtype
Unexecuted instantiation: av1_quantize.c:get_wmtype
Unexecuted instantiation: bitstream.c:get_wmtype
Unexecuted instantiation: context_tree.c:get_wmtype
Unexecuted instantiation: encodeframe.c:get_wmtype
Unexecuted instantiation: encodeframe_utils.c:get_wmtype
Unexecuted instantiation: encodemb.c:get_wmtype
Unexecuted instantiation: encodemv.c:get_wmtype
Unexecuted instantiation: encoder.c:get_wmtype
Unexecuted instantiation: encoder_utils.c:get_wmtype
Unexecuted instantiation: encodetxb.c:get_wmtype
Unexecuted instantiation: ethread.c:get_wmtype
Unexecuted instantiation: firstpass.c:get_wmtype
Unexecuted instantiation: global_motion_facade.c:get_wmtype
Unexecuted instantiation: hash.c:get_wmtype
Unexecuted instantiation: hash_motion.c:get_wmtype
Unexecuted instantiation: hybrid_fwd_txfm.c:get_wmtype
Unexecuted instantiation: level.c:get_wmtype
Unexecuted instantiation: lookahead.c:get_wmtype
Unexecuted instantiation: mcomp.c:get_wmtype
Unexecuted instantiation: mv_prec.c:get_wmtype
Unexecuted instantiation: palette.c:get_wmtype
Unexecuted instantiation: partition_search.c:get_wmtype
Unexecuted instantiation: partition_strategy.c:get_wmtype
Unexecuted instantiation: pass2_strategy.c:get_wmtype
Unexecuted instantiation: pickcdef.c:get_wmtype
Unexecuted instantiation: picklpf.c:get_wmtype
Unexecuted instantiation: pickrst.c:get_wmtype
Unexecuted instantiation: ratectrl.c:get_wmtype
Unexecuted instantiation: rd.c:get_wmtype
Unexecuted instantiation: rdopt.c:get_wmtype
Unexecuted instantiation: nonrd_pickmode.c:get_wmtype
Unexecuted instantiation: nonrd_opt.c:get_wmtype
Unexecuted instantiation: reconinter_enc.c:get_wmtype
Unexecuted instantiation: segmentation.c:get_wmtype
Unexecuted instantiation: speed_features.c:get_wmtype
Unexecuted instantiation: superres_scale.c:get_wmtype
Unexecuted instantiation: svc_layercontext.c:get_wmtype
Unexecuted instantiation: temporal_filter.c:get_wmtype
Unexecuted instantiation: tokenize.c:get_wmtype
Unexecuted instantiation: tpl_model.c:get_wmtype
Unexecuted instantiation: tx_search.c:get_wmtype
Unexecuted instantiation: txb_rdopt.c:get_wmtype
Unexecuted instantiation: intra_mode_search.c:get_wmtype
Unexecuted instantiation: var_based_part.c:get_wmtype
Unexecuted instantiation: av1_noise_estimate.c:get_wmtype
Unexecuted instantiation: dwt.c:get_wmtype
Unexecuted instantiation: aom_dsp_rtcd.c:get_wmtype
Unexecuted instantiation: av1_rtcd.c:get_wmtype
Unexecuted instantiation: aom_convolve.c:get_wmtype
Unexecuted instantiation: blend_a64_mask.c:get_wmtype
Unexecuted instantiation: avg.c:get_wmtype
Unexecuted instantiation: blk_sse_sum.c:get_wmtype
Unexecuted instantiation: fwd_txfm.c:get_wmtype
Unexecuted instantiation: psnr.c:get_wmtype
Unexecuted instantiation: quantize.c:get_wmtype
Unexecuted instantiation: sad.c:get_wmtype
Unexecuted instantiation: sad_av1.c:get_wmtype
Unexecuted instantiation: subtract.c:get_wmtype
Unexecuted instantiation: sse.c:get_wmtype
Unexecuted instantiation: sum_squares.c:get_wmtype
Unexecuted instantiation: variance.c:get_wmtype
Unexecuted instantiation: pyramid.c:get_wmtype
Unexecuted instantiation: noise_util.c:get_wmtype
Unexecuted instantiation: alloccommon.c:get_wmtype
Unexecuted instantiation: av1_loopfilter.c:get_wmtype
Unexecuted instantiation: blockd.c:get_wmtype
Unexecuted instantiation: cdef.c:get_wmtype
Unexecuted instantiation: cdef_block.c:get_wmtype
Unexecuted instantiation: cfl.c:get_wmtype
Unexecuted instantiation: debugmodes.c:get_wmtype
Unexecuted instantiation: entropy.c:get_wmtype
Unexecuted instantiation: entropymode.c:get_wmtype
Unexecuted instantiation: entropymv.c:get_wmtype
Unexecuted instantiation: idct.c:get_wmtype
Unexecuted instantiation: mvref_common.c:get_wmtype
Unexecuted instantiation: pred_common.c:get_wmtype
Unexecuted instantiation: quant_common.c:get_wmtype
Unexecuted instantiation: reconinter.c:get_wmtype
Unexecuted instantiation: reconintra.c:get_wmtype
Unexecuted instantiation: resize.c:get_wmtype
Unexecuted instantiation: restoration.c:get_wmtype
Unexecuted instantiation: scale.c:get_wmtype
Unexecuted instantiation: scan.c:get_wmtype
Unexecuted instantiation: seg_common.c:get_wmtype
Unexecuted instantiation: thread_common.c:get_wmtype
Unexecuted instantiation: tile_common.c:get_wmtype
Unexecuted instantiation: txb_common.c:get_wmtype
Unexecuted instantiation: warped_motion.c:get_wmtype
Unexecuted instantiation: aq_complexity.c:get_wmtype
Unexecuted instantiation: aq_cyclicrefresh.c:get_wmtype
Unexecuted instantiation: aq_variance.c:get_wmtype
Unexecuted instantiation: av1_fwd_txfm2d.c:get_wmtype
Unexecuted instantiation: cnn.c:get_wmtype
Unexecuted instantiation: compound_type.c:get_wmtype
Unexecuted instantiation: encode_strategy.c:get_wmtype
Unexecuted instantiation: global_motion.c:get_wmtype
Unexecuted instantiation: gop_structure.c:get_wmtype
Unexecuted instantiation: interp_search.c:get_wmtype
Unexecuted instantiation: ml.c:get_wmtype
Unexecuted instantiation: motion_search_facade.c:get_wmtype
Unexecuted instantiation: wedge_utils.c:get_wmtype
Unexecuted instantiation: blend_a64_hmask.c:get_wmtype
Unexecuted instantiation: blend_a64_vmask.c:get_wmtype
Unexecuted instantiation: intrapred.c:get_wmtype
Unexecuted instantiation: loopfilter.c:get_wmtype
Unexecuted instantiation: fft.c:get_wmtype
Unexecuted instantiation: corner_match.c:get_wmtype
Unexecuted instantiation: disflow.c:get_wmtype
Unexecuted instantiation: av1_inv_txfm2d.c:get_wmtype
Unexecuted instantiation: av1_txfm.c:get_wmtype
Unexecuted instantiation: convolve.c:get_wmtype
Unexecuted instantiation: av1_fwd_txfm1d.c:get_wmtype
Unexecuted instantiation: av1_inv_txfm1d.c:get_wmtype
309
310
typedef struct candidate_mv {
311
  int_mv this_mv;
312
  int_mv comp_mv;
313
} CANDIDATE_MV;
314
315
0
static inline int is_zero_mv(const MV *mv) {
316
0
  return *((const uint32_t *)mv) == 0;
317
0
}
Unexecuted instantiation: av1_dx_iface.c:is_zero_mv
Unexecuted instantiation: decodeframe.c:is_zero_mv
Unexecuted instantiation: decodemv.c:is_zero_mv
Unexecuted instantiation: decoder.c:is_zero_mv
Unexecuted instantiation: decodetxb.c:is_zero_mv
Unexecuted instantiation: detokenize.c:is_zero_mv
Unexecuted instantiation: obu.c:is_zero_mv
Unexecuted instantiation: av1_cx_iface.c:is_zero_mv
Unexecuted instantiation: allintra_vis.c:is_zero_mv
Unexecuted instantiation: av1_quantize.c:is_zero_mv
Unexecuted instantiation: bitstream.c:is_zero_mv
Unexecuted instantiation: context_tree.c:is_zero_mv
Unexecuted instantiation: encodeframe.c:is_zero_mv
Unexecuted instantiation: encodeframe_utils.c:is_zero_mv
Unexecuted instantiation: encodemb.c:is_zero_mv
Unexecuted instantiation: encodemv.c:is_zero_mv
Unexecuted instantiation: encoder.c:is_zero_mv
Unexecuted instantiation: encoder_utils.c:is_zero_mv
Unexecuted instantiation: encodetxb.c:is_zero_mv
Unexecuted instantiation: ethread.c:is_zero_mv
Unexecuted instantiation: firstpass.c:is_zero_mv
Unexecuted instantiation: global_motion_facade.c:is_zero_mv
Unexecuted instantiation: hash.c:is_zero_mv
Unexecuted instantiation: hash_motion.c:is_zero_mv
Unexecuted instantiation: hybrid_fwd_txfm.c:is_zero_mv
Unexecuted instantiation: level.c:is_zero_mv
Unexecuted instantiation: lookahead.c:is_zero_mv
Unexecuted instantiation: mcomp.c:is_zero_mv
Unexecuted instantiation: mv_prec.c:is_zero_mv
Unexecuted instantiation: palette.c:is_zero_mv
Unexecuted instantiation: partition_search.c:is_zero_mv
Unexecuted instantiation: partition_strategy.c:is_zero_mv
Unexecuted instantiation: pass2_strategy.c:is_zero_mv
Unexecuted instantiation: pickcdef.c:is_zero_mv
Unexecuted instantiation: picklpf.c:is_zero_mv
Unexecuted instantiation: pickrst.c:is_zero_mv
Unexecuted instantiation: ratectrl.c:is_zero_mv
Unexecuted instantiation: rd.c:is_zero_mv
Unexecuted instantiation: rdopt.c:is_zero_mv
Unexecuted instantiation: nonrd_pickmode.c:is_zero_mv
Unexecuted instantiation: nonrd_opt.c:is_zero_mv
Unexecuted instantiation: reconinter_enc.c:is_zero_mv
Unexecuted instantiation: segmentation.c:is_zero_mv
Unexecuted instantiation: speed_features.c:is_zero_mv
Unexecuted instantiation: superres_scale.c:is_zero_mv
Unexecuted instantiation: svc_layercontext.c:is_zero_mv
Unexecuted instantiation: temporal_filter.c:is_zero_mv
Unexecuted instantiation: tokenize.c:is_zero_mv
Unexecuted instantiation: tpl_model.c:is_zero_mv
Unexecuted instantiation: tx_search.c:is_zero_mv
Unexecuted instantiation: txb_rdopt.c:is_zero_mv
Unexecuted instantiation: intra_mode_search.c:is_zero_mv
Unexecuted instantiation: var_based_part.c:is_zero_mv
Unexecuted instantiation: av1_noise_estimate.c:is_zero_mv
Unexecuted instantiation: dwt.c:is_zero_mv
Unexecuted instantiation: aom_dsp_rtcd.c:is_zero_mv
Unexecuted instantiation: av1_rtcd.c:is_zero_mv
Unexecuted instantiation: aom_convolve.c:is_zero_mv
Unexecuted instantiation: blend_a64_mask.c:is_zero_mv
Unexecuted instantiation: avg.c:is_zero_mv
Unexecuted instantiation: blk_sse_sum.c:is_zero_mv
Unexecuted instantiation: fwd_txfm.c:is_zero_mv
Unexecuted instantiation: psnr.c:is_zero_mv
Unexecuted instantiation: quantize.c:is_zero_mv
Unexecuted instantiation: sad.c:is_zero_mv
Unexecuted instantiation: sad_av1.c:is_zero_mv
Unexecuted instantiation: subtract.c:is_zero_mv
Unexecuted instantiation: sse.c:is_zero_mv
Unexecuted instantiation: sum_squares.c:is_zero_mv
Unexecuted instantiation: variance.c:is_zero_mv
Unexecuted instantiation: pyramid.c:is_zero_mv
Unexecuted instantiation: noise_util.c:is_zero_mv
Unexecuted instantiation: alloccommon.c:is_zero_mv
Unexecuted instantiation: av1_loopfilter.c:is_zero_mv
Unexecuted instantiation: blockd.c:is_zero_mv
Unexecuted instantiation: cdef.c:is_zero_mv
Unexecuted instantiation: cdef_block.c:is_zero_mv
Unexecuted instantiation: cfl.c:is_zero_mv
Unexecuted instantiation: debugmodes.c:is_zero_mv
Unexecuted instantiation: entropy.c:is_zero_mv
Unexecuted instantiation: entropymode.c:is_zero_mv
Unexecuted instantiation: entropymv.c:is_zero_mv
Unexecuted instantiation: idct.c:is_zero_mv
Unexecuted instantiation: mvref_common.c:is_zero_mv
Unexecuted instantiation: pred_common.c:is_zero_mv
Unexecuted instantiation: quant_common.c:is_zero_mv
Unexecuted instantiation: reconinter.c:is_zero_mv
Unexecuted instantiation: reconintra.c:is_zero_mv
Unexecuted instantiation: resize.c:is_zero_mv
Unexecuted instantiation: restoration.c:is_zero_mv
Unexecuted instantiation: scale.c:is_zero_mv
Unexecuted instantiation: scan.c:is_zero_mv
Unexecuted instantiation: seg_common.c:is_zero_mv
Unexecuted instantiation: thread_common.c:is_zero_mv
Unexecuted instantiation: tile_common.c:is_zero_mv
Unexecuted instantiation: txb_common.c:is_zero_mv
Unexecuted instantiation: warped_motion.c:is_zero_mv
Unexecuted instantiation: aq_complexity.c:is_zero_mv
Unexecuted instantiation: aq_cyclicrefresh.c:is_zero_mv
Unexecuted instantiation: aq_variance.c:is_zero_mv
Unexecuted instantiation: av1_fwd_txfm2d.c:is_zero_mv
Unexecuted instantiation: cnn.c:is_zero_mv
Unexecuted instantiation: compound_type.c:is_zero_mv
Unexecuted instantiation: encode_strategy.c:is_zero_mv
Unexecuted instantiation: global_motion.c:is_zero_mv
Unexecuted instantiation: gop_structure.c:is_zero_mv
Unexecuted instantiation: interp_search.c:is_zero_mv
Unexecuted instantiation: ml.c:is_zero_mv
Unexecuted instantiation: motion_search_facade.c:is_zero_mv
Unexecuted instantiation: wedge_utils.c:is_zero_mv
Unexecuted instantiation: blend_a64_hmask.c:is_zero_mv
Unexecuted instantiation: blend_a64_vmask.c:is_zero_mv
Unexecuted instantiation: intrapred.c:is_zero_mv
Unexecuted instantiation: loopfilter.c:is_zero_mv
Unexecuted instantiation: fft.c:is_zero_mv
Unexecuted instantiation: corner_match.c:is_zero_mv
Unexecuted instantiation: disflow.c:is_zero_mv
Unexecuted instantiation: av1_inv_txfm2d.c:is_zero_mv
Unexecuted instantiation: av1_txfm.c:is_zero_mv
Unexecuted instantiation: convolve.c:is_zero_mv
Unexecuted instantiation: av1_fwd_txfm1d.c:is_zero_mv
Unexecuted instantiation: av1_inv_txfm1d.c:is_zero_mv
318
319
0
static inline int is_equal_mv(const MV *a, const MV *b) {
320
0
  return *((const uint32_t *)a) == *((const uint32_t *)b);
321
0
}
Unexecuted instantiation: av1_dx_iface.c:is_equal_mv
Unexecuted instantiation: decodeframe.c:is_equal_mv
Unexecuted instantiation: decodemv.c:is_equal_mv
Unexecuted instantiation: decoder.c:is_equal_mv
Unexecuted instantiation: decodetxb.c:is_equal_mv
Unexecuted instantiation: detokenize.c:is_equal_mv
Unexecuted instantiation: obu.c:is_equal_mv
Unexecuted instantiation: av1_cx_iface.c:is_equal_mv
Unexecuted instantiation: allintra_vis.c:is_equal_mv
Unexecuted instantiation: av1_quantize.c:is_equal_mv
Unexecuted instantiation: bitstream.c:is_equal_mv
Unexecuted instantiation: context_tree.c:is_equal_mv
Unexecuted instantiation: encodeframe.c:is_equal_mv
Unexecuted instantiation: encodeframe_utils.c:is_equal_mv
Unexecuted instantiation: encodemb.c:is_equal_mv
Unexecuted instantiation: encodemv.c:is_equal_mv
Unexecuted instantiation: encoder.c:is_equal_mv
Unexecuted instantiation: encoder_utils.c:is_equal_mv
Unexecuted instantiation: encodetxb.c:is_equal_mv
Unexecuted instantiation: ethread.c:is_equal_mv
Unexecuted instantiation: firstpass.c:is_equal_mv
Unexecuted instantiation: global_motion_facade.c:is_equal_mv
Unexecuted instantiation: hash.c:is_equal_mv
Unexecuted instantiation: hash_motion.c:is_equal_mv
Unexecuted instantiation: hybrid_fwd_txfm.c:is_equal_mv
Unexecuted instantiation: level.c:is_equal_mv
Unexecuted instantiation: lookahead.c:is_equal_mv
Unexecuted instantiation: mcomp.c:is_equal_mv
Unexecuted instantiation: mv_prec.c:is_equal_mv
Unexecuted instantiation: palette.c:is_equal_mv
Unexecuted instantiation: partition_search.c:is_equal_mv
Unexecuted instantiation: partition_strategy.c:is_equal_mv
Unexecuted instantiation: pass2_strategy.c:is_equal_mv
Unexecuted instantiation: pickcdef.c:is_equal_mv
Unexecuted instantiation: picklpf.c:is_equal_mv
Unexecuted instantiation: pickrst.c:is_equal_mv
Unexecuted instantiation: ratectrl.c:is_equal_mv
Unexecuted instantiation: rd.c:is_equal_mv
Unexecuted instantiation: rdopt.c:is_equal_mv
Unexecuted instantiation: nonrd_pickmode.c:is_equal_mv
Unexecuted instantiation: nonrd_opt.c:is_equal_mv
Unexecuted instantiation: reconinter_enc.c:is_equal_mv
Unexecuted instantiation: segmentation.c:is_equal_mv
Unexecuted instantiation: speed_features.c:is_equal_mv
Unexecuted instantiation: superres_scale.c:is_equal_mv
Unexecuted instantiation: svc_layercontext.c:is_equal_mv
Unexecuted instantiation: temporal_filter.c:is_equal_mv
Unexecuted instantiation: tokenize.c:is_equal_mv
Unexecuted instantiation: tpl_model.c:is_equal_mv
Unexecuted instantiation: tx_search.c:is_equal_mv
Unexecuted instantiation: txb_rdopt.c:is_equal_mv
Unexecuted instantiation: intra_mode_search.c:is_equal_mv
Unexecuted instantiation: var_based_part.c:is_equal_mv
Unexecuted instantiation: av1_noise_estimate.c:is_equal_mv
Unexecuted instantiation: dwt.c:is_equal_mv
Unexecuted instantiation: aom_dsp_rtcd.c:is_equal_mv
Unexecuted instantiation: av1_rtcd.c:is_equal_mv
Unexecuted instantiation: aom_convolve.c:is_equal_mv
Unexecuted instantiation: blend_a64_mask.c:is_equal_mv
Unexecuted instantiation: avg.c:is_equal_mv
Unexecuted instantiation: blk_sse_sum.c:is_equal_mv
Unexecuted instantiation: fwd_txfm.c:is_equal_mv
Unexecuted instantiation: psnr.c:is_equal_mv
Unexecuted instantiation: quantize.c:is_equal_mv
Unexecuted instantiation: sad.c:is_equal_mv
Unexecuted instantiation: sad_av1.c:is_equal_mv
Unexecuted instantiation: subtract.c:is_equal_mv
Unexecuted instantiation: sse.c:is_equal_mv
Unexecuted instantiation: sum_squares.c:is_equal_mv
Unexecuted instantiation: variance.c:is_equal_mv
Unexecuted instantiation: pyramid.c:is_equal_mv
Unexecuted instantiation: noise_util.c:is_equal_mv
Unexecuted instantiation: alloccommon.c:is_equal_mv
Unexecuted instantiation: av1_loopfilter.c:is_equal_mv
Unexecuted instantiation: blockd.c:is_equal_mv
Unexecuted instantiation: cdef.c:is_equal_mv
Unexecuted instantiation: cdef_block.c:is_equal_mv
Unexecuted instantiation: cfl.c:is_equal_mv
Unexecuted instantiation: debugmodes.c:is_equal_mv
Unexecuted instantiation: entropy.c:is_equal_mv
Unexecuted instantiation: entropymode.c:is_equal_mv
Unexecuted instantiation: entropymv.c:is_equal_mv
Unexecuted instantiation: idct.c:is_equal_mv
Unexecuted instantiation: mvref_common.c:is_equal_mv
Unexecuted instantiation: pred_common.c:is_equal_mv
Unexecuted instantiation: quant_common.c:is_equal_mv
Unexecuted instantiation: reconinter.c:is_equal_mv
Unexecuted instantiation: reconintra.c:is_equal_mv
Unexecuted instantiation: resize.c:is_equal_mv
Unexecuted instantiation: restoration.c:is_equal_mv
Unexecuted instantiation: scale.c:is_equal_mv
Unexecuted instantiation: scan.c:is_equal_mv
Unexecuted instantiation: seg_common.c:is_equal_mv
Unexecuted instantiation: thread_common.c:is_equal_mv
Unexecuted instantiation: tile_common.c:is_equal_mv
Unexecuted instantiation: txb_common.c:is_equal_mv
Unexecuted instantiation: warped_motion.c:is_equal_mv
Unexecuted instantiation: aq_complexity.c:is_equal_mv
Unexecuted instantiation: aq_cyclicrefresh.c:is_equal_mv
Unexecuted instantiation: aq_variance.c:is_equal_mv
Unexecuted instantiation: av1_fwd_txfm2d.c:is_equal_mv
Unexecuted instantiation: cnn.c:is_equal_mv
Unexecuted instantiation: compound_type.c:is_equal_mv
Unexecuted instantiation: encode_strategy.c:is_equal_mv
Unexecuted instantiation: global_motion.c:is_equal_mv
Unexecuted instantiation: gop_structure.c:is_equal_mv
Unexecuted instantiation: interp_search.c:is_equal_mv
Unexecuted instantiation: ml.c:is_equal_mv
Unexecuted instantiation: motion_search_facade.c:is_equal_mv
Unexecuted instantiation: wedge_utils.c:is_equal_mv
Unexecuted instantiation: blend_a64_hmask.c:is_equal_mv
Unexecuted instantiation: blend_a64_vmask.c:is_equal_mv
Unexecuted instantiation: intrapred.c:is_equal_mv
Unexecuted instantiation: loopfilter.c:is_equal_mv
Unexecuted instantiation: fft.c:is_equal_mv
Unexecuted instantiation: corner_match.c:is_equal_mv
Unexecuted instantiation: disflow.c:is_equal_mv
Unexecuted instantiation: av1_inv_txfm2d.c:is_equal_mv
Unexecuted instantiation: av1_txfm.c:is_equal_mv
Unexecuted instantiation: convolve.c:is_equal_mv
Unexecuted instantiation: av1_fwd_txfm1d.c:is_equal_mv
Unexecuted instantiation: av1_inv_txfm1d.c:is_equal_mv
322
323
1.14M
static inline void clamp_mv(MV *mv, const SubpelMvLimits *mv_limits) {
324
1.14M
  mv->col = clamp(mv->col, mv_limits->col_min, mv_limits->col_max);
325
1.14M
  mv->row = clamp(mv->row, mv_limits->row_min, mv_limits->row_max);
326
1.14M
}
Unexecuted instantiation: av1_dx_iface.c:clamp_mv
decodeframe.c:clamp_mv
Line
Count
Source
323
513k
static inline void clamp_mv(MV *mv, const SubpelMvLimits *mv_limits) {
324
513k
  mv->col = clamp(mv->col, mv_limits->col_min, mv_limits->col_max);
325
513k
  mv->row = clamp(mv->row, mv_limits->row_min, mv_limits->row_max);
326
513k
}
Unexecuted instantiation: decodemv.c:clamp_mv
Unexecuted instantiation: decoder.c:clamp_mv
Unexecuted instantiation: decodetxb.c:clamp_mv
Unexecuted instantiation: detokenize.c:clamp_mv
Unexecuted instantiation: obu.c:clamp_mv
Unexecuted instantiation: av1_cx_iface.c:clamp_mv
Unexecuted instantiation: allintra_vis.c:clamp_mv
Unexecuted instantiation: av1_quantize.c:clamp_mv
Unexecuted instantiation: bitstream.c:clamp_mv
Unexecuted instantiation: context_tree.c:clamp_mv
Unexecuted instantiation: encodeframe.c:clamp_mv
Unexecuted instantiation: encodeframe_utils.c:clamp_mv
Unexecuted instantiation: encodemb.c:clamp_mv
Unexecuted instantiation: encodemv.c:clamp_mv
Unexecuted instantiation: encoder.c:clamp_mv
Unexecuted instantiation: encoder_utils.c:clamp_mv
Unexecuted instantiation: encodetxb.c:clamp_mv
Unexecuted instantiation: ethread.c:clamp_mv
Unexecuted instantiation: firstpass.c:clamp_mv
Unexecuted instantiation: global_motion_facade.c:clamp_mv
Unexecuted instantiation: hash.c:clamp_mv
Unexecuted instantiation: hash_motion.c:clamp_mv
Unexecuted instantiation: hybrid_fwd_txfm.c:clamp_mv
Unexecuted instantiation: level.c:clamp_mv
Unexecuted instantiation: lookahead.c:clamp_mv
Unexecuted instantiation: mcomp.c:clamp_mv
Unexecuted instantiation: mv_prec.c:clamp_mv
Unexecuted instantiation: palette.c:clamp_mv
Unexecuted instantiation: partition_search.c:clamp_mv
Unexecuted instantiation: partition_strategy.c:clamp_mv
Unexecuted instantiation: pass2_strategy.c:clamp_mv
Unexecuted instantiation: pickcdef.c:clamp_mv
Unexecuted instantiation: picklpf.c:clamp_mv
Unexecuted instantiation: pickrst.c:clamp_mv
Unexecuted instantiation: ratectrl.c:clamp_mv
Unexecuted instantiation: rd.c:clamp_mv
Unexecuted instantiation: rdopt.c:clamp_mv
Unexecuted instantiation: nonrd_pickmode.c:clamp_mv
Unexecuted instantiation: nonrd_opt.c:clamp_mv
Unexecuted instantiation: reconinter_enc.c:clamp_mv
Unexecuted instantiation: segmentation.c:clamp_mv
Unexecuted instantiation: speed_features.c:clamp_mv
Unexecuted instantiation: superres_scale.c:clamp_mv
Unexecuted instantiation: svc_layercontext.c:clamp_mv
Unexecuted instantiation: temporal_filter.c:clamp_mv
Unexecuted instantiation: tokenize.c:clamp_mv
Unexecuted instantiation: tpl_model.c:clamp_mv
Unexecuted instantiation: tx_search.c:clamp_mv
Unexecuted instantiation: txb_rdopt.c:clamp_mv
Unexecuted instantiation: intra_mode_search.c:clamp_mv
Unexecuted instantiation: var_based_part.c:clamp_mv
Unexecuted instantiation: av1_noise_estimate.c:clamp_mv
Unexecuted instantiation: dwt.c:clamp_mv
Unexecuted instantiation: aom_dsp_rtcd.c:clamp_mv
Unexecuted instantiation: av1_rtcd.c:clamp_mv
Unexecuted instantiation: aom_convolve.c:clamp_mv
Unexecuted instantiation: blend_a64_mask.c:clamp_mv
Unexecuted instantiation: avg.c:clamp_mv
Unexecuted instantiation: blk_sse_sum.c:clamp_mv
Unexecuted instantiation: fwd_txfm.c:clamp_mv
Unexecuted instantiation: psnr.c:clamp_mv
Unexecuted instantiation: quantize.c:clamp_mv
Unexecuted instantiation: sad.c:clamp_mv
Unexecuted instantiation: sad_av1.c:clamp_mv
Unexecuted instantiation: subtract.c:clamp_mv
Unexecuted instantiation: sse.c:clamp_mv
Unexecuted instantiation: sum_squares.c:clamp_mv
Unexecuted instantiation: variance.c:clamp_mv
Unexecuted instantiation: pyramid.c:clamp_mv
Unexecuted instantiation: noise_util.c:clamp_mv
Unexecuted instantiation: alloccommon.c:clamp_mv
Unexecuted instantiation: av1_loopfilter.c:clamp_mv
Unexecuted instantiation: blockd.c:clamp_mv
Unexecuted instantiation: cdef.c:clamp_mv
Unexecuted instantiation: cdef_block.c:clamp_mv
Unexecuted instantiation: cfl.c:clamp_mv
Unexecuted instantiation: debugmodes.c:clamp_mv
Unexecuted instantiation: entropy.c:clamp_mv
Unexecuted instantiation: entropymode.c:clamp_mv
Unexecuted instantiation: entropymv.c:clamp_mv
Unexecuted instantiation: idct.c:clamp_mv
mvref_common.c:clamp_mv
Line
Count
Source
323
634k
static inline void clamp_mv(MV *mv, const SubpelMvLimits *mv_limits) {
324
634k
  mv->col = clamp(mv->col, mv_limits->col_min, mv_limits->col_max);
325
634k
  mv->row = clamp(mv->row, mv_limits->row_min, mv_limits->row_max);
326
634k
}
Unexecuted instantiation: pred_common.c:clamp_mv
Unexecuted instantiation: quant_common.c:clamp_mv
Unexecuted instantiation: reconinter.c:clamp_mv
Unexecuted instantiation: reconintra.c:clamp_mv
Unexecuted instantiation: resize.c:clamp_mv
Unexecuted instantiation: restoration.c:clamp_mv
Unexecuted instantiation: scale.c:clamp_mv
Unexecuted instantiation: scan.c:clamp_mv
Unexecuted instantiation: seg_common.c:clamp_mv
Unexecuted instantiation: thread_common.c:clamp_mv
Unexecuted instantiation: tile_common.c:clamp_mv
Unexecuted instantiation: txb_common.c:clamp_mv
Unexecuted instantiation: warped_motion.c:clamp_mv
Unexecuted instantiation: aq_complexity.c:clamp_mv
Unexecuted instantiation: aq_cyclicrefresh.c:clamp_mv
Unexecuted instantiation: aq_variance.c:clamp_mv
Unexecuted instantiation: av1_fwd_txfm2d.c:clamp_mv
Unexecuted instantiation: cnn.c:clamp_mv
Unexecuted instantiation: compound_type.c:clamp_mv
Unexecuted instantiation: encode_strategy.c:clamp_mv
Unexecuted instantiation: global_motion.c:clamp_mv
Unexecuted instantiation: gop_structure.c:clamp_mv
Unexecuted instantiation: interp_search.c:clamp_mv
Unexecuted instantiation: ml.c:clamp_mv
Unexecuted instantiation: motion_search_facade.c:clamp_mv
Unexecuted instantiation: wedge_utils.c:clamp_mv
Unexecuted instantiation: blend_a64_hmask.c:clamp_mv
Unexecuted instantiation: blend_a64_vmask.c:clamp_mv
Unexecuted instantiation: intrapred.c:clamp_mv
Unexecuted instantiation: loopfilter.c:clamp_mv
Unexecuted instantiation: fft.c:clamp_mv
Unexecuted instantiation: corner_match.c:clamp_mv
Unexecuted instantiation: disflow.c:clamp_mv
Unexecuted instantiation: av1_inv_txfm2d.c:clamp_mv
Unexecuted instantiation: av1_txfm.c:clamp_mv
Unexecuted instantiation: convolve.c:clamp_mv
Unexecuted instantiation: av1_fwd_txfm1d.c:clamp_mv
Unexecuted instantiation: av1_inv_txfm1d.c:clamp_mv
327
328
0
static inline void clamp_fullmv(FULLPEL_MV *mv, const FullMvLimits *mv_limits) {
329
0
  mv->col = clamp(mv->col, mv_limits->col_min, mv_limits->col_max);
330
0
  mv->row = clamp(mv->row, mv_limits->row_min, mv_limits->row_max);
331
0
}
Unexecuted instantiation: av1_dx_iface.c:clamp_fullmv
Unexecuted instantiation: decodeframe.c:clamp_fullmv
Unexecuted instantiation: decodemv.c:clamp_fullmv
Unexecuted instantiation: decoder.c:clamp_fullmv
Unexecuted instantiation: decodetxb.c:clamp_fullmv
Unexecuted instantiation: detokenize.c:clamp_fullmv
Unexecuted instantiation: obu.c:clamp_fullmv
Unexecuted instantiation: av1_cx_iface.c:clamp_fullmv
Unexecuted instantiation: allintra_vis.c:clamp_fullmv
Unexecuted instantiation: av1_quantize.c:clamp_fullmv
Unexecuted instantiation: bitstream.c:clamp_fullmv
Unexecuted instantiation: context_tree.c:clamp_fullmv
Unexecuted instantiation: encodeframe.c:clamp_fullmv
Unexecuted instantiation: encodeframe_utils.c:clamp_fullmv
Unexecuted instantiation: encodemb.c:clamp_fullmv
Unexecuted instantiation: encodemv.c:clamp_fullmv
Unexecuted instantiation: encoder.c:clamp_fullmv
Unexecuted instantiation: encoder_utils.c:clamp_fullmv
Unexecuted instantiation: encodetxb.c:clamp_fullmv
Unexecuted instantiation: ethread.c:clamp_fullmv
Unexecuted instantiation: firstpass.c:clamp_fullmv
Unexecuted instantiation: global_motion_facade.c:clamp_fullmv
Unexecuted instantiation: hash.c:clamp_fullmv
Unexecuted instantiation: hash_motion.c:clamp_fullmv
Unexecuted instantiation: hybrid_fwd_txfm.c:clamp_fullmv
Unexecuted instantiation: level.c:clamp_fullmv
Unexecuted instantiation: lookahead.c:clamp_fullmv
Unexecuted instantiation: mcomp.c:clamp_fullmv
Unexecuted instantiation: mv_prec.c:clamp_fullmv
Unexecuted instantiation: palette.c:clamp_fullmv
Unexecuted instantiation: partition_search.c:clamp_fullmv
Unexecuted instantiation: partition_strategy.c:clamp_fullmv
Unexecuted instantiation: pass2_strategy.c:clamp_fullmv
Unexecuted instantiation: pickcdef.c:clamp_fullmv
Unexecuted instantiation: picklpf.c:clamp_fullmv
Unexecuted instantiation: pickrst.c:clamp_fullmv
Unexecuted instantiation: ratectrl.c:clamp_fullmv
Unexecuted instantiation: rd.c:clamp_fullmv
Unexecuted instantiation: rdopt.c:clamp_fullmv
Unexecuted instantiation: nonrd_pickmode.c:clamp_fullmv
Unexecuted instantiation: nonrd_opt.c:clamp_fullmv
Unexecuted instantiation: reconinter_enc.c:clamp_fullmv
Unexecuted instantiation: segmentation.c:clamp_fullmv
Unexecuted instantiation: speed_features.c:clamp_fullmv
Unexecuted instantiation: superres_scale.c:clamp_fullmv
Unexecuted instantiation: svc_layercontext.c:clamp_fullmv
Unexecuted instantiation: temporal_filter.c:clamp_fullmv
Unexecuted instantiation: tokenize.c:clamp_fullmv
Unexecuted instantiation: tpl_model.c:clamp_fullmv
Unexecuted instantiation: tx_search.c:clamp_fullmv
Unexecuted instantiation: txb_rdopt.c:clamp_fullmv
Unexecuted instantiation: intra_mode_search.c:clamp_fullmv
Unexecuted instantiation: var_based_part.c:clamp_fullmv
Unexecuted instantiation: av1_noise_estimate.c:clamp_fullmv
Unexecuted instantiation: dwt.c:clamp_fullmv
Unexecuted instantiation: aom_dsp_rtcd.c:clamp_fullmv
Unexecuted instantiation: av1_rtcd.c:clamp_fullmv
Unexecuted instantiation: aom_convolve.c:clamp_fullmv
Unexecuted instantiation: blend_a64_mask.c:clamp_fullmv
Unexecuted instantiation: avg.c:clamp_fullmv
Unexecuted instantiation: blk_sse_sum.c:clamp_fullmv
Unexecuted instantiation: fwd_txfm.c:clamp_fullmv
Unexecuted instantiation: psnr.c:clamp_fullmv
Unexecuted instantiation: quantize.c:clamp_fullmv
Unexecuted instantiation: sad.c:clamp_fullmv
Unexecuted instantiation: sad_av1.c:clamp_fullmv
Unexecuted instantiation: subtract.c:clamp_fullmv
Unexecuted instantiation: sse.c:clamp_fullmv
Unexecuted instantiation: sum_squares.c:clamp_fullmv
Unexecuted instantiation: variance.c:clamp_fullmv
Unexecuted instantiation: pyramid.c:clamp_fullmv
Unexecuted instantiation: noise_util.c:clamp_fullmv
Unexecuted instantiation: alloccommon.c:clamp_fullmv
Unexecuted instantiation: av1_loopfilter.c:clamp_fullmv
Unexecuted instantiation: blockd.c:clamp_fullmv
Unexecuted instantiation: cdef.c:clamp_fullmv
Unexecuted instantiation: cdef_block.c:clamp_fullmv
Unexecuted instantiation: cfl.c:clamp_fullmv
Unexecuted instantiation: debugmodes.c:clamp_fullmv
Unexecuted instantiation: entropy.c:clamp_fullmv
Unexecuted instantiation: entropymode.c:clamp_fullmv
Unexecuted instantiation: entropymv.c:clamp_fullmv
Unexecuted instantiation: idct.c:clamp_fullmv
Unexecuted instantiation: mvref_common.c:clamp_fullmv
Unexecuted instantiation: pred_common.c:clamp_fullmv
Unexecuted instantiation: quant_common.c:clamp_fullmv
Unexecuted instantiation: reconinter.c:clamp_fullmv
Unexecuted instantiation: reconintra.c:clamp_fullmv
Unexecuted instantiation: resize.c:clamp_fullmv
Unexecuted instantiation: restoration.c:clamp_fullmv
Unexecuted instantiation: scale.c:clamp_fullmv
Unexecuted instantiation: scan.c:clamp_fullmv
Unexecuted instantiation: seg_common.c:clamp_fullmv
Unexecuted instantiation: thread_common.c:clamp_fullmv
Unexecuted instantiation: tile_common.c:clamp_fullmv
Unexecuted instantiation: txb_common.c:clamp_fullmv
Unexecuted instantiation: warped_motion.c:clamp_fullmv
Unexecuted instantiation: aq_complexity.c:clamp_fullmv
Unexecuted instantiation: aq_cyclicrefresh.c:clamp_fullmv
Unexecuted instantiation: aq_variance.c:clamp_fullmv
Unexecuted instantiation: av1_fwd_txfm2d.c:clamp_fullmv
Unexecuted instantiation: cnn.c:clamp_fullmv
Unexecuted instantiation: compound_type.c:clamp_fullmv
Unexecuted instantiation: encode_strategy.c:clamp_fullmv
Unexecuted instantiation: global_motion.c:clamp_fullmv
Unexecuted instantiation: gop_structure.c:clamp_fullmv
Unexecuted instantiation: interp_search.c:clamp_fullmv
Unexecuted instantiation: ml.c:clamp_fullmv
Unexecuted instantiation: motion_search_facade.c:clamp_fullmv
Unexecuted instantiation: wedge_utils.c:clamp_fullmv
Unexecuted instantiation: blend_a64_hmask.c:clamp_fullmv
Unexecuted instantiation: blend_a64_vmask.c:clamp_fullmv
Unexecuted instantiation: intrapred.c:clamp_fullmv
Unexecuted instantiation: loopfilter.c:clamp_fullmv
Unexecuted instantiation: fft.c:clamp_fullmv
Unexecuted instantiation: corner_match.c:clamp_fullmv
Unexecuted instantiation: disflow.c:clamp_fullmv
Unexecuted instantiation: av1_inv_txfm2d.c:clamp_fullmv
Unexecuted instantiation: av1_txfm.c:clamp_fullmv
Unexecuted instantiation: convolve.c:clamp_fullmv
Unexecuted instantiation: av1_fwd_txfm1d.c:clamp_fullmv
Unexecuted instantiation: av1_inv_txfm1d.c:clamp_fullmv
332
333
#ifdef __cplusplus
334
}  // extern "C"
335
#endif
336
337
#endif  // AOM_AV1_COMMON_MV_H_