/src/libvpx/vp9/common/vp9_mv.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
3 | | * |
4 | | * Use of this source code is governed by a BSD-style license |
5 | | * that can be found in the LICENSE file in the root of the source |
6 | | * tree. An additional intellectual property rights grant can be found |
7 | | * in the file PATENTS. All contributing project authors may |
8 | | * be found in the AUTHORS file in the root of the source tree. |
9 | | */ |
10 | | |
11 | | #ifndef VPX_VP9_COMMON_VP9_MV_H_ |
12 | | #define VPX_VP9_COMMON_VP9_MV_H_ |
13 | | |
14 | | #include "vpx/vpx_integer.h" |
15 | | |
16 | | #include "vp9/common/vp9_common.h" |
17 | | |
18 | | #ifdef __cplusplus |
19 | | extern "C" { |
20 | | #endif |
21 | | |
22 | | #define INVALID_MV 0x80008000 |
23 | | |
24 | | typedef struct mv { |
25 | | int16_t row; |
26 | | int16_t col; |
27 | | } MV; |
28 | | |
29 | | typedef union int_mv { |
30 | | uint32_t as_int; |
31 | | MV as_mv; |
32 | | } int_mv; /* facilitates faster equality tests and copies */ |
33 | | |
34 | | typedef struct mv32 { |
35 | | int32_t row; |
36 | | int32_t col; |
37 | | } MV32; |
38 | | |
39 | 0 | static INLINE int is_zero_mv(const MV *mv) { |
40 | 0 | return *((const uint32_t *)mv) == 0; |
41 | 0 | } Unexecuted instantiation: vp9_dx_iface.c:is_zero_mv Unexecuted instantiation: vp9_decodeframe.c:is_zero_mv Unexecuted instantiation: vp9_detokenize.c:is_zero_mv Unexecuted instantiation: vp9_decoder.c:is_zero_mv Unexecuted instantiation: yv12config.c:is_zero_mv Unexecuted instantiation: vp9_alloccommon.c:is_zero_mv Unexecuted instantiation: vp9_blockd.c:is_zero_mv Unexecuted instantiation: vp9_entropy.c:is_zero_mv Unexecuted instantiation: vp9_entropymode.c:is_zero_mv Unexecuted instantiation: vp9_entropymv.c:is_zero_mv Unexecuted instantiation: vp9_idct.c:is_zero_mv Unexecuted instantiation: vp9_pred_common.c:is_zero_mv Unexecuted instantiation: vp9_scale.c:is_zero_mv Unexecuted instantiation: vp9_seg_common.c:is_zero_mv Unexecuted instantiation: vp9_tile_common.c:is_zero_mv Unexecuted instantiation: vp9_loopfilter.c:is_zero_mv Unexecuted instantiation: vp9_thread_common.c:is_zero_mv Unexecuted instantiation: vp9_reconinter.c:is_zero_mv Unexecuted instantiation: vp9_reconintra.c:is_zero_mv Unexecuted instantiation: vp9_scan.c:is_zero_mv Unexecuted instantiation: vp9_decodemv.c:is_zero_mv |
42 | | |
43 | 0 | static INLINE int is_equal_mv(const MV *a, const MV *b) { |
44 | 0 | return *((const uint32_t *)a) == *((const uint32_t *)b); |
45 | 0 | } Unexecuted instantiation: vp9_dx_iface.c:is_equal_mv Unexecuted instantiation: vp9_decodeframe.c:is_equal_mv Unexecuted instantiation: vp9_detokenize.c:is_equal_mv Unexecuted instantiation: vp9_decoder.c:is_equal_mv Unexecuted instantiation: yv12config.c:is_equal_mv Unexecuted instantiation: vp9_alloccommon.c:is_equal_mv Unexecuted instantiation: vp9_blockd.c:is_equal_mv Unexecuted instantiation: vp9_entropy.c:is_equal_mv Unexecuted instantiation: vp9_entropymode.c:is_equal_mv Unexecuted instantiation: vp9_entropymv.c:is_equal_mv Unexecuted instantiation: vp9_idct.c:is_equal_mv Unexecuted instantiation: vp9_pred_common.c:is_equal_mv Unexecuted instantiation: vp9_scale.c:is_equal_mv Unexecuted instantiation: vp9_seg_common.c:is_equal_mv Unexecuted instantiation: vp9_tile_common.c:is_equal_mv Unexecuted instantiation: vp9_loopfilter.c:is_equal_mv Unexecuted instantiation: vp9_thread_common.c:is_equal_mv Unexecuted instantiation: vp9_reconinter.c:is_equal_mv Unexecuted instantiation: vp9_reconintra.c:is_equal_mv Unexecuted instantiation: vp9_scan.c:is_equal_mv Unexecuted instantiation: vp9_decodemv.c:is_equal_mv |
46 | | |
47 | | static INLINE void clamp_mv(MV *mv, int min_col, int max_col, int min_row, |
48 | 25.0M | int max_row) { |
49 | 25.0M | mv->col = clamp(mv->col, min_col, max_col); |
50 | 25.0M | mv->row = clamp(mv->row, min_row, max_row); |
51 | 25.0M | } Unexecuted instantiation: vp9_dx_iface.c:clamp_mv Unexecuted instantiation: vp9_decodeframe.c:clamp_mv Unexecuted instantiation: vp9_detokenize.c:clamp_mv Unexecuted instantiation: vp9_decoder.c:clamp_mv Unexecuted instantiation: yv12config.c:clamp_mv Unexecuted instantiation: vp9_alloccommon.c:clamp_mv Unexecuted instantiation: vp9_blockd.c:clamp_mv Unexecuted instantiation: vp9_entropy.c:clamp_mv Unexecuted instantiation: vp9_entropymode.c:clamp_mv Unexecuted instantiation: vp9_entropymv.c:clamp_mv Unexecuted instantiation: vp9_idct.c:clamp_mv Unexecuted instantiation: vp9_pred_common.c:clamp_mv Unexecuted instantiation: vp9_scale.c:clamp_mv Unexecuted instantiation: vp9_seg_common.c:clamp_mv Unexecuted instantiation: vp9_tile_common.c:clamp_mv Unexecuted instantiation: vp9_loopfilter.c:clamp_mv Unexecuted instantiation: vp9_thread_common.c:clamp_mv vp9_reconinter.c:clamp_mv Line | Count | Source | 48 | 9.26M | int max_row) { | 49 | 9.26M | mv->col = clamp(mv->col, min_col, max_col); | 50 | 9.26M | mv->row = clamp(mv->row, min_row, max_row); | 51 | 9.26M | } |
Unexecuted instantiation: vp9_reconintra.c:clamp_mv Unexecuted instantiation: vp9_scan.c:clamp_mv Line | Count | Source | 48 | 15.7M | int max_row) { | 49 | 15.7M | mv->col = clamp(mv->col, min_col, max_col); | 50 | 15.7M | mv->row = clamp(mv->row, min_row, max_row); | 51 | 15.7M | } |
|
52 | | |
53 | | #ifdef __cplusplus |
54 | | } // extern "C" |
55 | | #endif |
56 | | |
57 | | #endif // VPX_VP9_COMMON_VP9_MV_H_ |