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 | | |
21 | | #ifdef __cplusplus |
22 | | extern "C" { |
23 | | #endif |
24 | | |
25 | 0 | #define INVALID_MV 0x80008000 |
26 | 0 | #define INVALID_MV_ROW_COL -32768 |
27 | 0 | #define GET_MV_RAWPEL(x) (((x) + 3 + ((x) >= 0)) >> 3) |
28 | 18.5M | #define GET_MV_SUBPEL(x) ((x)*8) |
29 | | |
30 | | #define MARK_MV_INVALID(mv) \ |
31 | 0 | do { \ |
32 | 0 | ((int_mv *)(mv))->as_int = INVALID_MV; \ |
33 | 0 | } while (0); |
34 | 0 | #define CHECK_MV_EQUAL(x, y) (((x).row == (y).row) && ((x).col == (y).col)) |
35 | | |
36 | | // The motion vector in units of full pixel |
37 | | typedef struct fullpel_mv { |
38 | | int16_t row; |
39 | | int16_t col; |
40 | | } FULLPEL_MV; |
41 | | |
42 | | // The motion vector in units of 1/8-pel |
43 | | typedef struct mv { |
44 | | int16_t row; |
45 | | int16_t col; |
46 | | } MV; |
47 | | |
48 | | static const MV kZeroMv = { 0, 0 }; |
49 | | static const FULLPEL_MV kZeroFullMv = { 0, 0 }; |
50 | | |
51 | | typedef union int_mv { |
52 | | uint32_t as_int; |
53 | | MV as_mv; |
54 | | FULLPEL_MV as_fullmv; |
55 | | } int_mv; /* facilitates faster equality tests and copies */ |
56 | | |
57 | | typedef struct mv32 { |
58 | | int32_t row; |
59 | | int32_t col; |
60 | | } MV32; |
61 | | |
62 | | // The mv limit for fullpel mvs |
63 | | typedef struct { |
64 | | int col_min; |
65 | | int col_max; |
66 | | int row_min; |
67 | | int row_max; |
68 | | } FullMvLimits; |
69 | | |
70 | | // The mv limit for subpel mvs |
71 | | typedef struct { |
72 | | int col_min; |
73 | | int col_max; |
74 | | int row_min; |
75 | | int row_max; |
76 | | } SubpelMvLimits; |
77 | | |
78 | 0 | static AOM_INLINE FULLPEL_MV get_fullmv_from_mv(const MV *subpel_mv) { |
79 | 0 | const FULLPEL_MV full_mv = { (int16_t)GET_MV_RAWPEL(subpel_mv->row), |
80 | 0 | (int16_t)GET_MV_RAWPEL(subpel_mv->col) }; |
81 | 0 | return full_mv; |
82 | 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: av1_quantize.c:get_fullmv_from_mv Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:get_fullmv_from_mv Unexecuted instantiation: psnr.c:get_fullmv_from_mv Unexecuted instantiation: sad.c:get_fullmv_from_mv Unexecuted instantiation: sad_av1.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: 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: allintra_vis.c:get_fullmv_from_mv Unexecuted instantiation: av1_fwd_txfm2d.c:get_fullmv_from_mv Unexecuted instantiation: compound_type.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: 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: hybrid_fwd_txfm.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: partition_search.c:get_fullmv_from_mv Unexecuted instantiation: partition_strategy.c:get_fullmv_from_mv Unexecuted instantiation: ransac.c:get_fullmv_from_mv Unexecuted instantiation: nonrd_pickmode.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: subtract.c:get_fullmv_from_mv Unexecuted instantiation: fwd_txfm.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: cnn.c:get_fullmv_from_mv Unexecuted instantiation: corner_match.c:get_fullmv_from_mv Unexecuted instantiation: av1_inv_txfm1d.c:get_fullmv_from_mv |
83 | | |
84 | 5.84k | static AOM_INLINE MV get_mv_from_fullmv(const FULLPEL_MV *full_mv) { |
85 | 5.84k | const MV subpel_mv = { (int16_t)GET_MV_SUBPEL(full_mv->row), |
86 | 5.84k | (int16_t)GET_MV_SUBPEL(full_mv->col) }; |
87 | 5.84k | return subpel_mv; |
88 | 5.84k | } 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 | 84 | 5.84k | static AOM_INLINE MV get_mv_from_fullmv(const FULLPEL_MV *full_mv) { | 85 | 5.84k | const MV subpel_mv = { (int16_t)GET_MV_SUBPEL(full_mv->row), | 86 | 5.84k | (int16_t)GET_MV_SUBPEL(full_mv->col) }; | 87 | 5.84k | return subpel_mv; | 88 | 5.84k | } |
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: av1_quantize.c:get_mv_from_fullmv Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:get_mv_from_fullmv Unexecuted instantiation: psnr.c:get_mv_from_fullmv Unexecuted instantiation: sad.c:get_mv_from_fullmv Unexecuted instantiation: sad_av1.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: 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: allintra_vis.c:get_mv_from_fullmv Unexecuted instantiation: av1_fwd_txfm2d.c:get_mv_from_fullmv Unexecuted instantiation: compound_type.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: 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: hybrid_fwd_txfm.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: partition_search.c:get_mv_from_fullmv Unexecuted instantiation: partition_strategy.c:get_mv_from_fullmv Unexecuted instantiation: ransac.c:get_mv_from_fullmv Unexecuted instantiation: nonrd_pickmode.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: subtract.c:get_mv_from_fullmv Unexecuted instantiation: fwd_txfm.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: cnn.c:get_mv_from_fullmv Unexecuted instantiation: corner_match.c:get_mv_from_fullmv Unexecuted instantiation: av1_inv_txfm1d.c:get_mv_from_fullmv |
89 | | |
90 | 5.84k | static AOM_INLINE void convert_fullmv_to_mv(int_mv *mv) { |
91 | 5.84k | mv->as_mv = get_mv_from_fullmv(&mv->as_fullmv); |
92 | 5.84k | } 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 | 90 | 5.84k | static AOM_INLINE void convert_fullmv_to_mv(int_mv *mv) { | 91 | 5.84k | mv->as_mv = get_mv_from_fullmv(&mv->as_fullmv); | 92 | 5.84k | } |
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: av1_quantize.c:convert_fullmv_to_mv Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:convert_fullmv_to_mv Unexecuted instantiation: psnr.c:convert_fullmv_to_mv Unexecuted instantiation: sad.c:convert_fullmv_to_mv Unexecuted instantiation: sad_av1.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: 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: allintra_vis.c:convert_fullmv_to_mv Unexecuted instantiation: av1_fwd_txfm2d.c:convert_fullmv_to_mv Unexecuted instantiation: compound_type.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: 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: hybrid_fwd_txfm.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: partition_search.c:convert_fullmv_to_mv Unexecuted instantiation: partition_strategy.c:convert_fullmv_to_mv Unexecuted instantiation: ransac.c:convert_fullmv_to_mv Unexecuted instantiation: nonrd_pickmode.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: subtract.c:convert_fullmv_to_mv Unexecuted instantiation: fwd_txfm.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: cnn.c:convert_fullmv_to_mv Unexecuted instantiation: corner_match.c:convert_fullmv_to_mv Unexecuted instantiation: av1_inv_txfm1d.c:convert_fullmv_to_mv |
93 | | |
94 | | // Bits of precision used for the model |
95 | 0 | #define WARPEDMODEL_PREC_BITS 16 |
96 | 0 | #define WARPEDMODEL_ROW3HOMO_PREC_BITS 16 |
97 | | |
98 | 0 | #define WARPEDMODEL_TRANS_CLAMP (128 << WARPEDMODEL_PREC_BITS) |
99 | 0 | #define WARPEDMODEL_NONDIAGAFFINE_CLAMP (1 << (WARPEDMODEL_PREC_BITS - 3)) |
100 | | #define WARPEDMODEL_ROW3HOMO_CLAMP (1 << (WARPEDMODEL_PREC_BITS - 2)) |
101 | | |
102 | | // Bits of subpel precision for warped interpolation |
103 | 0 | #define WARPEDPIXEL_PREC_BITS 6 |
104 | 0 | #define WARPEDPIXEL_PREC_SHIFTS (1 << WARPEDPIXEL_PREC_BITS) |
105 | | |
106 | 0 | #define WARP_PARAM_REDUCE_BITS 6 |
107 | | |
108 | | #define WARPEDDIFF_PREC_BITS (WARPEDMODEL_PREC_BITS - WARPEDPIXEL_PREC_BITS) |
109 | | |
110 | | /* clang-format off */ |
111 | | enum { |
112 | | IDENTITY = 0, // identity transformation, 0-parameter |
113 | | TRANSLATION = 1, // translational motion 2-parameter |
114 | | ROTZOOM = 2, // simplified affine with rotation + zoom only, 4-parameter |
115 | | AFFINE = 3, // affine, 6-parameter |
116 | | TRANS_TYPES, |
117 | | } UENUM1BYTE(TransformationType); |
118 | | /* clang-format on */ |
119 | | |
120 | | // Number of types used for global motion (must be >= 3 and <= TRANS_TYPES) |
121 | | // The following can be useful: |
122 | | // GLOBAL_TRANS_TYPES 3 - up to rotation-zoom |
123 | | // GLOBAL_TRANS_TYPES 4 - up to affine |
124 | | // GLOBAL_TRANS_TYPES 6 - up to hor/ver trapezoids |
125 | | // GLOBAL_TRANS_TYPES 7 - up to full homography |
126 | | #define GLOBAL_TRANS_TYPES 4 |
127 | | |
128 | | typedef struct { |
129 | | int global_warp_allowed; |
130 | | int local_warp_allowed; |
131 | | } WarpTypesAllowed; |
132 | | |
133 | | // number of parameters used by each transformation in TransformationTypes |
134 | | static const int trans_model_params[TRANS_TYPES] = { 0, 2, 4, 6 }; |
135 | | |
136 | | // The order of values in the wmmat matrix below is best described |
137 | | // by the homography: |
138 | | // [x' (m2 m3 m0 [x |
139 | | // z . y' = m4 m5 m1 * y |
140 | | // 1] m6 m7 1) 1] |
141 | | typedef struct { |
142 | | int32_t wmmat[6]; |
143 | | int16_t alpha, beta, gamma, delta; |
144 | | TransformationType wmtype; |
145 | | int8_t invalid; |
146 | | } WarpedMotionParams; |
147 | | |
148 | | /* clang-format off */ |
149 | | static const WarpedMotionParams default_warp_params = { |
150 | | { 0, 0, (1 << WARPEDMODEL_PREC_BITS), 0, 0, (1 << WARPEDMODEL_PREC_BITS) }, |
151 | | 0, 0, 0, 0, |
152 | | IDENTITY, |
153 | | 0, |
154 | | }; |
155 | | /* clang-format on */ |
156 | | |
157 | | // The following constants describe the various precisions |
158 | | // of different parameters in the global motion experiment. |
159 | | // |
160 | | // Given the general homography: |
161 | | // [x' (a b c [x |
162 | | // z . y' = d e f * y |
163 | | // 1] g h i) 1] |
164 | | // |
165 | | // Constants using the name ALPHA here are related to parameters |
166 | | // a, b, d, e. Constants using the name TRANS are related |
167 | | // to parameters c and f. |
168 | | // |
169 | | // Anything ending in PREC_BITS is the number of bits of precision |
170 | | // to maintain when converting from double to integer. |
171 | | // |
172 | | // The ABS parameters are used to create an upper and lower bound |
173 | | // for each parameter. In other words, after a parameter is integerized |
174 | | // it is clamped between -(1 << ABS_XXX_BITS) and (1 << ABS_XXX_BITS). |
175 | | // |
176 | | // XXX_PREC_DIFF and XXX_DECODE_FACTOR |
177 | | // are computed once here to prevent repetitive |
178 | | // computation on the decoder side. These are |
179 | | // to allow the global motion parameters to be encoded in a lower |
180 | | // precision than the warped model precision. This means that they |
181 | | // need to be changed to warped precision when they are decoded. |
182 | | // |
183 | | // XX_MIN, XX_MAX are also computed to avoid repeated computation |
184 | | |
185 | 0 | #define SUBEXPFIN_K 3 |
186 | 0 | #define GM_TRANS_PREC_BITS 6 |
187 | 0 | #define GM_ABS_TRANS_BITS 12 |
188 | 0 | #define GM_ABS_TRANS_ONLY_BITS (GM_ABS_TRANS_BITS - GM_TRANS_PREC_BITS + 3) |
189 | 0 | #define GM_TRANS_PREC_DIFF (WARPEDMODEL_PREC_BITS - GM_TRANS_PREC_BITS) |
190 | 0 | #define GM_TRANS_ONLY_PREC_DIFF (WARPEDMODEL_PREC_BITS - 3) |
191 | 0 | #define GM_TRANS_DECODE_FACTOR (1 << GM_TRANS_PREC_DIFF) |
192 | 0 | #define GM_TRANS_ONLY_DECODE_FACTOR (1 << GM_TRANS_ONLY_PREC_DIFF) |
193 | | |
194 | 0 | #define GM_ALPHA_PREC_BITS 15 |
195 | 0 | #define GM_ABS_ALPHA_BITS 12 |
196 | 0 | #define GM_ALPHA_PREC_DIFF (WARPEDMODEL_PREC_BITS - GM_ALPHA_PREC_BITS) |
197 | 0 | #define GM_ALPHA_DECODE_FACTOR (1 << GM_ALPHA_PREC_DIFF) |
198 | | |
199 | 0 | #define GM_ROW3HOMO_PREC_BITS 16 |
200 | 0 | #define GM_ABS_ROW3HOMO_BITS 11 |
201 | | #define GM_ROW3HOMO_PREC_DIFF \ |
202 | 0 | (WARPEDMODEL_ROW3HOMO_PREC_BITS - GM_ROW3HOMO_PREC_BITS) |
203 | 0 | #define GM_ROW3HOMO_DECODE_FACTOR (1 << GM_ROW3HOMO_PREC_DIFF) |
204 | | |
205 | 0 | #define GM_TRANS_MAX (1 << GM_ABS_TRANS_BITS) |
206 | 0 | #define GM_ALPHA_MAX (1 << GM_ABS_ALPHA_BITS) |
207 | 0 | #define GM_ROW3HOMO_MAX (1 << GM_ABS_ROW3HOMO_BITS) |
208 | | |
209 | 0 | #define GM_TRANS_MIN -GM_TRANS_MAX |
210 | 0 | #define GM_ALPHA_MIN -GM_ALPHA_MAX |
211 | 0 | #define GM_ROW3HOMO_MIN -GM_ROW3HOMO_MAX |
212 | | |
213 | 0 | static INLINE int block_center_x(int mi_col, BLOCK_SIZE bs) { |
214 | 0 | const int bw = block_size_wide[bs]; |
215 | 0 | return mi_col * MI_SIZE + bw / 2 - 1; |
216 | 0 | } Unexecuted instantiation: av1_dx_iface.c:block_center_x Unexecuted instantiation: decodeframe.c:block_center_x Unexecuted instantiation: decodemv.c:block_center_x 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: av1_quantize.c:block_center_x Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:block_center_x Unexecuted instantiation: psnr.c:block_center_x Unexecuted instantiation: sad.c:block_center_x Unexecuted instantiation: sad_av1.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: 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 Unexecuted instantiation: mvref_common.c:block_center_x 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: allintra_vis.c:block_center_x Unexecuted instantiation: av1_fwd_txfm2d.c:block_center_x Unexecuted instantiation: compound_type.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: encode_strategy.c:block_center_x Unexecuted instantiation: global_motion.c:block_center_x Unexecuted instantiation: gop_structure.c:block_center_x Unexecuted instantiation: hybrid_fwd_txfm.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: partition_search.c:block_center_x Unexecuted instantiation: partition_strategy.c:block_center_x Unexecuted instantiation: ransac.c:block_center_x Unexecuted instantiation: nonrd_pickmode.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: subtract.c:block_center_x Unexecuted instantiation: fwd_txfm.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: cnn.c:block_center_x Unexecuted instantiation: corner_match.c:block_center_x Unexecuted instantiation: av1_inv_txfm1d.c:block_center_x |
217 | | |
218 | 0 | static INLINE int block_center_y(int mi_row, BLOCK_SIZE bs) { |
219 | 0 | const int bh = block_size_high[bs]; |
220 | 0 | return mi_row * MI_SIZE + bh / 2 - 1; |
221 | 0 | } Unexecuted instantiation: av1_dx_iface.c:block_center_y Unexecuted instantiation: decodeframe.c:block_center_y Unexecuted instantiation: decodemv.c:block_center_y 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: av1_quantize.c:block_center_y Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:block_center_y Unexecuted instantiation: psnr.c:block_center_y Unexecuted instantiation: sad.c:block_center_y Unexecuted instantiation: sad_av1.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: 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 Unexecuted instantiation: mvref_common.c:block_center_y 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: allintra_vis.c:block_center_y Unexecuted instantiation: av1_fwd_txfm2d.c:block_center_y Unexecuted instantiation: compound_type.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: encode_strategy.c:block_center_y Unexecuted instantiation: global_motion.c:block_center_y Unexecuted instantiation: gop_structure.c:block_center_y Unexecuted instantiation: hybrid_fwd_txfm.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: partition_search.c:block_center_y Unexecuted instantiation: partition_strategy.c:block_center_y Unexecuted instantiation: ransac.c:block_center_y Unexecuted instantiation: nonrd_pickmode.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: subtract.c:block_center_y Unexecuted instantiation: fwd_txfm.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: cnn.c:block_center_y Unexecuted instantiation: corner_match.c:block_center_y Unexecuted instantiation: av1_inv_txfm1d.c:block_center_y |
222 | | |
223 | 0 | static INLINE int convert_to_trans_prec(int allow_hp, int coor) { |
224 | 0 | if (allow_hp) |
225 | 0 | return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 3); |
226 | 0 | else |
227 | 0 | return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 2) * 2; |
228 | 0 | } Unexecuted instantiation: av1_dx_iface.c:convert_to_trans_prec Unexecuted instantiation: decodeframe.c:convert_to_trans_prec Unexecuted instantiation: decodemv.c:convert_to_trans_prec 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: av1_quantize.c:convert_to_trans_prec Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:convert_to_trans_prec Unexecuted instantiation: psnr.c:convert_to_trans_prec Unexecuted instantiation: sad.c:convert_to_trans_prec Unexecuted instantiation: sad_av1.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: 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 Unexecuted instantiation: mvref_common.c:convert_to_trans_prec 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: allintra_vis.c:convert_to_trans_prec Unexecuted instantiation: av1_fwd_txfm2d.c:convert_to_trans_prec Unexecuted instantiation: compound_type.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: 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: hybrid_fwd_txfm.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: partition_search.c:convert_to_trans_prec Unexecuted instantiation: partition_strategy.c:convert_to_trans_prec Unexecuted instantiation: ransac.c:convert_to_trans_prec Unexecuted instantiation: nonrd_pickmode.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: subtract.c:convert_to_trans_prec Unexecuted instantiation: fwd_txfm.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: cnn.c:convert_to_trans_prec Unexecuted instantiation: corner_match.c:convert_to_trans_prec Unexecuted instantiation: av1_inv_txfm1d.c:convert_to_trans_prec |
229 | 0 | static INLINE void integer_mv_precision(MV *mv) { |
230 | 0 | int mod = (mv->row % 8); |
231 | 0 | if (mod != 0) { |
232 | 0 | mv->row -= mod; |
233 | 0 | if (abs(mod) > 4) { |
234 | 0 | if (mod > 0) { |
235 | 0 | mv->row += 8; |
236 | 0 | } else { |
237 | 0 | mv->row -= 8; |
238 | 0 | } |
239 | 0 | } |
240 | 0 | } |
241 | |
|
242 | 0 | mod = (mv->col % 8); |
243 | 0 | if (mod != 0) { |
244 | 0 | mv->col -= mod; |
245 | 0 | if (abs(mod) > 4) { |
246 | 0 | if (mod > 0) { |
247 | 0 | mv->col += 8; |
248 | 0 | } else { |
249 | 0 | mv->col -= 8; |
250 | 0 | } |
251 | 0 | } |
252 | 0 | } |
253 | 0 | } Unexecuted instantiation: av1_dx_iface.c:integer_mv_precision Unexecuted instantiation: decodeframe.c:integer_mv_precision Unexecuted instantiation: decodemv.c:integer_mv_precision 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: av1_quantize.c:integer_mv_precision Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:integer_mv_precision Unexecuted instantiation: psnr.c:integer_mv_precision Unexecuted instantiation: sad.c:integer_mv_precision Unexecuted instantiation: sad_av1.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: 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 Unexecuted instantiation: mvref_common.c:integer_mv_precision 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: allintra_vis.c:integer_mv_precision Unexecuted instantiation: av1_fwd_txfm2d.c:integer_mv_precision Unexecuted instantiation: compound_type.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: encode_strategy.c:integer_mv_precision Unexecuted instantiation: global_motion.c:integer_mv_precision Unexecuted instantiation: gop_structure.c:integer_mv_precision Unexecuted instantiation: hybrid_fwd_txfm.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: partition_search.c:integer_mv_precision Unexecuted instantiation: partition_strategy.c:integer_mv_precision Unexecuted instantiation: ransac.c:integer_mv_precision Unexecuted instantiation: nonrd_pickmode.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: subtract.c:integer_mv_precision Unexecuted instantiation: fwd_txfm.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: cnn.c:integer_mv_precision Unexecuted instantiation: corner_match.c:integer_mv_precision Unexecuted instantiation: av1_inv_txfm1d.c:integer_mv_precision |
254 | | // Convert a global motion vector into a motion vector at the centre of the |
255 | | // given block. |
256 | | // |
257 | | // The resulting motion vector will have three fractional bits of precision. If |
258 | | // allow_hp is zero, the bottom bit will always be zero. If CONFIG_AMVR and |
259 | | // is_integer is true, the bottom three bits will be zero (so the motion vector |
260 | | // represents an integer) |
261 | | static INLINE int_mv gm_get_motion_vector(const WarpedMotionParams *gm, |
262 | | int allow_hp, BLOCK_SIZE bsize, |
263 | | int mi_col, int mi_row, |
264 | 0 | int is_integer) { |
265 | 0 | int_mv res; |
266 | |
|
267 | 0 | if (gm->wmtype == IDENTITY) { |
268 | 0 | res.as_int = 0; |
269 | 0 | return res; |
270 | 0 | } |
271 | | |
272 | 0 | const int32_t *mat = gm->wmmat; |
273 | 0 | int x, y, tx, ty; |
274 | |
|
275 | 0 | if (gm->wmtype == TRANSLATION) { |
276 | | // All global motion vectors are stored with WARPEDMODEL_PREC_BITS (16) |
277 | | // bits of fractional precision. The offset for a translation is stored in |
278 | | // entries 0 and 1. For translations, all but the top three (two if |
279 | | // cm->features.allow_high_precision_mv is false) fractional bits are always |
280 | | // zero. |
281 | | // |
282 | | // After the right shifts, there are 3 fractional bits of precision. If |
283 | | // allow_hp is false, the bottom bit is always zero (so we don't need a |
284 | | // call to convert_to_trans_prec here) |
285 | 0 | res.as_mv.row = gm->wmmat[0] >> GM_TRANS_ONLY_PREC_DIFF; |
286 | 0 | res.as_mv.col = gm->wmmat[1] >> GM_TRANS_ONLY_PREC_DIFF; |
287 | 0 | assert(IMPLIES(1 & (res.as_mv.row | res.as_mv.col), allow_hp)); |
288 | 0 | if (is_integer) { |
289 | 0 | integer_mv_precision(&res.as_mv); |
290 | 0 | } |
291 | 0 | return res; |
292 | 0 | } |
293 | | |
294 | 0 | x = block_center_x(mi_col, bsize); |
295 | 0 | y = block_center_y(mi_row, bsize); |
296 | |
|
297 | 0 | if (gm->wmtype == ROTZOOM) { |
298 | 0 | assert(gm->wmmat[5] == gm->wmmat[2]); |
299 | 0 | assert(gm->wmmat[4] == -gm->wmmat[3]); |
300 | 0 | } |
301 | |
|
302 | 0 | const int xc = |
303 | 0 | (mat[2] - (1 << WARPEDMODEL_PREC_BITS)) * x + mat[3] * y + mat[0]; |
304 | 0 | const int yc = |
305 | 0 | mat[4] * x + (mat[5] - (1 << WARPEDMODEL_PREC_BITS)) * y + mat[1]; |
306 | 0 | tx = convert_to_trans_prec(allow_hp, xc); |
307 | 0 | ty = convert_to_trans_prec(allow_hp, yc); |
308 | |
|
309 | 0 | res.as_mv.row = ty; |
310 | 0 | res.as_mv.col = tx; |
311 | |
|
312 | 0 | if (is_integer) { |
313 | 0 | integer_mv_precision(&res.as_mv); |
314 | 0 | } |
315 | 0 | return res; |
316 | 0 | } Unexecuted instantiation: av1_dx_iface.c:gm_get_motion_vector Unexecuted instantiation: decodeframe.c:gm_get_motion_vector Unexecuted instantiation: decodemv.c:gm_get_motion_vector 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: av1_quantize.c:gm_get_motion_vector Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:gm_get_motion_vector Unexecuted instantiation: psnr.c:gm_get_motion_vector Unexecuted instantiation: sad.c:gm_get_motion_vector Unexecuted instantiation: sad_av1.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: 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 Unexecuted instantiation: mvref_common.c:gm_get_motion_vector 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: allintra_vis.c:gm_get_motion_vector Unexecuted instantiation: av1_fwd_txfm2d.c:gm_get_motion_vector Unexecuted instantiation: compound_type.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: 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: hybrid_fwd_txfm.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: partition_search.c:gm_get_motion_vector Unexecuted instantiation: partition_strategy.c:gm_get_motion_vector Unexecuted instantiation: ransac.c:gm_get_motion_vector Unexecuted instantiation: nonrd_pickmode.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: subtract.c:gm_get_motion_vector Unexecuted instantiation: fwd_txfm.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: cnn.c:gm_get_motion_vector Unexecuted instantiation: corner_match.c:gm_get_motion_vector Unexecuted instantiation: av1_inv_txfm1d.c:gm_get_motion_vector |
317 | | |
318 | 0 | static INLINE TransformationType get_wmtype(const WarpedMotionParams *gm) { |
319 | 0 | if (gm->wmmat[5] == (1 << WARPEDMODEL_PREC_BITS) && !gm->wmmat[4] && |
320 | 0 | gm->wmmat[2] == (1 << WARPEDMODEL_PREC_BITS) && !gm->wmmat[3]) { |
321 | 0 | return ((!gm->wmmat[1] && !gm->wmmat[0]) ? IDENTITY : TRANSLATION); |
322 | 0 | } |
323 | 0 | if (gm->wmmat[2] == gm->wmmat[5] && gm->wmmat[3] == -gm->wmmat[4]) |
324 | 0 | return ROTZOOM; |
325 | 0 | else |
326 | 0 | return AFFINE; |
327 | 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: av1_quantize.c:get_wmtype Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:get_wmtype Unexecuted instantiation: psnr.c:get_wmtype Unexecuted instantiation: sad.c:get_wmtype Unexecuted instantiation: sad_av1.c:get_wmtype Unexecuted instantiation: sse.c:get_wmtype Unexecuted instantiation: sum_squares.c:get_wmtype Unexecuted instantiation: variance.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: allintra_vis.c:get_wmtype Unexecuted instantiation: av1_fwd_txfm2d.c:get_wmtype Unexecuted instantiation: compound_type.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: encode_strategy.c:get_wmtype Unexecuted instantiation: global_motion.c:get_wmtype Unexecuted instantiation: gop_structure.c:get_wmtype Unexecuted instantiation: hybrid_fwd_txfm.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: partition_search.c:get_wmtype Unexecuted instantiation: partition_strategy.c:get_wmtype Unexecuted instantiation: ransac.c:get_wmtype Unexecuted instantiation: nonrd_pickmode.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: subtract.c:get_wmtype Unexecuted instantiation: fwd_txfm.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: cnn.c:get_wmtype Unexecuted instantiation: corner_match.c:get_wmtype Unexecuted instantiation: av1_inv_txfm1d.c:get_wmtype |
328 | | |
329 | | typedef struct candidate_mv { |
330 | | int_mv this_mv; |
331 | | int_mv comp_mv; |
332 | | } CANDIDATE_MV; |
333 | | |
334 | 0 | static INLINE int is_zero_mv(const MV *mv) { |
335 | 0 | return *((const uint32_t *)mv) == 0; |
336 | 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: av1_quantize.c:is_zero_mv Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:is_zero_mv Unexecuted instantiation: psnr.c:is_zero_mv Unexecuted instantiation: sad.c:is_zero_mv Unexecuted instantiation: sad_av1.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: 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: allintra_vis.c:is_zero_mv Unexecuted instantiation: av1_fwd_txfm2d.c:is_zero_mv Unexecuted instantiation: compound_type.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: encode_strategy.c:is_zero_mv Unexecuted instantiation: global_motion.c:is_zero_mv Unexecuted instantiation: gop_structure.c:is_zero_mv Unexecuted instantiation: hybrid_fwd_txfm.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: partition_search.c:is_zero_mv Unexecuted instantiation: partition_strategy.c:is_zero_mv Unexecuted instantiation: ransac.c:is_zero_mv Unexecuted instantiation: nonrd_pickmode.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: subtract.c:is_zero_mv Unexecuted instantiation: fwd_txfm.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: cnn.c:is_zero_mv Unexecuted instantiation: corner_match.c:is_zero_mv Unexecuted instantiation: av1_inv_txfm1d.c:is_zero_mv |
337 | | |
338 | 0 | static INLINE int is_equal_mv(const MV *a, const MV *b) { |
339 | 0 | return *((const uint32_t *)a) == *((const uint32_t *)b); |
340 | 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: av1_quantize.c:is_equal_mv Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:is_equal_mv Unexecuted instantiation: psnr.c:is_equal_mv Unexecuted instantiation: sad.c:is_equal_mv Unexecuted instantiation: sad_av1.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: 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: allintra_vis.c:is_equal_mv Unexecuted instantiation: av1_fwd_txfm2d.c:is_equal_mv Unexecuted instantiation: compound_type.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: encode_strategy.c:is_equal_mv Unexecuted instantiation: global_motion.c:is_equal_mv Unexecuted instantiation: gop_structure.c:is_equal_mv Unexecuted instantiation: hybrid_fwd_txfm.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: partition_search.c:is_equal_mv Unexecuted instantiation: partition_strategy.c:is_equal_mv Unexecuted instantiation: ransac.c:is_equal_mv Unexecuted instantiation: nonrd_pickmode.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: subtract.c:is_equal_mv Unexecuted instantiation: fwd_txfm.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: cnn.c:is_equal_mv Unexecuted instantiation: corner_match.c:is_equal_mv Unexecuted instantiation: av1_inv_txfm1d.c:is_equal_mv |
341 | | |
342 | 29.5k | static INLINE void clamp_mv(MV *mv, const SubpelMvLimits *mv_limits) { |
343 | 29.5k | mv->col = clamp(mv->col, mv_limits->col_min, mv_limits->col_max); |
344 | 29.5k | mv->row = clamp(mv->row, mv_limits->row_min, mv_limits->row_max); |
345 | 29.5k | } Unexecuted instantiation: av1_dx_iface.c:clamp_mv Line | Count | Source | 342 | 24.6k | static INLINE void clamp_mv(MV *mv, const SubpelMvLimits *mv_limits) { | 343 | 24.6k | mv->col = clamp(mv->col, mv_limits->col_min, mv_limits->col_max); | 344 | 24.6k | mv->row = clamp(mv->row, mv_limits->row_min, mv_limits->row_max); | 345 | 24.6k | } |
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: av1_quantize.c:clamp_mv Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:clamp_mv Unexecuted instantiation: psnr.c:clamp_mv Unexecuted instantiation: sad.c:clamp_mv Unexecuted instantiation: sad_av1.c:clamp_mv Unexecuted instantiation: sse.c:clamp_mv Unexecuted instantiation: sum_squares.c:clamp_mv Unexecuted instantiation: variance.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 Line | Count | Source | 342 | 4.87k | static INLINE void clamp_mv(MV *mv, const SubpelMvLimits *mv_limits) { | 343 | 4.87k | mv->col = clamp(mv->col, mv_limits->col_min, mv_limits->col_max); | 344 | 4.87k | mv->row = clamp(mv->row, mv_limits->row_min, mv_limits->row_max); | 345 | 4.87k | } |
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: allintra_vis.c:clamp_mv Unexecuted instantiation: av1_fwd_txfm2d.c:clamp_mv Unexecuted instantiation: compound_type.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: encode_strategy.c:clamp_mv Unexecuted instantiation: global_motion.c:clamp_mv Unexecuted instantiation: gop_structure.c:clamp_mv Unexecuted instantiation: hybrid_fwd_txfm.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: partition_search.c:clamp_mv Unexecuted instantiation: partition_strategy.c:clamp_mv Unexecuted instantiation: ransac.c:clamp_mv Unexecuted instantiation: nonrd_pickmode.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: subtract.c:clamp_mv Unexecuted instantiation: fwd_txfm.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: cnn.c:clamp_mv Unexecuted instantiation: corner_match.c:clamp_mv Unexecuted instantiation: av1_inv_txfm1d.c:clamp_mv |
346 | | |
347 | 0 | static INLINE void clamp_fullmv(FULLPEL_MV *mv, const FullMvLimits *mv_limits) { |
348 | 0 | mv->col = clamp(mv->col, mv_limits->col_min, mv_limits->col_max); |
349 | 0 | mv->row = clamp(mv->row, mv_limits->row_min, mv_limits->row_max); |
350 | 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: av1_quantize.c:clamp_fullmv Unexecuted instantiation: bitstream.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_motion.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: 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: 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: thirdpass.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: noise_util.c:clamp_fullmv Unexecuted instantiation: psnr.c:clamp_fullmv Unexecuted instantiation: sad.c:clamp_fullmv Unexecuted instantiation: sad_av1.c:clamp_fullmv Unexecuted instantiation: sse.c:clamp_fullmv Unexecuted instantiation: sum_squares.c:clamp_fullmv Unexecuted instantiation: variance.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: allintra_vis.c:clamp_fullmv Unexecuted instantiation: av1_fwd_txfm2d.c:clamp_fullmv Unexecuted instantiation: compound_type.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: encode_strategy.c:clamp_fullmv Unexecuted instantiation: global_motion.c:clamp_fullmv Unexecuted instantiation: gop_structure.c:clamp_fullmv Unexecuted instantiation: hybrid_fwd_txfm.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: partition_search.c:clamp_fullmv Unexecuted instantiation: partition_strategy.c:clamp_fullmv Unexecuted instantiation: ransac.c:clamp_fullmv Unexecuted instantiation: nonrd_pickmode.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: subtract.c:clamp_fullmv Unexecuted instantiation: fwd_txfm.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: cnn.c:clamp_fullmv Unexecuted instantiation: corner_match.c:clamp_fullmv Unexecuted instantiation: av1_inv_txfm1d.c:clamp_fullmv |
351 | | |
352 | | #ifdef __cplusplus |
353 | | } // extern "C" |
354 | | #endif |
355 | | |
356 | | #endif // AOM_AV1_COMMON_MV_H_ |