Coverage Report

Created: 2024-09-06 07:53

/src/libvpx/vp9/common/vp9_entropymv.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3
 *
4
 *  Use of this source code is governed by a BSD-style license
5
 *  that can be found in the LICENSE file in the root of the source
6
 *  tree. An additional intellectual property rights grant can be found
7
 *  in the file PATENTS.  All contributing project authors may
8
 *  be found in the AUTHORS file in the root of the source tree.
9
 */
10
11
#ifndef VPX_VP9_COMMON_VP9_ENTROPYMV_H_
12
#define VPX_VP9_COMMON_VP9_ENTROPYMV_H_
13
14
#include "./vpx_config.h"
15
16
#include "vpx_dsp/prob.h"
17
18
#include "vp9/common/vp9_mv.h"
19
20
#ifdef __cplusplus
21
extern "C" {
22
#endif
23
24
struct VP9Common;
25
26
void vp9_init_mv_probs(struct VP9Common *cm);
27
28
void vp9_adapt_mv_probs(struct VP9Common *cm, int allow_hp);
29
30
30.7M
static INLINE int use_mv_hp(const MV *ref) {
31
30.7M
  const int kMvRefThresh = 64;  // threshold for use of high-precision 1/8 mv
32
30.7M
  return abs(ref->row) < kMvRefThresh && abs(ref->col) < kMvRefThresh;
33
30.7M
}
Unexecuted instantiation: vp9_cx_iface.c:use_mv_hp
Unexecuted instantiation: vp9_firstpass.c:use_mv_hp
vp9_mcomp.c:use_mv_hp
Line
Count
Source
30
13.7M
static INLINE int use_mv_hp(const MV *ref) {
31
13.7M
  const int kMvRefThresh = 64;  // threshold for use of high-precision 1/8 mv
32
13.7M
  return abs(ref->row) < kMvRefThresh && abs(ref->col) < kMvRefThresh;
33
13.7M
}
Unexecuted instantiation: vp9_encoder.c:use_mv_hp
Unexecuted instantiation: vp9_picklpf.c:use_mv_hp
Unexecuted instantiation: vp9_quantize.c:use_mv_hp
Unexecuted instantiation: vp9_ratectrl.c:use_mv_hp
Unexecuted instantiation: vp9_rd.c:use_mv_hp
Unexecuted instantiation: vp9_segmentation.c:use_mv_hp
Unexecuted instantiation: vp9_speed_features.c:use_mv_hp
Unexecuted instantiation: vp9_svc_layercontext.c:use_mv_hp
Unexecuted instantiation: vp9_tokenize.c:use_mv_hp
Unexecuted instantiation: vp9_aq_variance.c:use_mv_hp
Unexecuted instantiation: vp9_aq_360.c:use_mv_hp
Unexecuted instantiation: vp9_aq_cyclicrefresh.c:use_mv_hp
Unexecuted instantiation: vp9_aq_complexity.c:use_mv_hp
Unexecuted instantiation: vp9_alt_ref_aq.c:use_mv_hp
Unexecuted instantiation: vp9_skin_detection.c:use_mv_hp
Unexecuted instantiation: vp9_noise_estimate.c:use_mv_hp
Unexecuted instantiation: vp9_ext_ratectrl.c:use_mv_hp
Unexecuted instantiation: vp9_temporal_filter.c:use_mv_hp
Unexecuted instantiation: vp9_tpl_model.c:use_mv_hp
Unexecuted instantiation: vp9_mbgraph.c:use_mv_hp
Unexecuted instantiation: yv12config.c:use_mv_hp
Unexecuted instantiation: vp9_alloccommon.c:use_mv_hp
Unexecuted instantiation: vp9_blockd.c:use_mv_hp
Unexecuted instantiation: vp9_entropy.c:use_mv_hp
Unexecuted instantiation: vp9_entropymode.c:use_mv_hp
Unexecuted instantiation: vp9_entropymv.c:use_mv_hp
Unexecuted instantiation: vp9_idct.c:use_mv_hp
Unexecuted instantiation: vp9_seg_common.c:use_mv_hp
Unexecuted instantiation: vp9_tile_common.c:use_mv_hp
Unexecuted instantiation: vp9_loopfilter.c:use_mv_hp
Unexecuted instantiation: vp9_thread_common.c:use_mv_hp
Unexecuted instantiation: vp9_reconinter.c:use_mv_hp
Unexecuted instantiation: vp9_reconintra.c:use_mv_hp
Unexecuted instantiation: vp9_scan.c:use_mv_hp
Unexecuted instantiation: vp9_bitstream.c:use_mv_hp
Unexecuted instantiation: vp9_context_tree.c:use_mv_hp
Unexecuted instantiation: vp9_dct.c:use_mv_hp
Unexecuted instantiation: vp9_encodeframe.c:use_mv_hp
Unexecuted instantiation: vp9_encodemb.c:use_mv_hp
vp9_encodemv.c:use_mv_hp
Line
Count
Source
30
184k
static INLINE int use_mv_hp(const MV *ref) {
31
184k
  const int kMvRefThresh = 64;  // threshold for use of high-precision 1/8 mv
32
184k
  return abs(ref->row) < kMvRefThresh && abs(ref->col) < kMvRefThresh;
33
184k
}
Unexecuted instantiation: vp9_ethread.c:use_mv_hp
Unexecuted instantiation: vp9_frame_scale.c:use_mv_hp
Unexecuted instantiation: vp9_lookahead.c:use_mv_hp
Unexecuted instantiation: vp9_multi_thread.c:use_mv_hp
Unexecuted instantiation: vp9_rdopt.c:use_mv_hp
Unexecuted instantiation: vp9_pickmode.c:use_mv_hp
Unexecuted instantiation: temporal_filter_sse4.c:use_mv_hp
Unexecuted instantiation: vp9_quantize_sse2.c:use_mv_hp
Unexecuted instantiation: vp9_quantize_ssse3.c:use_mv_hp
Unexecuted instantiation: vp9_quantize_avx2.c:use_mv_hp
Unexecuted instantiation: highbd_temporal_filter_sse4.c:use_mv_hp
Unexecuted instantiation: quantize.c:use_mv_hp
Unexecuted instantiation: quantize_sse2.c:use_mv_hp
Unexecuted instantiation: quantize_ssse3.c:use_mv_hp
Unexecuted instantiation: quantize_avx.c:use_mv_hp
Unexecuted instantiation: quantize_avx2.c:use_mv_hp
Unexecuted instantiation: highbd_quantize_intrin_sse2.c:use_mv_hp
Unexecuted instantiation: highbd_quantize_intrin_avx2.c:use_mv_hp
Unexecuted instantiation: vp9_pred_common.c:use_mv_hp
vp9_mvref_common.c:use_mv_hp
Line
Count
Source
30
16.8M
static INLINE int use_mv_hp(const MV *ref) {
31
16.8M
  const int kMvRefThresh = 64;  // threshold for use of high-precision 1/8 mv
32
16.8M
  return abs(ref->row) < kMvRefThresh && abs(ref->col) < kMvRefThresh;
33
16.8M
}
34
35
2.34M
#define MV_UPDATE_PROB 252
36
37
/* Symbols for coding which components are zero jointly */
38
34.5k
#define MV_JOINTS 4
39
typedef enum {
40
  MV_JOINT_ZERO = 0,   /* Zero vector */
41
  MV_JOINT_HNZVZ = 1,  /* Vert zero, hor nonzero */
42
  MV_JOINT_HZVNZ = 2,  /* Hor zero, vert nonzero */
43
  MV_JOINT_HNZVNZ = 3, /* Both components nonzero */
44
} MV_JOINT_TYPE;
45
46
501k
static INLINE int mv_joint_vertical(MV_JOINT_TYPE type) {
47
501k
  return type == MV_JOINT_HZVNZ || type == MV_JOINT_HNZVNZ;
48
501k
}
Unexecuted instantiation: vp9_cx_iface.c:mv_joint_vertical
Unexecuted instantiation: vp9_firstpass.c:mv_joint_vertical
Unexecuted instantiation: vp9_mcomp.c:mv_joint_vertical
Unexecuted instantiation: vp9_encoder.c:mv_joint_vertical
Unexecuted instantiation: vp9_picklpf.c:mv_joint_vertical
Unexecuted instantiation: vp9_quantize.c:mv_joint_vertical
Unexecuted instantiation: vp9_ratectrl.c:mv_joint_vertical
Unexecuted instantiation: vp9_rd.c:mv_joint_vertical
Unexecuted instantiation: vp9_segmentation.c:mv_joint_vertical
Unexecuted instantiation: vp9_speed_features.c:mv_joint_vertical
Unexecuted instantiation: vp9_svc_layercontext.c:mv_joint_vertical
Unexecuted instantiation: vp9_tokenize.c:mv_joint_vertical
Unexecuted instantiation: vp9_aq_variance.c:mv_joint_vertical
Unexecuted instantiation: vp9_aq_360.c:mv_joint_vertical
Unexecuted instantiation: vp9_aq_cyclicrefresh.c:mv_joint_vertical
Unexecuted instantiation: vp9_aq_complexity.c:mv_joint_vertical
Unexecuted instantiation: vp9_alt_ref_aq.c:mv_joint_vertical
Unexecuted instantiation: vp9_skin_detection.c:mv_joint_vertical
Unexecuted instantiation: vp9_noise_estimate.c:mv_joint_vertical
Unexecuted instantiation: vp9_ext_ratectrl.c:mv_joint_vertical
Unexecuted instantiation: vp9_temporal_filter.c:mv_joint_vertical
Unexecuted instantiation: vp9_tpl_model.c:mv_joint_vertical
Unexecuted instantiation: vp9_mbgraph.c:mv_joint_vertical
Unexecuted instantiation: yv12config.c:mv_joint_vertical
Unexecuted instantiation: vp9_alloccommon.c:mv_joint_vertical
Unexecuted instantiation: vp9_blockd.c:mv_joint_vertical
Unexecuted instantiation: vp9_entropy.c:mv_joint_vertical
Unexecuted instantiation: vp9_entropymode.c:mv_joint_vertical
vp9_entropymv.c:mv_joint_vertical
Line
Count
Source
46
250k
static INLINE int mv_joint_vertical(MV_JOINT_TYPE type) {
47
250k
  return type == MV_JOINT_HZVNZ || type == MV_JOINT_HNZVNZ;
48
250k
}
Unexecuted instantiation: vp9_idct.c:mv_joint_vertical
Unexecuted instantiation: vp9_seg_common.c:mv_joint_vertical
Unexecuted instantiation: vp9_tile_common.c:mv_joint_vertical
Unexecuted instantiation: vp9_loopfilter.c:mv_joint_vertical
Unexecuted instantiation: vp9_thread_common.c:mv_joint_vertical
Unexecuted instantiation: vp9_reconinter.c:mv_joint_vertical
Unexecuted instantiation: vp9_reconintra.c:mv_joint_vertical
Unexecuted instantiation: vp9_scan.c:mv_joint_vertical
Unexecuted instantiation: vp9_bitstream.c:mv_joint_vertical
Unexecuted instantiation: vp9_context_tree.c:mv_joint_vertical
Unexecuted instantiation: vp9_dct.c:mv_joint_vertical
Unexecuted instantiation: vp9_encodeframe.c:mv_joint_vertical
Unexecuted instantiation: vp9_encodemb.c:mv_joint_vertical
vp9_encodemv.c:mv_joint_vertical
Line
Count
Source
46
250k
static INLINE int mv_joint_vertical(MV_JOINT_TYPE type) {
47
250k
  return type == MV_JOINT_HZVNZ || type == MV_JOINT_HNZVNZ;
48
250k
}
Unexecuted instantiation: vp9_ethread.c:mv_joint_vertical
Unexecuted instantiation: vp9_frame_scale.c:mv_joint_vertical
Unexecuted instantiation: vp9_lookahead.c:mv_joint_vertical
Unexecuted instantiation: vp9_multi_thread.c:mv_joint_vertical
Unexecuted instantiation: vp9_rdopt.c:mv_joint_vertical
Unexecuted instantiation: vp9_pickmode.c:mv_joint_vertical
Unexecuted instantiation: temporal_filter_sse4.c:mv_joint_vertical
Unexecuted instantiation: vp9_quantize_sse2.c:mv_joint_vertical
Unexecuted instantiation: vp9_quantize_ssse3.c:mv_joint_vertical
Unexecuted instantiation: vp9_quantize_avx2.c:mv_joint_vertical
Unexecuted instantiation: highbd_temporal_filter_sse4.c:mv_joint_vertical
Unexecuted instantiation: quantize.c:mv_joint_vertical
Unexecuted instantiation: quantize_sse2.c:mv_joint_vertical
Unexecuted instantiation: quantize_ssse3.c:mv_joint_vertical
Unexecuted instantiation: quantize_avx.c:mv_joint_vertical
Unexecuted instantiation: quantize_avx2.c:mv_joint_vertical
Unexecuted instantiation: highbd_quantize_intrin_sse2.c:mv_joint_vertical
Unexecuted instantiation: highbd_quantize_intrin_avx2.c:mv_joint_vertical
Unexecuted instantiation: vp9_pred_common.c:mv_joint_vertical
Unexecuted instantiation: vp9_mvref_common.c:mv_joint_vertical
49
50
501k
static INLINE int mv_joint_horizontal(MV_JOINT_TYPE type) {
51
501k
  return type == MV_JOINT_HNZVZ || type == MV_JOINT_HNZVNZ;
52
501k
}
Unexecuted instantiation: vp9_cx_iface.c:mv_joint_horizontal
Unexecuted instantiation: vp9_firstpass.c:mv_joint_horizontal
Unexecuted instantiation: vp9_mcomp.c:mv_joint_horizontal
Unexecuted instantiation: vp9_encoder.c:mv_joint_horizontal
Unexecuted instantiation: vp9_picklpf.c:mv_joint_horizontal
Unexecuted instantiation: vp9_quantize.c:mv_joint_horizontal
Unexecuted instantiation: vp9_ratectrl.c:mv_joint_horizontal
Unexecuted instantiation: vp9_rd.c:mv_joint_horizontal
Unexecuted instantiation: vp9_segmentation.c:mv_joint_horizontal
Unexecuted instantiation: vp9_speed_features.c:mv_joint_horizontal
Unexecuted instantiation: vp9_svc_layercontext.c:mv_joint_horizontal
Unexecuted instantiation: vp9_tokenize.c:mv_joint_horizontal
Unexecuted instantiation: vp9_aq_variance.c:mv_joint_horizontal
Unexecuted instantiation: vp9_aq_360.c:mv_joint_horizontal
Unexecuted instantiation: vp9_aq_cyclicrefresh.c:mv_joint_horizontal
Unexecuted instantiation: vp9_aq_complexity.c:mv_joint_horizontal
Unexecuted instantiation: vp9_alt_ref_aq.c:mv_joint_horizontal
Unexecuted instantiation: vp9_skin_detection.c:mv_joint_horizontal
Unexecuted instantiation: vp9_noise_estimate.c:mv_joint_horizontal
Unexecuted instantiation: vp9_ext_ratectrl.c:mv_joint_horizontal
Unexecuted instantiation: vp9_temporal_filter.c:mv_joint_horizontal
Unexecuted instantiation: vp9_tpl_model.c:mv_joint_horizontal
Unexecuted instantiation: vp9_mbgraph.c:mv_joint_horizontal
Unexecuted instantiation: yv12config.c:mv_joint_horizontal
Unexecuted instantiation: vp9_alloccommon.c:mv_joint_horizontal
Unexecuted instantiation: vp9_blockd.c:mv_joint_horizontal
Unexecuted instantiation: vp9_entropy.c:mv_joint_horizontal
Unexecuted instantiation: vp9_entropymode.c:mv_joint_horizontal
vp9_entropymv.c:mv_joint_horizontal
Line
Count
Source
50
250k
static INLINE int mv_joint_horizontal(MV_JOINT_TYPE type) {
51
250k
  return type == MV_JOINT_HNZVZ || type == MV_JOINT_HNZVNZ;
52
250k
}
Unexecuted instantiation: vp9_idct.c:mv_joint_horizontal
Unexecuted instantiation: vp9_seg_common.c:mv_joint_horizontal
Unexecuted instantiation: vp9_tile_common.c:mv_joint_horizontal
Unexecuted instantiation: vp9_loopfilter.c:mv_joint_horizontal
Unexecuted instantiation: vp9_thread_common.c:mv_joint_horizontal
Unexecuted instantiation: vp9_reconinter.c:mv_joint_horizontal
Unexecuted instantiation: vp9_reconintra.c:mv_joint_horizontal
Unexecuted instantiation: vp9_scan.c:mv_joint_horizontal
Unexecuted instantiation: vp9_bitstream.c:mv_joint_horizontal
Unexecuted instantiation: vp9_context_tree.c:mv_joint_horizontal
Unexecuted instantiation: vp9_dct.c:mv_joint_horizontal
Unexecuted instantiation: vp9_encodeframe.c:mv_joint_horizontal
Unexecuted instantiation: vp9_encodemb.c:mv_joint_horizontal
vp9_encodemv.c:mv_joint_horizontal
Line
Count
Source
50
250k
static INLINE int mv_joint_horizontal(MV_JOINT_TYPE type) {
51
250k
  return type == MV_JOINT_HNZVZ || type == MV_JOINT_HNZVNZ;
52
250k
}
Unexecuted instantiation: vp9_ethread.c:mv_joint_horizontal
Unexecuted instantiation: vp9_frame_scale.c:mv_joint_horizontal
Unexecuted instantiation: vp9_lookahead.c:mv_joint_horizontal
Unexecuted instantiation: vp9_multi_thread.c:mv_joint_horizontal
Unexecuted instantiation: vp9_rdopt.c:mv_joint_horizontal
Unexecuted instantiation: vp9_pickmode.c:mv_joint_horizontal
Unexecuted instantiation: temporal_filter_sse4.c:mv_joint_horizontal
Unexecuted instantiation: vp9_quantize_sse2.c:mv_joint_horizontal
Unexecuted instantiation: vp9_quantize_ssse3.c:mv_joint_horizontal
Unexecuted instantiation: vp9_quantize_avx2.c:mv_joint_horizontal
Unexecuted instantiation: highbd_temporal_filter_sse4.c:mv_joint_horizontal
Unexecuted instantiation: quantize.c:mv_joint_horizontal
Unexecuted instantiation: quantize_sse2.c:mv_joint_horizontal
Unexecuted instantiation: quantize_ssse3.c:mv_joint_horizontal
Unexecuted instantiation: quantize_avx.c:mv_joint_horizontal
Unexecuted instantiation: quantize_avx2.c:mv_joint_horizontal
Unexecuted instantiation: highbd_quantize_intrin_sse2.c:mv_joint_horizontal
Unexecuted instantiation: highbd_quantize_intrin_avx2.c:mv_joint_horizontal
Unexecuted instantiation: vp9_pred_common.c:mv_joint_horizontal
Unexecuted instantiation: vp9_mvref_common.c:mv_joint_horizontal
53
54
/* Symbols for coding magnitude class of nonzero components */
55
665M
#define MV_CLASSES 11
56
typedef enum {
57
  MV_CLASS_0 = 0,   /* (0, 2]     integer pel */
58
  MV_CLASS_1 = 1,   /* (2, 4]     integer pel */
59
  MV_CLASS_2 = 2,   /* (4, 8]     integer pel */
60
  MV_CLASS_3 = 3,   /* (8, 16]    integer pel */
61
  MV_CLASS_4 = 4,   /* (16, 32]   integer pel */
62
  MV_CLASS_5 = 5,   /* (32, 64]   integer pel */
63
  MV_CLASS_6 = 6,   /* (64, 128]  integer pel */
64
  MV_CLASS_7 = 7,   /* (128, 256] integer pel */
65
  MV_CLASS_8 = 8,   /* (256, 512] integer pel */
66
  MV_CLASS_9 = 9,   /* (512, 1024] integer pel */
67
  MV_CLASS_10 = 10, /* (1024,2048] integer pel */
68
} MV_CLASS_TYPE;
69
70
1.37G
#define CLASS0_BITS 1 /* bits at integer precision for class 0 */
71
568M
#define CLASS0_SIZE (1 << CLASS0_BITS)
72
1.51M
#define MV_OFFSET_BITS (MV_CLASSES + CLASS0_BITS - 2)
73
207k
#define MV_FP_SIZE 4
74
75
662M
#define MV_MAX_BITS (MV_CLASSES + CLASS0_BITS + 2)
76
662M
#define MV_MAX ((1 << MV_MAX_BITS) - 1)
77
0
#define MV_VALS ((MV_MAX << 1) + 1)
78
79
#define MV_IN_USE_BITS 14
80
#define MV_UPP ((1 << MV_IN_USE_BITS) - 1)
81
#define MV_LOW (-(1 << MV_IN_USE_BITS))
82
83
extern const vpx_tree_index vp9_mv_joint_tree[];
84
extern const vpx_tree_index vp9_mv_class_tree[];
85
extern const vpx_tree_index vp9_mv_class0_tree[];
86
extern const vpx_tree_index vp9_mv_fp_tree[];
87
88
typedef struct {
89
  vpx_prob sign;
90
  vpx_prob classes[MV_CLASSES - 1];
91
  vpx_prob class0[CLASS0_SIZE - 1];
92
  vpx_prob bits[MV_OFFSET_BITS];
93
  vpx_prob class0_fp[CLASS0_SIZE][MV_FP_SIZE - 1];
94
  vpx_prob fp[MV_FP_SIZE - 1];
95
  vpx_prob class0_hp;
96
  vpx_prob hp;
97
} nmv_component;
98
99
typedef struct {
100
  vpx_prob joints[MV_JOINTS - 1];
101
  nmv_component comps[2];
102
} nmv_context;
103
104
975M
static INLINE MV_JOINT_TYPE vp9_get_mv_joint(const MV *mv) {
105
975M
  if (mv->row == 0) {
106
107M
    return mv->col == 0 ? MV_JOINT_ZERO : MV_JOINT_HNZVZ;
107
868M
  } else {
108
868M
    return mv->col == 0 ? MV_JOINT_HZVNZ : MV_JOINT_HNZVNZ;
109
868M
  }
110
975M
}
Unexecuted instantiation: vp9_cx_iface.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_firstpass.c:vp9_get_mv_joint
vp9_mcomp.c:vp9_get_mv_joint
Line
Count
Source
104
975M
static INLINE MV_JOINT_TYPE vp9_get_mv_joint(const MV *mv) {
105
975M
  if (mv->row == 0) {
106
107M
    return mv->col == 0 ? MV_JOINT_ZERO : MV_JOINT_HNZVZ;
107
867M
  } else {
108
867M
    return mv->col == 0 ? MV_JOINT_HZVNZ : MV_JOINT_HNZVNZ;
109
867M
  }
110
975M
}
Unexecuted instantiation: vp9_encoder.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_picklpf.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_quantize.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_ratectrl.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_rd.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_segmentation.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_speed_features.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_svc_layercontext.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_tokenize.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_aq_variance.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_aq_360.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_aq_cyclicrefresh.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_aq_complexity.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_alt_ref_aq.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_skin_detection.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_noise_estimate.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_ext_ratectrl.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_temporal_filter.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_tpl_model.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_mbgraph.c:vp9_get_mv_joint
Unexecuted instantiation: yv12config.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_alloccommon.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_blockd.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_entropy.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_entropymode.c:vp9_get_mv_joint
vp9_entropymv.c:vp9_get_mv_joint
Line
Count
Source
104
250k
static INLINE MV_JOINT_TYPE vp9_get_mv_joint(const MV *mv) {
105
250k
  if (mv->row == 0) {
106
38.0k
    return mv->col == 0 ? MV_JOINT_ZERO : MV_JOINT_HNZVZ;
107
212k
  } else {
108
212k
    return mv->col == 0 ? MV_JOINT_HZVNZ : MV_JOINT_HNZVNZ;
109
212k
  }
110
250k
}
Unexecuted instantiation: vp9_idct.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_seg_common.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_tile_common.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_loopfilter.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_thread_common.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_reconinter.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_reconintra.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_scan.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_bitstream.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_context_tree.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_dct.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_encodeframe.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_encodemb.c:vp9_get_mv_joint
vp9_encodemv.c:vp9_get_mv_joint
Line
Count
Source
104
250k
static INLINE MV_JOINT_TYPE vp9_get_mv_joint(const MV *mv) {
105
250k
  if (mv->row == 0) {
106
38.0k
    return mv->col == 0 ? MV_JOINT_ZERO : MV_JOINT_HNZVZ;
107
212k
  } else {
108
212k
    return mv->col == 0 ? MV_JOINT_HZVNZ : MV_JOINT_HNZVNZ;
109
212k
  }
110
250k
}
Unexecuted instantiation: vp9_ethread.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_frame_scale.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_lookahead.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_multi_thread.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_rdopt.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_pickmode.c:vp9_get_mv_joint
Unexecuted instantiation: temporal_filter_sse4.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_quantize_sse2.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_quantize_ssse3.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_quantize_avx2.c:vp9_get_mv_joint
Unexecuted instantiation: highbd_temporal_filter_sse4.c:vp9_get_mv_joint
Unexecuted instantiation: quantize.c:vp9_get_mv_joint
Unexecuted instantiation: quantize_sse2.c:vp9_get_mv_joint
Unexecuted instantiation: quantize_ssse3.c:vp9_get_mv_joint
Unexecuted instantiation: quantize_avx.c:vp9_get_mv_joint
Unexecuted instantiation: quantize_avx2.c:vp9_get_mv_joint
Unexecuted instantiation: highbd_quantize_intrin_sse2.c:vp9_get_mv_joint
Unexecuted instantiation: highbd_quantize_intrin_avx2.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_pred_common.c:vp9_get_mv_joint
Unexecuted instantiation: vp9_mvref_common.c:vp9_get_mv_joint
111
112
MV_CLASS_TYPE vp9_get_mv_class(int z, int *offset);
113
114
typedef struct {
115
  unsigned int sign[2];
116
  unsigned int classes[MV_CLASSES];
117
  unsigned int class0[CLASS0_SIZE];
118
  unsigned int bits[MV_OFFSET_BITS][2];
119
  unsigned int class0_fp[CLASS0_SIZE][MV_FP_SIZE];
120
  unsigned int fp[MV_FP_SIZE];
121
  unsigned int class0_hp[2];
122
  unsigned int hp[2];
123
} nmv_component_counts;
124
125
typedef struct {
126
  unsigned int joints[MV_JOINTS];
127
  nmv_component_counts comps[2];
128
} nmv_context_counts;
129
130
void vp9_inc_mv(const MV *mv, nmv_context_counts *counts);
131
132
#ifdef __cplusplus
133
}  // extern "C"
134
#endif
135
136
#endif  // VPX_VP9_COMMON_VP9_ENTROPYMV_H_