/src/libvpx/vp9/common/vp9_mv.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
3 | | * |
4 | | * Use of this source code is governed by a BSD-style license |
5 | | * that can be found in the LICENSE file in the root of the source |
6 | | * tree. An additional intellectual property rights grant can be found |
7 | | * in the file PATENTS. All contributing project authors may |
8 | | * be found in the AUTHORS file in the root of the source tree. |
9 | | */ |
10 | | |
11 | | #ifndef VPX_VP9_COMMON_VP9_MV_H_ |
12 | | #define VPX_VP9_COMMON_VP9_MV_H_ |
13 | | |
14 | | #include "vpx/vpx_integer.h" |
15 | | |
16 | | #include "vp9/common/vp9_common.h" |
17 | | |
18 | | #ifdef __cplusplus |
19 | | extern "C" { |
20 | | #endif |
21 | | |
22 | 278M | #define INVALID_MV 0x80008000 |
23 | | |
24 | | typedef struct mv { |
25 | | int16_t row; |
26 | | int16_t col; |
27 | | } MV; |
28 | | |
29 | | typedef union int_mv { |
30 | | uint32_t as_int; |
31 | | MV as_mv; |
32 | | } int_mv; /* facilitates faster equality tests and copies */ |
33 | | |
34 | | typedef struct mv32 { |
35 | | int32_t row; |
36 | | int32_t col; |
37 | | } MV32; |
38 | | |
39 | 0 | static INLINE int is_zero_mv(const MV *mv) { |
40 | 0 | return *((const uint32_t *)mv) == 0; |
41 | 0 | } Unexecuted instantiation: vp9_cx_iface.c:is_zero_mv Unexecuted instantiation: vp9_firstpass.c:is_zero_mv Unexecuted instantiation: vp9_mcomp.c:is_zero_mv Unexecuted instantiation: vp9_encoder.c:is_zero_mv Unexecuted instantiation: vp9_picklpf.c:is_zero_mv Unexecuted instantiation: vp9_quantize.c:is_zero_mv Unexecuted instantiation: vp9_ratectrl.c:is_zero_mv Unexecuted instantiation: vp9_rd.c:is_zero_mv Unexecuted instantiation: vp9_segmentation.c:is_zero_mv Unexecuted instantiation: vp9_speed_features.c:is_zero_mv Unexecuted instantiation: vp9_svc_layercontext.c:is_zero_mv Unexecuted instantiation: vp9_tokenize.c:is_zero_mv Unexecuted instantiation: vp9_aq_variance.c:is_zero_mv Unexecuted instantiation: vp9_aq_360.c:is_zero_mv Unexecuted instantiation: vp9_aq_cyclicrefresh.c:is_zero_mv Unexecuted instantiation: vp9_aq_complexity.c:is_zero_mv Unexecuted instantiation: vp9_alt_ref_aq.c:is_zero_mv Unexecuted instantiation: vp9_skin_detection.c:is_zero_mv Unexecuted instantiation: vp9_noise_estimate.c:is_zero_mv Unexecuted instantiation: vp9_ext_ratectrl.c:is_zero_mv Unexecuted instantiation: vp9_temporal_filter.c:is_zero_mv Unexecuted instantiation: vp9_tpl_model.c:is_zero_mv Unexecuted instantiation: vp9_mbgraph.c:is_zero_mv Unexecuted instantiation: yv12config.c:is_zero_mv Unexecuted instantiation: vp9_alloccommon.c:is_zero_mv Unexecuted instantiation: vp9_blockd.c:is_zero_mv Unexecuted instantiation: vp9_entropy.c:is_zero_mv Unexecuted instantiation: vp9_entropymode.c:is_zero_mv Unexecuted instantiation: vp9_entropymv.c:is_zero_mv Unexecuted instantiation: vp9_idct.c:is_zero_mv Unexecuted instantiation: vp9_scale.c:is_zero_mv Unexecuted instantiation: vp9_seg_common.c:is_zero_mv Unexecuted instantiation: vp9_tile_common.c:is_zero_mv Unexecuted instantiation: vp9_loopfilter.c:is_zero_mv Unexecuted instantiation: vp9_thread_common.c:is_zero_mv Unexecuted instantiation: vp9_reconinter.c:is_zero_mv Unexecuted instantiation: vp9_reconintra.c:is_zero_mv Unexecuted instantiation: vp9_scan.c:is_zero_mv Unexecuted instantiation: vp9_bitstream.c:is_zero_mv Unexecuted instantiation: vp9_context_tree.c:is_zero_mv Unexecuted instantiation: vp9_dct.c:is_zero_mv Unexecuted instantiation: vp9_encodeframe.c:is_zero_mv Unexecuted instantiation: vp9_encodemb.c:is_zero_mv Unexecuted instantiation: vp9_encodemv.c:is_zero_mv Unexecuted instantiation: vp9_ethread.c:is_zero_mv Unexecuted instantiation: vp9_frame_scale.c:is_zero_mv Unexecuted instantiation: vp9_lookahead.c:is_zero_mv Unexecuted instantiation: vp9_multi_thread.c:is_zero_mv Unexecuted instantiation: vp9_rdopt.c:is_zero_mv Unexecuted instantiation: vp9_pickmode.c:is_zero_mv Unexecuted instantiation: temporal_filter_sse4.c:is_zero_mv Unexecuted instantiation: vp9_quantize_sse2.c:is_zero_mv Unexecuted instantiation: vp9_quantize_ssse3.c:is_zero_mv Unexecuted instantiation: vp9_quantize_avx2.c:is_zero_mv Unexecuted instantiation: highbd_temporal_filter_sse4.c:is_zero_mv Unexecuted instantiation: quantize.c:is_zero_mv Unexecuted instantiation: quantize_sse2.c:is_zero_mv Unexecuted instantiation: quantize_ssse3.c:is_zero_mv Unexecuted instantiation: quantize_avx.c:is_zero_mv Unexecuted instantiation: quantize_avx2.c:is_zero_mv Unexecuted instantiation: highbd_quantize_intrin_sse2.c:is_zero_mv Unexecuted instantiation: highbd_quantize_intrin_avx2.c:is_zero_mv Unexecuted instantiation: vp9_pred_common.c:is_zero_mv Unexecuted instantiation: vp9_mvref_common.c:is_zero_mv |
42 | | |
43 | 0 | static INLINE int is_equal_mv(const MV *a, const MV *b) { |
44 | 0 | return *((const uint32_t *)a) == *((const uint32_t *)b); |
45 | 0 | } Unexecuted instantiation: vp9_cx_iface.c:is_equal_mv Unexecuted instantiation: vp9_firstpass.c:is_equal_mv Unexecuted instantiation: vp9_mcomp.c:is_equal_mv Unexecuted instantiation: vp9_encoder.c:is_equal_mv Unexecuted instantiation: vp9_picklpf.c:is_equal_mv Unexecuted instantiation: vp9_quantize.c:is_equal_mv Unexecuted instantiation: vp9_ratectrl.c:is_equal_mv Unexecuted instantiation: vp9_rd.c:is_equal_mv Unexecuted instantiation: vp9_segmentation.c:is_equal_mv Unexecuted instantiation: vp9_speed_features.c:is_equal_mv Unexecuted instantiation: vp9_svc_layercontext.c:is_equal_mv Unexecuted instantiation: vp9_tokenize.c:is_equal_mv Unexecuted instantiation: vp9_aq_variance.c:is_equal_mv Unexecuted instantiation: vp9_aq_360.c:is_equal_mv Unexecuted instantiation: vp9_aq_cyclicrefresh.c:is_equal_mv Unexecuted instantiation: vp9_aq_complexity.c:is_equal_mv Unexecuted instantiation: vp9_alt_ref_aq.c:is_equal_mv Unexecuted instantiation: vp9_skin_detection.c:is_equal_mv Unexecuted instantiation: vp9_noise_estimate.c:is_equal_mv Unexecuted instantiation: vp9_ext_ratectrl.c:is_equal_mv Unexecuted instantiation: vp9_temporal_filter.c:is_equal_mv Unexecuted instantiation: vp9_tpl_model.c:is_equal_mv Unexecuted instantiation: vp9_mbgraph.c:is_equal_mv Unexecuted instantiation: yv12config.c:is_equal_mv Unexecuted instantiation: vp9_alloccommon.c:is_equal_mv Unexecuted instantiation: vp9_blockd.c:is_equal_mv Unexecuted instantiation: vp9_entropy.c:is_equal_mv Unexecuted instantiation: vp9_entropymode.c:is_equal_mv Unexecuted instantiation: vp9_entropymv.c:is_equal_mv Unexecuted instantiation: vp9_idct.c:is_equal_mv Unexecuted instantiation: vp9_scale.c:is_equal_mv Unexecuted instantiation: vp9_seg_common.c:is_equal_mv Unexecuted instantiation: vp9_tile_common.c:is_equal_mv Unexecuted instantiation: vp9_loopfilter.c:is_equal_mv Unexecuted instantiation: vp9_thread_common.c:is_equal_mv Unexecuted instantiation: vp9_reconinter.c:is_equal_mv Unexecuted instantiation: vp9_reconintra.c:is_equal_mv Unexecuted instantiation: vp9_scan.c:is_equal_mv Unexecuted instantiation: vp9_bitstream.c:is_equal_mv Unexecuted instantiation: vp9_context_tree.c:is_equal_mv Unexecuted instantiation: vp9_dct.c:is_equal_mv Unexecuted instantiation: vp9_encodeframe.c:is_equal_mv Unexecuted instantiation: vp9_encodemb.c:is_equal_mv Unexecuted instantiation: vp9_encodemv.c:is_equal_mv Unexecuted instantiation: vp9_ethread.c:is_equal_mv Unexecuted instantiation: vp9_frame_scale.c:is_equal_mv Unexecuted instantiation: vp9_lookahead.c:is_equal_mv Unexecuted instantiation: vp9_multi_thread.c:is_equal_mv Unexecuted instantiation: vp9_rdopt.c:is_equal_mv Unexecuted instantiation: vp9_pickmode.c:is_equal_mv Unexecuted instantiation: temporal_filter_sse4.c:is_equal_mv Unexecuted instantiation: vp9_quantize_sse2.c:is_equal_mv Unexecuted instantiation: vp9_quantize_ssse3.c:is_equal_mv Unexecuted instantiation: vp9_quantize_avx2.c:is_equal_mv Unexecuted instantiation: highbd_temporal_filter_sse4.c:is_equal_mv Unexecuted instantiation: quantize.c:is_equal_mv Unexecuted instantiation: quantize_sse2.c:is_equal_mv Unexecuted instantiation: quantize_ssse3.c:is_equal_mv Unexecuted instantiation: quantize_avx.c:is_equal_mv Unexecuted instantiation: quantize_avx2.c:is_equal_mv Unexecuted instantiation: highbd_quantize_intrin_sse2.c:is_equal_mv Unexecuted instantiation: highbd_quantize_intrin_avx2.c:is_equal_mv Unexecuted instantiation: vp9_pred_common.c:is_equal_mv Unexecuted instantiation: vp9_mvref_common.c:is_equal_mv |
46 | | |
47 | | static INLINE void clamp_mv(MV *mv, int min_col, int max_col, int min_row, |
48 | 235M | int max_row) { |
49 | 235M | mv->col = clamp(mv->col, min_col, max_col); |
50 | 235M | mv->row = clamp(mv->row, min_row, max_row); |
51 | 235M | } Unexecuted instantiation: vp9_cx_iface.c:clamp_mv Unexecuted instantiation: vp9_firstpass.c:clamp_mv Line | Count | Source | 48 | 27.1M | int max_row) { | 49 | 27.1M | mv->col = clamp(mv->col, min_col, max_col); | 50 | 27.1M | mv->row = clamp(mv->row, min_row, max_row); | 51 | 27.1M | } |
Unexecuted instantiation: vp9_encoder.c:clamp_mv Unexecuted instantiation: vp9_picklpf.c:clamp_mv Unexecuted instantiation: vp9_quantize.c:clamp_mv Unexecuted instantiation: vp9_ratectrl.c:clamp_mv Unexecuted instantiation: vp9_rd.c:clamp_mv Unexecuted instantiation: vp9_segmentation.c:clamp_mv Unexecuted instantiation: vp9_speed_features.c:clamp_mv Unexecuted instantiation: vp9_svc_layercontext.c:clamp_mv Unexecuted instantiation: vp9_tokenize.c:clamp_mv Unexecuted instantiation: vp9_aq_variance.c:clamp_mv Unexecuted instantiation: vp9_aq_360.c:clamp_mv Unexecuted instantiation: vp9_aq_cyclicrefresh.c:clamp_mv Unexecuted instantiation: vp9_aq_complexity.c:clamp_mv Unexecuted instantiation: vp9_alt_ref_aq.c:clamp_mv Unexecuted instantiation: vp9_skin_detection.c:clamp_mv Unexecuted instantiation: vp9_noise_estimate.c:clamp_mv Unexecuted instantiation: vp9_ext_ratectrl.c:clamp_mv Unexecuted instantiation: vp9_temporal_filter.c:clamp_mv Unexecuted instantiation: vp9_tpl_model.c:clamp_mv Unexecuted instantiation: vp9_mbgraph.c:clamp_mv Unexecuted instantiation: yv12config.c:clamp_mv Unexecuted instantiation: vp9_alloccommon.c:clamp_mv Unexecuted instantiation: vp9_blockd.c:clamp_mv Unexecuted instantiation: vp9_entropy.c:clamp_mv Unexecuted instantiation: vp9_entropymode.c:clamp_mv Unexecuted instantiation: vp9_entropymv.c:clamp_mv Unexecuted instantiation: vp9_idct.c:clamp_mv Unexecuted instantiation: vp9_scale.c:clamp_mv Unexecuted instantiation: vp9_seg_common.c:clamp_mv Unexecuted instantiation: vp9_tile_common.c:clamp_mv Unexecuted instantiation: vp9_loopfilter.c:clamp_mv Unexecuted instantiation: vp9_thread_common.c:clamp_mv vp9_reconinter.c:clamp_mv Line | Count | Source | 48 | 104M | int max_row) { | 49 | 104M | mv->col = clamp(mv->col, min_col, max_col); | 50 | 104M | mv->row = clamp(mv->row, min_row, max_row); | 51 | 104M | } |
Unexecuted instantiation: vp9_reconintra.c:clamp_mv Unexecuted instantiation: vp9_scan.c:clamp_mv Unexecuted instantiation: vp9_bitstream.c:clamp_mv Unexecuted instantiation: vp9_context_tree.c:clamp_mv Unexecuted instantiation: vp9_dct.c:clamp_mv Unexecuted instantiation: vp9_encodeframe.c:clamp_mv Unexecuted instantiation: vp9_encodemb.c:clamp_mv Unexecuted instantiation: vp9_encodemv.c:clamp_mv Unexecuted instantiation: vp9_ethread.c:clamp_mv Unexecuted instantiation: vp9_frame_scale.c:clamp_mv Unexecuted instantiation: vp9_lookahead.c:clamp_mv Unexecuted instantiation: vp9_multi_thread.c:clamp_mv Line | Count | Source | 48 | 13.0M | int max_row) { | 49 | 13.0M | mv->col = clamp(mv->col, min_col, max_col); | 50 | 13.0M | mv->row = clamp(mv->row, min_row, max_row); | 51 | 13.0M | } |
Unexecuted instantiation: vp9_pickmode.c:clamp_mv Unexecuted instantiation: temporal_filter_sse4.c:clamp_mv Unexecuted instantiation: vp9_quantize_sse2.c:clamp_mv Unexecuted instantiation: vp9_quantize_ssse3.c:clamp_mv Unexecuted instantiation: vp9_quantize_avx2.c:clamp_mv Unexecuted instantiation: highbd_temporal_filter_sse4.c:clamp_mv Unexecuted instantiation: quantize.c:clamp_mv Unexecuted instantiation: quantize_sse2.c:clamp_mv Unexecuted instantiation: quantize_ssse3.c:clamp_mv Unexecuted instantiation: quantize_avx.c:clamp_mv Unexecuted instantiation: quantize_avx2.c:clamp_mv Unexecuted instantiation: highbd_quantize_intrin_sse2.c:clamp_mv Unexecuted instantiation: highbd_quantize_intrin_avx2.c:clamp_mv Unexecuted instantiation: vp9_pred_common.c:clamp_mv vp9_mvref_common.c:clamp_mv Line | Count | Source | 48 | 91.1M | int max_row) { | 49 | 91.1M | mv->col = clamp(mv->col, min_col, max_col); | 50 | 91.1M | mv->row = clamp(mv->row, min_row, max_row); | 51 | 91.1M | } |
|
52 | | |
53 | | #ifdef __cplusplus |
54 | | } // extern "C" |
55 | | #endif |
56 | | |
57 | | #endif // VPX_VP9_COMMON_VP9_MV_H_ |