/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 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 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_ |