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 | | #include "aom_dsp/flow_estimation/flow_estimation.h" |
21 | | |
22 | | #ifdef __cplusplus |
23 | | extern "C" { |
24 | | #endif |
25 | | |
26 | 74.3M | #define INVALID_MV 0x80008000 |
27 | | #define INVALID_MV_ROW_COL -32768 |
28 | | #define GET_MV_RAWPEL(x) (((x) + 3 + ((x) >= 0)) >> 3) |
29 | 160M | #define GET_MV_SUBPEL(x) ((x)*8) |
30 | | |
31 | | #define MARK_MV_INVALID(mv) \ |
32 | | do { \ |
33 | | ((int_mv *)(mv))->as_int = INVALID_MV; \ |
34 | | } while (0) |
35 | | #define CHECK_MV_EQUAL(x, y) (((x).row == (y).row) && ((x).col == (y).col)) |
36 | | |
37 | | // The motion vector in units of full pixel |
38 | | typedef struct fullpel_mv { |
39 | | int16_t row; |
40 | | int16_t col; |
41 | | } FULLPEL_MV; |
42 | | |
43 | | // The motion vector in units of 1/8-pel |
44 | | typedef struct mv { |
45 | | int16_t row; |
46 | | int16_t col; |
47 | | } MV; |
48 | | |
49 | | static const MV kZeroMv = { 0, 0 }; |
50 | | static const FULLPEL_MV kZeroFullMv = { 0, 0 }; |
51 | | |
52 | | typedef union int_mv { |
53 | | uint32_t as_int; |
54 | | MV as_mv; |
55 | | FULLPEL_MV as_fullmv; |
56 | | } int_mv; /* facilitates faster equality tests and copies */ |
57 | | |
58 | | typedef struct mv32 { |
59 | | int32_t row; |
60 | | int32_t col; |
61 | | } MV32; |
62 | | |
63 | | // The mv limit for fullpel mvs |
64 | | typedef struct { |
65 | | int col_min; |
66 | | int col_max; |
67 | | int row_min; |
68 | | int row_max; |
69 | | } FullMvLimits; |
70 | | |
71 | | // The mv limit for subpel mvs |
72 | | typedef struct { |
73 | | int col_min; |
74 | | int col_max; |
75 | | int row_min; |
76 | | int row_max; |
77 | | } SubpelMvLimits; |
78 | | |
79 | 0 | static inline FULLPEL_MV get_fullmv_from_mv(const MV *subpel_mv) { |
80 | 0 | const FULLPEL_MV full_mv = { (int16_t)GET_MV_RAWPEL(subpel_mv->row), |
81 | 0 | (int16_t)GET_MV_RAWPEL(subpel_mv->col) }; |
82 | 0 | return full_mv; |
83 | 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: 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_hmask.c:get_fullmv_from_mv Unexecuted instantiation: blend_a64_mask.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: aom_convolve_copy_sse2.c:get_fullmv_from_mv Unexecuted instantiation: intrapred_sse2.c:get_fullmv_from_mv Unexecuted instantiation: loopfilter_sse2.c:get_fullmv_from_mv Unexecuted instantiation: highbd_convolve_sse2.c:get_fullmv_from_mv Unexecuted instantiation: highbd_loopfilter_sse2.c:get_fullmv_from_mv Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:get_fullmv_from_mv Unexecuted instantiation: intrapred_ssse3.c:get_fullmv_from_mv Unexecuted instantiation: highbd_convolve_ssse3.c:get_fullmv_from_mv Unexecuted instantiation: blend_a64_hmask_sse4.c:get_fullmv_from_mv Unexecuted instantiation: blend_a64_mask_sse4.c:get_fullmv_from_mv Unexecuted instantiation: blend_a64_vmask_sse4.c:get_fullmv_from_mv Unexecuted instantiation: intrapred_sse4.c:get_fullmv_from_mv Unexecuted instantiation: aom_convolve_copy_avx2.c:get_fullmv_from_mv Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:get_fullmv_from_mv Unexecuted instantiation: intrapred_avx2.c:get_fullmv_from_mv Unexecuted instantiation: loopfilter_avx2.c:get_fullmv_from_mv Unexecuted instantiation: blend_a64_mask_avx2.c:get_fullmv_from_mv Unexecuted instantiation: highbd_convolve_avx2.c:get_fullmv_from_mv Unexecuted instantiation: highbd_loopfilter_avx2.c:get_fullmv_from_mv Unexecuted instantiation: alloccommon.c:get_fullmv_from_mv Unexecuted instantiation: av1_inv_txfm2d.c:get_fullmv_from_mv Unexecuted instantiation: av1_loopfilter.c:get_fullmv_from_mv Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:get_fullmv_from_mv Unexecuted instantiation: convolve_2d_sse2.c:get_fullmv_from_mv Unexecuted instantiation: convolve_sse2.c:get_fullmv_from_mv Unexecuted instantiation: jnt_convolve_sse2.c:get_fullmv_from_mv Unexecuted instantiation: resize_sse2.c:get_fullmv_from_mv Unexecuted instantiation: wiener_convolve_sse2.c:get_fullmv_from_mv Unexecuted instantiation: av1_inv_txfm_ssse3.c:get_fullmv_from_mv Unexecuted instantiation: cfl_ssse3.c:get_fullmv_from_mv Unexecuted instantiation: jnt_convolve_ssse3.c:get_fullmv_from_mv Unexecuted instantiation: resize_ssse3.c:get_fullmv_from_mv Unexecuted instantiation: highbd_convolve_2d_ssse3.c:get_fullmv_from_mv Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:get_fullmv_from_mv Unexecuted instantiation: reconinter_ssse3.c:get_fullmv_from_mv Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:get_fullmv_from_mv Unexecuted instantiation: av1_convolve_scale_sse4.c:get_fullmv_from_mv Unexecuted instantiation: av1_txfm_sse4.c:get_fullmv_from_mv Unexecuted instantiation: cdef_block_sse4.c:get_fullmv_from_mv Unexecuted instantiation: filterintra_sse4.c:get_fullmv_from_mv Unexecuted instantiation: highbd_inv_txfm_sse4.c:get_fullmv_from_mv Unexecuted instantiation: intra_edge_sse4.c:get_fullmv_from_mv Unexecuted instantiation: reconinter_sse4.c:get_fullmv_from_mv Unexecuted instantiation: selfguided_sse4.c:get_fullmv_from_mv Unexecuted instantiation: warp_plane_sse4.c:get_fullmv_from_mv Unexecuted instantiation: highbd_convolve_2d_sse4.c:get_fullmv_from_mv Unexecuted instantiation: highbd_jnt_convolve_sse4.c:get_fullmv_from_mv Unexecuted instantiation: highbd_warp_plane_sse4.c:get_fullmv_from_mv Unexecuted instantiation: av1_inv_txfm_avx2.c:get_fullmv_from_mv Unexecuted instantiation: cdef_block_avx2.c:get_fullmv_from_mv Unexecuted instantiation: cfl_avx2.c:get_fullmv_from_mv Unexecuted instantiation: convolve_2d_avx2.c:get_fullmv_from_mv Unexecuted instantiation: convolve_avx2.c:get_fullmv_from_mv Unexecuted instantiation: highbd_inv_txfm_avx2.c:get_fullmv_from_mv Unexecuted instantiation: jnt_convolve_avx2.c:get_fullmv_from_mv Unexecuted instantiation: reconinter_avx2.c:get_fullmv_from_mv Unexecuted instantiation: resize_avx2.c:get_fullmv_from_mv Unexecuted instantiation: selfguided_avx2.c:get_fullmv_from_mv Unexecuted instantiation: warp_plane_avx2.c:get_fullmv_from_mv Unexecuted instantiation: wiener_convolve_avx2.c:get_fullmv_from_mv Unexecuted instantiation: highbd_convolve_2d_avx2.c:get_fullmv_from_mv Unexecuted instantiation: highbd_jnt_convolve_avx2.c:get_fullmv_from_mv Unexecuted instantiation: highbd_wiener_convolve_avx2.c:get_fullmv_from_mv Unexecuted instantiation: highbd_warp_affine_avx2.c:get_fullmv_from_mv Unexecuted instantiation: highbd_intrapred_sse2.c:get_fullmv_from_mv Unexecuted instantiation: av1_inv_txfm1d.c:get_fullmv_from_mv |
84 | | |
85 | 27.8k | static inline MV get_mv_from_fullmv(const FULLPEL_MV *full_mv) { |
86 | 27.8k | const MV subpel_mv = { (int16_t)GET_MV_SUBPEL(full_mv->row), |
87 | 27.8k | (int16_t)GET_MV_SUBPEL(full_mv->col) }; |
88 | 27.8k | return subpel_mv; |
89 | 27.8k | } 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 | 85 | 27.8k | static inline MV get_mv_from_fullmv(const FULLPEL_MV *full_mv) { | 86 | 27.8k | const MV subpel_mv = { (int16_t)GET_MV_SUBPEL(full_mv->row), | 87 | 27.8k | (int16_t)GET_MV_SUBPEL(full_mv->col) }; | 88 | 27.8k | return subpel_mv; | 89 | 27.8k | } |
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: 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_hmask.c:get_mv_from_fullmv Unexecuted instantiation: blend_a64_mask.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: aom_convolve_copy_sse2.c:get_mv_from_fullmv Unexecuted instantiation: intrapred_sse2.c:get_mv_from_fullmv Unexecuted instantiation: loopfilter_sse2.c:get_mv_from_fullmv Unexecuted instantiation: highbd_convolve_sse2.c:get_mv_from_fullmv Unexecuted instantiation: highbd_loopfilter_sse2.c:get_mv_from_fullmv Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:get_mv_from_fullmv Unexecuted instantiation: intrapred_ssse3.c:get_mv_from_fullmv Unexecuted instantiation: highbd_convolve_ssse3.c:get_mv_from_fullmv Unexecuted instantiation: blend_a64_hmask_sse4.c:get_mv_from_fullmv Unexecuted instantiation: blend_a64_mask_sse4.c:get_mv_from_fullmv Unexecuted instantiation: blend_a64_vmask_sse4.c:get_mv_from_fullmv Unexecuted instantiation: intrapred_sse4.c:get_mv_from_fullmv Unexecuted instantiation: aom_convolve_copy_avx2.c:get_mv_from_fullmv Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:get_mv_from_fullmv Unexecuted instantiation: intrapred_avx2.c:get_mv_from_fullmv Unexecuted instantiation: loopfilter_avx2.c:get_mv_from_fullmv Unexecuted instantiation: blend_a64_mask_avx2.c:get_mv_from_fullmv Unexecuted instantiation: highbd_convolve_avx2.c:get_mv_from_fullmv Unexecuted instantiation: highbd_loopfilter_avx2.c:get_mv_from_fullmv Unexecuted instantiation: alloccommon.c:get_mv_from_fullmv Unexecuted instantiation: av1_inv_txfm2d.c:get_mv_from_fullmv Unexecuted instantiation: av1_loopfilter.c:get_mv_from_fullmv Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:get_mv_from_fullmv Unexecuted instantiation: convolve_2d_sse2.c:get_mv_from_fullmv Unexecuted instantiation: convolve_sse2.c:get_mv_from_fullmv Unexecuted instantiation: jnt_convolve_sse2.c:get_mv_from_fullmv Unexecuted instantiation: resize_sse2.c:get_mv_from_fullmv Unexecuted instantiation: wiener_convolve_sse2.c:get_mv_from_fullmv Unexecuted instantiation: av1_inv_txfm_ssse3.c:get_mv_from_fullmv Unexecuted instantiation: cfl_ssse3.c:get_mv_from_fullmv Unexecuted instantiation: jnt_convolve_ssse3.c:get_mv_from_fullmv Unexecuted instantiation: resize_ssse3.c:get_mv_from_fullmv Unexecuted instantiation: highbd_convolve_2d_ssse3.c:get_mv_from_fullmv Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:get_mv_from_fullmv Unexecuted instantiation: reconinter_ssse3.c:get_mv_from_fullmv Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:get_mv_from_fullmv Unexecuted instantiation: av1_convolve_scale_sse4.c:get_mv_from_fullmv Unexecuted instantiation: av1_txfm_sse4.c:get_mv_from_fullmv Unexecuted instantiation: cdef_block_sse4.c:get_mv_from_fullmv Unexecuted instantiation: filterintra_sse4.c:get_mv_from_fullmv Unexecuted instantiation: highbd_inv_txfm_sse4.c:get_mv_from_fullmv Unexecuted instantiation: intra_edge_sse4.c:get_mv_from_fullmv Unexecuted instantiation: reconinter_sse4.c:get_mv_from_fullmv Unexecuted instantiation: selfguided_sse4.c:get_mv_from_fullmv Unexecuted instantiation: warp_plane_sse4.c:get_mv_from_fullmv Unexecuted instantiation: highbd_convolve_2d_sse4.c:get_mv_from_fullmv Unexecuted instantiation: highbd_jnt_convolve_sse4.c:get_mv_from_fullmv Unexecuted instantiation: highbd_warp_plane_sse4.c:get_mv_from_fullmv Unexecuted instantiation: av1_inv_txfm_avx2.c:get_mv_from_fullmv Unexecuted instantiation: cdef_block_avx2.c:get_mv_from_fullmv Unexecuted instantiation: cfl_avx2.c:get_mv_from_fullmv Unexecuted instantiation: convolve_2d_avx2.c:get_mv_from_fullmv Unexecuted instantiation: convolve_avx2.c:get_mv_from_fullmv Unexecuted instantiation: highbd_inv_txfm_avx2.c:get_mv_from_fullmv Unexecuted instantiation: jnt_convolve_avx2.c:get_mv_from_fullmv Unexecuted instantiation: reconinter_avx2.c:get_mv_from_fullmv Unexecuted instantiation: resize_avx2.c:get_mv_from_fullmv Unexecuted instantiation: selfguided_avx2.c:get_mv_from_fullmv Unexecuted instantiation: warp_plane_avx2.c:get_mv_from_fullmv Unexecuted instantiation: wiener_convolve_avx2.c:get_mv_from_fullmv Unexecuted instantiation: highbd_convolve_2d_avx2.c:get_mv_from_fullmv Unexecuted instantiation: highbd_jnt_convolve_avx2.c:get_mv_from_fullmv Unexecuted instantiation: highbd_wiener_convolve_avx2.c:get_mv_from_fullmv Unexecuted instantiation: highbd_warp_affine_avx2.c:get_mv_from_fullmv Unexecuted instantiation: highbd_intrapred_sse2.c:get_mv_from_fullmv Unexecuted instantiation: av1_inv_txfm1d.c:get_mv_from_fullmv |
90 | | |
91 | 27.8k | static inline void convert_fullmv_to_mv(int_mv *mv) { |
92 | 27.8k | mv->as_mv = get_mv_from_fullmv(&mv->as_fullmv); |
93 | 27.8k | } 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 | 91 | 27.8k | static inline void convert_fullmv_to_mv(int_mv *mv) { | 92 | 27.8k | mv->as_mv = get_mv_from_fullmv(&mv->as_fullmv); | 93 | 27.8k | } |
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: 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_hmask.c:convert_fullmv_to_mv Unexecuted instantiation: blend_a64_mask.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: aom_convolve_copy_sse2.c:convert_fullmv_to_mv Unexecuted instantiation: intrapred_sse2.c:convert_fullmv_to_mv Unexecuted instantiation: loopfilter_sse2.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_convolve_sse2.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_loopfilter_sse2.c:convert_fullmv_to_mv Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:convert_fullmv_to_mv Unexecuted instantiation: intrapred_ssse3.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_convolve_ssse3.c:convert_fullmv_to_mv Unexecuted instantiation: blend_a64_hmask_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: blend_a64_mask_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: blend_a64_vmask_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: intrapred_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: aom_convolve_copy_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: intrapred_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: loopfilter_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: blend_a64_mask_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_convolve_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_loopfilter_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: alloccommon.c:convert_fullmv_to_mv Unexecuted instantiation: av1_inv_txfm2d.c:convert_fullmv_to_mv Unexecuted instantiation: av1_loopfilter.c:convert_fullmv_to_mv Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:convert_fullmv_to_mv Unexecuted instantiation: convolve_2d_sse2.c:convert_fullmv_to_mv Unexecuted instantiation: convolve_sse2.c:convert_fullmv_to_mv Unexecuted instantiation: jnt_convolve_sse2.c:convert_fullmv_to_mv Unexecuted instantiation: resize_sse2.c:convert_fullmv_to_mv Unexecuted instantiation: wiener_convolve_sse2.c:convert_fullmv_to_mv Unexecuted instantiation: av1_inv_txfm_ssse3.c:convert_fullmv_to_mv Unexecuted instantiation: cfl_ssse3.c:convert_fullmv_to_mv Unexecuted instantiation: jnt_convolve_ssse3.c:convert_fullmv_to_mv Unexecuted instantiation: resize_ssse3.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_convolve_2d_ssse3.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:convert_fullmv_to_mv Unexecuted instantiation: reconinter_ssse3.c:convert_fullmv_to_mv Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: av1_convolve_scale_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: av1_txfm_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: cdef_block_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: filterintra_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_inv_txfm_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: intra_edge_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: reconinter_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: selfguided_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: warp_plane_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_convolve_2d_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_jnt_convolve_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_warp_plane_sse4.c:convert_fullmv_to_mv Unexecuted instantiation: av1_inv_txfm_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: cdef_block_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: cfl_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: convolve_2d_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: convolve_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_inv_txfm_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: jnt_convolve_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: reconinter_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: resize_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: selfguided_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: warp_plane_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: wiener_convolve_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_convolve_2d_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_jnt_convolve_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_wiener_convolve_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_warp_affine_avx2.c:convert_fullmv_to_mv Unexecuted instantiation: highbd_intrapred_sse2.c:convert_fullmv_to_mv Unexecuted instantiation: av1_inv_txfm1d.c:convert_fullmv_to_mv |
94 | | |
95 | | // Bits of precision used for the model |
96 | 199M | #define WARPEDMODEL_PREC_BITS 16 |
97 | | |
98 | 1.10M | #define WARPEDMODEL_TRANS_CLAMP (128 << WARPEDMODEL_PREC_BITS) |
99 | 2.20M | #define WARPEDMODEL_NONDIAGAFFINE_CLAMP (1 << (WARPEDMODEL_PREC_BITS - 3)) |
100 | | |
101 | | // Bits of subpel precision for warped interpolation |
102 | 176M | #define WARPEDPIXEL_PREC_BITS 6 |
103 | 4.56M | #define WARPEDPIXEL_PREC_SHIFTS (1 << WARPEDPIXEL_PREC_BITS) |
104 | | |
105 | 6.69M | #define WARP_PARAM_REDUCE_BITS 6 |
106 | | |
107 | 171M | #define WARPEDDIFF_PREC_BITS (WARPEDMODEL_PREC_BITS - WARPEDPIXEL_PREC_BITS) |
108 | | |
109 | | typedef struct { |
110 | | int global_warp_allowed; |
111 | | int local_warp_allowed; |
112 | | } WarpTypesAllowed; |
113 | | |
114 | | // The order of values in the wmmat matrix below is best described |
115 | | // by the affine transformation: |
116 | | // [x' (m2 m3 m0 [x |
117 | | // z . y' = m4 m5 m1 * y |
118 | | // 1] 0 0 1) 1] |
119 | | typedef struct { |
120 | | int32_t wmmat[MAX_PARAMDIM]; |
121 | | int16_t alpha, beta, gamma, delta; |
122 | | TransformationType wmtype; |
123 | | int8_t invalid; |
124 | | } WarpedMotionParams; |
125 | | |
126 | | /* clang-format off */ |
127 | | static const WarpedMotionParams default_warp_params = { |
128 | | { 0, 0, (1 << WARPEDMODEL_PREC_BITS), 0, 0, (1 << WARPEDMODEL_PREC_BITS) }, |
129 | | 0, 0, 0, 0, |
130 | | IDENTITY, |
131 | | 0, |
132 | | }; |
133 | | /* clang-format on */ |
134 | | |
135 | | // The following constants describe the various precisions |
136 | | // of different parameters in the global motion experiment. |
137 | | // |
138 | | // Given the general homography: |
139 | | // [x' (a b c [x |
140 | | // z . y' = d e f * y |
141 | | // 1] g h i) 1] |
142 | | // |
143 | | // Constants using the name ALPHA here are related to parameters |
144 | | // a, b, d, e. Constants using the name TRANS are related |
145 | | // to parameters c and f. |
146 | | // |
147 | | // Anything ending in PREC_BITS is the number of bits of precision |
148 | | // to maintain when converting from double to integer. |
149 | | // |
150 | | // The ABS parameters are used to create an upper and lower bound |
151 | | // for each parameter. In other words, after a parameter is integerized |
152 | | // it is clamped between -(1 << ABS_XXX_BITS) and (1 << ABS_XXX_BITS). |
153 | | // |
154 | | // XXX_PREC_DIFF and XXX_DECODE_FACTOR |
155 | | // are computed once here to prevent repetitive |
156 | | // computation on the decoder side. These are |
157 | | // to allow the global motion parameters to be encoded in a lower |
158 | | // precision than the warped model precision. This means that they |
159 | | // need to be changed to warped precision when they are decoded. |
160 | | // |
161 | | // XX_MIN, XX_MAX are also computed to avoid repeated computation |
162 | | |
163 | 116k | #define SUBEXPFIN_K 3 |
164 | 52.0k | #define GM_TRANS_PREC_BITS 6 |
165 | 27.6k | #define GM_ABS_TRANS_BITS 12 |
166 | 3.27k | #define GM_ABS_TRANS_ONLY_BITS (GM_ABS_TRANS_BITS - GM_TRANS_PREC_BITS + 3) |
167 | 48.7k | #define GM_TRANS_PREC_DIFF (WARPEDMODEL_PREC_BITS - GM_TRANS_PREC_BITS) |
168 | 399k | #define GM_TRANS_ONLY_PREC_DIFF (WARPEDMODEL_PREC_BITS - 3) |
169 | 24.3k | #define GM_TRANS_DECODE_FACTOR (1 << GM_TRANS_PREC_DIFF) |
170 | 3.27k | #define GM_TRANS_ONLY_DECODE_FACTOR (1 << GM_TRANS_ONLY_PREC_DIFF) |
171 | | |
172 | 152k | #define GM_ALPHA_PREC_BITS 15 |
173 | 61.1k | #define GM_ABS_ALPHA_BITS 12 |
174 | 122k | #define GM_ALPHA_PREC_DIFF (WARPEDMODEL_PREC_BITS - GM_ALPHA_PREC_BITS) |
175 | 61.1k | #define GM_ALPHA_DECODE_FACTOR (1 << GM_ALPHA_PREC_DIFF) |
176 | | |
177 | | #define GM_TRANS_MAX (1 << GM_ABS_TRANS_BITS) |
178 | 61.1k | #define GM_ALPHA_MAX (1 << GM_ABS_ALPHA_BITS) |
179 | | |
180 | | #define GM_TRANS_MIN -GM_TRANS_MAX |
181 | | #define GM_ALPHA_MIN -GM_ALPHA_MAX |
182 | | |
183 | 1.02M | static inline int block_center_x(int mi_col, BLOCK_SIZE bs) { |
184 | 1.02M | const int bw = block_size_wide[bs]; |
185 | 1.02M | return mi_col * MI_SIZE + bw / 2 - 1; |
186 | 1.02M | } Unexecuted instantiation: av1_dx_iface.c:block_center_x Unexecuted instantiation: decodeframe.c:block_center_x decodemv.c:block_center_x Line | Count | Source | 183 | 221k | static inline int block_center_x(int mi_col, BLOCK_SIZE bs) { | 184 | 221k | const int bw = block_size_wide[bs]; | 185 | 221k | return mi_col * MI_SIZE + bw / 2 - 1; | 186 | 221k | } |
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: 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_hmask.c:block_center_x Unexecuted instantiation: blend_a64_mask.c:block_center_x Unexecuted instantiation: blend_a64_vmask.c:block_center_x Unexecuted instantiation: intrapred.c:block_center_x Unexecuted instantiation: aom_convolve_copy_sse2.c:block_center_x Unexecuted instantiation: intrapred_sse2.c:block_center_x Unexecuted instantiation: loopfilter_sse2.c:block_center_x Unexecuted instantiation: highbd_convolve_sse2.c:block_center_x Unexecuted instantiation: highbd_loopfilter_sse2.c:block_center_x Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:block_center_x Unexecuted instantiation: intrapred_ssse3.c:block_center_x Unexecuted instantiation: highbd_convolve_ssse3.c:block_center_x Unexecuted instantiation: blend_a64_hmask_sse4.c:block_center_x Unexecuted instantiation: blend_a64_mask_sse4.c:block_center_x Unexecuted instantiation: blend_a64_vmask_sse4.c:block_center_x Unexecuted instantiation: intrapred_sse4.c:block_center_x Unexecuted instantiation: aom_convolve_copy_avx2.c:block_center_x Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:block_center_x Unexecuted instantiation: intrapred_avx2.c:block_center_x Unexecuted instantiation: loopfilter_avx2.c:block_center_x Unexecuted instantiation: blend_a64_mask_avx2.c:block_center_x Unexecuted instantiation: highbd_convolve_avx2.c:block_center_x Unexecuted instantiation: highbd_loopfilter_avx2.c:block_center_x Unexecuted instantiation: alloccommon.c:block_center_x Unexecuted instantiation: av1_inv_txfm2d.c:block_center_x Unexecuted instantiation: av1_loopfilter.c:block_center_x Unexecuted instantiation: av1_txfm.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: convolve.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 mvref_common.c:block_center_x Line | Count | Source | 183 | 805k | static inline int block_center_x(int mi_col, BLOCK_SIZE bs) { | 184 | 805k | const int bw = block_size_wide[bs]; | 185 | 805k | return mi_col * MI_SIZE + bw / 2 - 1; | 186 | 805k | } |
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: cfl_sse2.c:block_center_x Unexecuted instantiation: convolve_2d_sse2.c:block_center_x Unexecuted instantiation: convolve_sse2.c:block_center_x Unexecuted instantiation: jnt_convolve_sse2.c:block_center_x Unexecuted instantiation: resize_sse2.c:block_center_x Unexecuted instantiation: wiener_convolve_sse2.c:block_center_x Unexecuted instantiation: av1_inv_txfm_ssse3.c:block_center_x Unexecuted instantiation: cfl_ssse3.c:block_center_x Unexecuted instantiation: jnt_convolve_ssse3.c:block_center_x Unexecuted instantiation: resize_ssse3.c:block_center_x Unexecuted instantiation: highbd_convolve_2d_ssse3.c:block_center_x Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:block_center_x Unexecuted instantiation: reconinter_ssse3.c:block_center_x Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:block_center_x Unexecuted instantiation: av1_convolve_scale_sse4.c:block_center_x Unexecuted instantiation: av1_txfm_sse4.c:block_center_x Unexecuted instantiation: cdef_block_sse4.c:block_center_x Unexecuted instantiation: filterintra_sse4.c:block_center_x Unexecuted instantiation: highbd_inv_txfm_sse4.c:block_center_x Unexecuted instantiation: intra_edge_sse4.c:block_center_x Unexecuted instantiation: reconinter_sse4.c:block_center_x Unexecuted instantiation: selfguided_sse4.c:block_center_x Unexecuted instantiation: warp_plane_sse4.c:block_center_x Unexecuted instantiation: highbd_convolve_2d_sse4.c:block_center_x Unexecuted instantiation: highbd_jnt_convolve_sse4.c:block_center_x Unexecuted instantiation: highbd_warp_plane_sse4.c:block_center_x Unexecuted instantiation: av1_inv_txfm_avx2.c:block_center_x Unexecuted instantiation: cdef_block_avx2.c:block_center_x Unexecuted instantiation: cfl_avx2.c:block_center_x Unexecuted instantiation: convolve_2d_avx2.c:block_center_x Unexecuted instantiation: convolve_avx2.c:block_center_x Unexecuted instantiation: highbd_inv_txfm_avx2.c:block_center_x Unexecuted instantiation: jnt_convolve_avx2.c:block_center_x Unexecuted instantiation: reconinter_avx2.c:block_center_x Unexecuted instantiation: resize_avx2.c:block_center_x Unexecuted instantiation: selfguided_avx2.c:block_center_x Unexecuted instantiation: warp_plane_avx2.c:block_center_x Unexecuted instantiation: wiener_convolve_avx2.c:block_center_x Unexecuted instantiation: highbd_convolve_2d_avx2.c:block_center_x Unexecuted instantiation: highbd_jnt_convolve_avx2.c:block_center_x Unexecuted instantiation: highbd_wiener_convolve_avx2.c:block_center_x Unexecuted instantiation: highbd_warp_affine_avx2.c:block_center_x Unexecuted instantiation: highbd_intrapred_sse2.c:block_center_x Unexecuted instantiation: av1_inv_txfm1d.c:block_center_x |
187 | | |
188 | 1.02M | static inline int block_center_y(int mi_row, BLOCK_SIZE bs) { |
189 | 1.02M | const int bh = block_size_high[bs]; |
190 | 1.02M | return mi_row * MI_SIZE + bh / 2 - 1; |
191 | 1.02M | } Unexecuted instantiation: av1_dx_iface.c:block_center_y Unexecuted instantiation: decodeframe.c:block_center_y decodemv.c:block_center_y Line | Count | Source | 188 | 221k | static inline int block_center_y(int mi_row, BLOCK_SIZE bs) { | 189 | 221k | const int bh = block_size_high[bs]; | 190 | 221k | return mi_row * MI_SIZE + bh / 2 - 1; | 191 | 221k | } |
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: 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_hmask.c:block_center_y Unexecuted instantiation: blend_a64_mask.c:block_center_y Unexecuted instantiation: blend_a64_vmask.c:block_center_y Unexecuted instantiation: intrapred.c:block_center_y Unexecuted instantiation: aom_convolve_copy_sse2.c:block_center_y Unexecuted instantiation: intrapred_sse2.c:block_center_y Unexecuted instantiation: loopfilter_sse2.c:block_center_y Unexecuted instantiation: highbd_convolve_sse2.c:block_center_y Unexecuted instantiation: highbd_loopfilter_sse2.c:block_center_y Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:block_center_y Unexecuted instantiation: intrapred_ssse3.c:block_center_y Unexecuted instantiation: highbd_convolve_ssse3.c:block_center_y Unexecuted instantiation: blend_a64_hmask_sse4.c:block_center_y Unexecuted instantiation: blend_a64_mask_sse4.c:block_center_y Unexecuted instantiation: blend_a64_vmask_sse4.c:block_center_y Unexecuted instantiation: intrapred_sse4.c:block_center_y Unexecuted instantiation: aom_convolve_copy_avx2.c:block_center_y Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:block_center_y Unexecuted instantiation: intrapred_avx2.c:block_center_y Unexecuted instantiation: loopfilter_avx2.c:block_center_y Unexecuted instantiation: blend_a64_mask_avx2.c:block_center_y Unexecuted instantiation: highbd_convolve_avx2.c:block_center_y Unexecuted instantiation: highbd_loopfilter_avx2.c:block_center_y Unexecuted instantiation: alloccommon.c:block_center_y Unexecuted instantiation: av1_inv_txfm2d.c:block_center_y Unexecuted instantiation: av1_loopfilter.c:block_center_y Unexecuted instantiation: av1_txfm.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: convolve.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 mvref_common.c:block_center_y Line | Count | Source | 188 | 805k | static inline int block_center_y(int mi_row, BLOCK_SIZE bs) { | 189 | 805k | const int bh = block_size_high[bs]; | 190 | 805k | return mi_row * MI_SIZE + bh / 2 - 1; | 191 | 805k | } |
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: cfl_sse2.c:block_center_y Unexecuted instantiation: convolve_2d_sse2.c:block_center_y Unexecuted instantiation: convolve_sse2.c:block_center_y Unexecuted instantiation: jnt_convolve_sse2.c:block_center_y Unexecuted instantiation: resize_sse2.c:block_center_y Unexecuted instantiation: wiener_convolve_sse2.c:block_center_y Unexecuted instantiation: av1_inv_txfm_ssse3.c:block_center_y Unexecuted instantiation: cfl_ssse3.c:block_center_y Unexecuted instantiation: jnt_convolve_ssse3.c:block_center_y Unexecuted instantiation: resize_ssse3.c:block_center_y Unexecuted instantiation: highbd_convolve_2d_ssse3.c:block_center_y Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:block_center_y Unexecuted instantiation: reconinter_ssse3.c:block_center_y Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:block_center_y Unexecuted instantiation: av1_convolve_scale_sse4.c:block_center_y Unexecuted instantiation: av1_txfm_sse4.c:block_center_y Unexecuted instantiation: cdef_block_sse4.c:block_center_y Unexecuted instantiation: filterintra_sse4.c:block_center_y Unexecuted instantiation: highbd_inv_txfm_sse4.c:block_center_y Unexecuted instantiation: intra_edge_sse4.c:block_center_y Unexecuted instantiation: reconinter_sse4.c:block_center_y Unexecuted instantiation: selfguided_sse4.c:block_center_y Unexecuted instantiation: warp_plane_sse4.c:block_center_y Unexecuted instantiation: highbd_convolve_2d_sse4.c:block_center_y Unexecuted instantiation: highbd_jnt_convolve_sse4.c:block_center_y Unexecuted instantiation: highbd_warp_plane_sse4.c:block_center_y Unexecuted instantiation: av1_inv_txfm_avx2.c:block_center_y Unexecuted instantiation: cdef_block_avx2.c:block_center_y Unexecuted instantiation: cfl_avx2.c:block_center_y Unexecuted instantiation: convolve_2d_avx2.c:block_center_y Unexecuted instantiation: convolve_avx2.c:block_center_y Unexecuted instantiation: highbd_inv_txfm_avx2.c:block_center_y Unexecuted instantiation: jnt_convolve_avx2.c:block_center_y Unexecuted instantiation: reconinter_avx2.c:block_center_y Unexecuted instantiation: resize_avx2.c:block_center_y Unexecuted instantiation: selfguided_avx2.c:block_center_y Unexecuted instantiation: warp_plane_avx2.c:block_center_y Unexecuted instantiation: wiener_convolve_avx2.c:block_center_y Unexecuted instantiation: highbd_convolve_2d_avx2.c:block_center_y Unexecuted instantiation: highbd_jnt_convolve_avx2.c:block_center_y Unexecuted instantiation: highbd_wiener_convolve_avx2.c:block_center_y Unexecuted instantiation: highbd_warp_affine_avx2.c:block_center_y Unexecuted instantiation: highbd_intrapred_sse2.c:block_center_y Unexecuted instantiation: av1_inv_txfm1d.c:block_center_y |
192 | | |
193 | 2.05M | static inline int convert_to_trans_prec(int allow_hp, int coor) { |
194 | 2.05M | if (allow_hp) |
195 | 432k | return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 3); |
196 | 1.62M | else |
197 | 1.62M | return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 2) * 2; |
198 | 2.05M | } Unexecuted instantiation: av1_dx_iface.c:convert_to_trans_prec Unexecuted instantiation: decodeframe.c:convert_to_trans_prec decodemv.c:convert_to_trans_prec Line | Count | Source | 193 | 442k | static inline int convert_to_trans_prec(int allow_hp, int coor) { | 194 | 442k | if (allow_hp) | 195 | 132k | return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 3); | 196 | 310k | else | 197 | 310k | return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 2) * 2; | 198 | 442k | } |
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: 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_hmask.c:convert_to_trans_prec Unexecuted instantiation: blend_a64_mask.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: aom_convolve_copy_sse2.c:convert_to_trans_prec Unexecuted instantiation: intrapred_sse2.c:convert_to_trans_prec Unexecuted instantiation: loopfilter_sse2.c:convert_to_trans_prec Unexecuted instantiation: highbd_convolve_sse2.c:convert_to_trans_prec Unexecuted instantiation: highbd_loopfilter_sse2.c:convert_to_trans_prec Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:convert_to_trans_prec Unexecuted instantiation: intrapred_ssse3.c:convert_to_trans_prec Unexecuted instantiation: highbd_convolve_ssse3.c:convert_to_trans_prec Unexecuted instantiation: blend_a64_hmask_sse4.c:convert_to_trans_prec Unexecuted instantiation: blend_a64_mask_sse4.c:convert_to_trans_prec Unexecuted instantiation: blend_a64_vmask_sse4.c:convert_to_trans_prec Unexecuted instantiation: intrapred_sse4.c:convert_to_trans_prec Unexecuted instantiation: aom_convolve_copy_avx2.c:convert_to_trans_prec Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:convert_to_trans_prec Unexecuted instantiation: intrapred_avx2.c:convert_to_trans_prec Unexecuted instantiation: loopfilter_avx2.c:convert_to_trans_prec Unexecuted instantiation: blend_a64_mask_avx2.c:convert_to_trans_prec Unexecuted instantiation: highbd_convolve_avx2.c:convert_to_trans_prec Unexecuted instantiation: highbd_loopfilter_avx2.c:convert_to_trans_prec Unexecuted instantiation: alloccommon.c:convert_to_trans_prec Unexecuted instantiation: av1_inv_txfm2d.c:convert_to_trans_prec Unexecuted instantiation: av1_loopfilter.c:convert_to_trans_prec Unexecuted instantiation: av1_txfm.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: convolve.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 mvref_common.c:convert_to_trans_prec Line | Count | Source | 193 | 1.61M | static inline int convert_to_trans_prec(int allow_hp, int coor) { | 194 | 1.61M | if (allow_hp) | 195 | 300k | return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 3); | 196 | 1.31M | else | 197 | 1.31M | return ROUND_POWER_OF_TWO_SIGNED(coor, WARPEDMODEL_PREC_BITS - 2) * 2; | 198 | 1.61M | } |
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: cfl_sse2.c:convert_to_trans_prec Unexecuted instantiation: convolve_2d_sse2.c:convert_to_trans_prec Unexecuted instantiation: convolve_sse2.c:convert_to_trans_prec Unexecuted instantiation: jnt_convolve_sse2.c:convert_to_trans_prec Unexecuted instantiation: resize_sse2.c:convert_to_trans_prec Unexecuted instantiation: wiener_convolve_sse2.c:convert_to_trans_prec Unexecuted instantiation: av1_inv_txfm_ssse3.c:convert_to_trans_prec Unexecuted instantiation: cfl_ssse3.c:convert_to_trans_prec Unexecuted instantiation: jnt_convolve_ssse3.c:convert_to_trans_prec Unexecuted instantiation: resize_ssse3.c:convert_to_trans_prec Unexecuted instantiation: highbd_convolve_2d_ssse3.c:convert_to_trans_prec Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:convert_to_trans_prec Unexecuted instantiation: reconinter_ssse3.c:convert_to_trans_prec Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:convert_to_trans_prec Unexecuted instantiation: av1_convolve_scale_sse4.c:convert_to_trans_prec Unexecuted instantiation: av1_txfm_sse4.c:convert_to_trans_prec Unexecuted instantiation: cdef_block_sse4.c:convert_to_trans_prec Unexecuted instantiation: filterintra_sse4.c:convert_to_trans_prec Unexecuted instantiation: highbd_inv_txfm_sse4.c:convert_to_trans_prec Unexecuted instantiation: intra_edge_sse4.c:convert_to_trans_prec Unexecuted instantiation: reconinter_sse4.c:convert_to_trans_prec Unexecuted instantiation: selfguided_sse4.c:convert_to_trans_prec Unexecuted instantiation: warp_plane_sse4.c:convert_to_trans_prec Unexecuted instantiation: highbd_convolve_2d_sse4.c:convert_to_trans_prec Unexecuted instantiation: highbd_jnt_convolve_sse4.c:convert_to_trans_prec Unexecuted instantiation: highbd_warp_plane_sse4.c:convert_to_trans_prec Unexecuted instantiation: av1_inv_txfm_avx2.c:convert_to_trans_prec Unexecuted instantiation: cdef_block_avx2.c:convert_to_trans_prec Unexecuted instantiation: cfl_avx2.c:convert_to_trans_prec Unexecuted instantiation: convolve_2d_avx2.c:convert_to_trans_prec Unexecuted instantiation: convolve_avx2.c:convert_to_trans_prec Unexecuted instantiation: highbd_inv_txfm_avx2.c:convert_to_trans_prec Unexecuted instantiation: jnt_convolve_avx2.c:convert_to_trans_prec Unexecuted instantiation: reconinter_avx2.c:convert_to_trans_prec Unexecuted instantiation: resize_avx2.c:convert_to_trans_prec Unexecuted instantiation: selfguided_avx2.c:convert_to_trans_prec Unexecuted instantiation: warp_plane_avx2.c:convert_to_trans_prec Unexecuted instantiation: wiener_convolve_avx2.c:convert_to_trans_prec Unexecuted instantiation: highbd_convolve_2d_avx2.c:convert_to_trans_prec Unexecuted instantiation: highbd_jnt_convolve_avx2.c:convert_to_trans_prec Unexecuted instantiation: highbd_wiener_convolve_avx2.c:convert_to_trans_prec Unexecuted instantiation: highbd_warp_affine_avx2.c:convert_to_trans_prec Unexecuted instantiation: highbd_intrapred_sse2.c:convert_to_trans_prec Unexecuted instantiation: av1_inv_txfm1d.c:convert_to_trans_prec |
199 | 657k | static inline void integer_mv_precision(MV *mv) { |
200 | 657k | int mod = (mv->row % 8); |
201 | 657k | if (mod != 0) { |
202 | 131k | mv->row -= mod; |
203 | 131k | if (abs(mod) > 4) { |
204 | 44.7k | if (mod > 0) { |
205 | 21.5k | mv->row += 8; |
206 | 23.2k | } else { |
207 | 23.2k | mv->row -= 8; |
208 | 23.2k | } |
209 | 44.7k | } |
210 | 131k | } |
211 | | |
212 | 657k | mod = (mv->col % 8); |
213 | 657k | if (mod != 0) { |
214 | 126k | mv->col -= mod; |
215 | 126k | if (abs(mod) > 4) { |
216 | 35.5k | if (mod > 0) { |
217 | 16.7k | mv->col += 8; |
218 | 18.8k | } else { |
219 | 18.8k | mv->col -= 8; |
220 | 18.8k | } |
221 | 35.5k | } |
222 | 126k | } |
223 | 657k | } Unexecuted instantiation: av1_dx_iface.c:integer_mv_precision Unexecuted instantiation: decodeframe.c:integer_mv_precision decodemv.c:integer_mv_precision Line | Count | Source | 199 | 255k | static inline void integer_mv_precision(MV *mv) { | 200 | 255k | int mod = (mv->row % 8); | 201 | 255k | if (mod != 0) { | 202 | 20.1k | mv->row -= mod; | 203 | 20.1k | if (abs(mod) > 4) { | 204 | 7.42k | if (mod > 0) { | 205 | 3.20k | mv->row += 8; | 206 | 4.22k | } else { | 207 | 4.22k | mv->row -= 8; | 208 | 4.22k | } | 209 | 7.42k | } | 210 | 20.1k | } | 211 | | | 212 | 255k | mod = (mv->col % 8); | 213 | 255k | if (mod != 0) { | 214 | 19.7k | mv->col -= mod; | 215 | 19.7k | if (abs(mod) > 4) { | 216 | 5.63k | if (mod > 0) { | 217 | 3.00k | mv->col += 8; | 218 | 3.00k | } else { | 219 | 2.63k | mv->col -= 8; | 220 | 2.63k | } | 221 | 5.63k | } | 222 | 19.7k | } | 223 | 255k | } |
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: 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_hmask.c:integer_mv_precision Unexecuted instantiation: blend_a64_mask.c:integer_mv_precision Unexecuted instantiation: blend_a64_vmask.c:integer_mv_precision Unexecuted instantiation: intrapred.c:integer_mv_precision Unexecuted instantiation: aom_convolve_copy_sse2.c:integer_mv_precision Unexecuted instantiation: intrapred_sse2.c:integer_mv_precision Unexecuted instantiation: loopfilter_sse2.c:integer_mv_precision Unexecuted instantiation: highbd_convolve_sse2.c:integer_mv_precision Unexecuted instantiation: highbd_loopfilter_sse2.c:integer_mv_precision Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:integer_mv_precision Unexecuted instantiation: intrapred_ssse3.c:integer_mv_precision Unexecuted instantiation: highbd_convolve_ssse3.c:integer_mv_precision Unexecuted instantiation: blend_a64_hmask_sse4.c:integer_mv_precision Unexecuted instantiation: blend_a64_mask_sse4.c:integer_mv_precision Unexecuted instantiation: blend_a64_vmask_sse4.c:integer_mv_precision Unexecuted instantiation: intrapred_sse4.c:integer_mv_precision Unexecuted instantiation: aom_convolve_copy_avx2.c:integer_mv_precision Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:integer_mv_precision Unexecuted instantiation: intrapred_avx2.c:integer_mv_precision Unexecuted instantiation: loopfilter_avx2.c:integer_mv_precision Unexecuted instantiation: blend_a64_mask_avx2.c:integer_mv_precision Unexecuted instantiation: highbd_convolve_avx2.c:integer_mv_precision Unexecuted instantiation: highbd_loopfilter_avx2.c:integer_mv_precision Unexecuted instantiation: alloccommon.c:integer_mv_precision Unexecuted instantiation: av1_inv_txfm2d.c:integer_mv_precision Unexecuted instantiation: av1_loopfilter.c:integer_mv_precision Unexecuted instantiation: av1_txfm.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: convolve.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 mvref_common.c:integer_mv_precision Line | Count | Source | 199 | 402k | static inline void integer_mv_precision(MV *mv) { | 200 | 402k | int mod = (mv->row % 8); | 201 | 402k | if (mod != 0) { | 202 | 111k | mv->row -= mod; | 203 | 111k | if (abs(mod) > 4) { | 204 | 37.3k | if (mod > 0) { | 205 | 18.3k | mv->row += 8; | 206 | 19.0k | } else { | 207 | 19.0k | mv->row -= 8; | 208 | 19.0k | } | 209 | 37.3k | } | 210 | 111k | } | 211 | | | 212 | 402k | mod = (mv->col % 8); | 213 | 402k | if (mod != 0) { | 214 | 107k | mv->col -= mod; | 215 | 107k | if (abs(mod) > 4) { | 216 | 29.9k | if (mod > 0) { | 217 | 13.7k | mv->col += 8; | 218 | 16.2k | } else { | 219 | 16.2k | mv->col -= 8; | 220 | 16.2k | } | 221 | 29.9k | } | 222 | 107k | } | 223 | 402k | } |
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: cfl_sse2.c:integer_mv_precision Unexecuted instantiation: convolve_2d_sse2.c:integer_mv_precision Unexecuted instantiation: convolve_sse2.c:integer_mv_precision Unexecuted instantiation: jnt_convolve_sse2.c:integer_mv_precision Unexecuted instantiation: resize_sse2.c:integer_mv_precision Unexecuted instantiation: wiener_convolve_sse2.c:integer_mv_precision Unexecuted instantiation: av1_inv_txfm_ssse3.c:integer_mv_precision Unexecuted instantiation: cfl_ssse3.c:integer_mv_precision Unexecuted instantiation: jnt_convolve_ssse3.c:integer_mv_precision Unexecuted instantiation: resize_ssse3.c:integer_mv_precision Unexecuted instantiation: highbd_convolve_2d_ssse3.c:integer_mv_precision Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:integer_mv_precision Unexecuted instantiation: reconinter_ssse3.c:integer_mv_precision Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:integer_mv_precision Unexecuted instantiation: av1_convolve_scale_sse4.c:integer_mv_precision Unexecuted instantiation: av1_txfm_sse4.c:integer_mv_precision Unexecuted instantiation: cdef_block_sse4.c:integer_mv_precision Unexecuted instantiation: filterintra_sse4.c:integer_mv_precision Unexecuted instantiation: highbd_inv_txfm_sse4.c:integer_mv_precision Unexecuted instantiation: intra_edge_sse4.c:integer_mv_precision Unexecuted instantiation: reconinter_sse4.c:integer_mv_precision Unexecuted instantiation: selfguided_sse4.c:integer_mv_precision Unexecuted instantiation: warp_plane_sse4.c:integer_mv_precision Unexecuted instantiation: highbd_convolve_2d_sse4.c:integer_mv_precision Unexecuted instantiation: highbd_jnt_convolve_sse4.c:integer_mv_precision Unexecuted instantiation: highbd_warp_plane_sse4.c:integer_mv_precision Unexecuted instantiation: av1_inv_txfm_avx2.c:integer_mv_precision Unexecuted instantiation: cdef_block_avx2.c:integer_mv_precision Unexecuted instantiation: cfl_avx2.c:integer_mv_precision Unexecuted instantiation: convolve_2d_avx2.c:integer_mv_precision Unexecuted instantiation: convolve_avx2.c:integer_mv_precision Unexecuted instantiation: highbd_inv_txfm_avx2.c:integer_mv_precision Unexecuted instantiation: jnt_convolve_avx2.c:integer_mv_precision Unexecuted instantiation: reconinter_avx2.c:integer_mv_precision Unexecuted instantiation: resize_avx2.c:integer_mv_precision Unexecuted instantiation: selfguided_avx2.c:integer_mv_precision Unexecuted instantiation: warp_plane_avx2.c:integer_mv_precision Unexecuted instantiation: wiener_convolve_avx2.c:integer_mv_precision Unexecuted instantiation: highbd_convolve_2d_avx2.c:integer_mv_precision Unexecuted instantiation: highbd_jnt_convolve_avx2.c:integer_mv_precision Unexecuted instantiation: highbd_wiener_convolve_avx2.c:integer_mv_precision Unexecuted instantiation: highbd_warp_affine_avx2.c:integer_mv_precision Unexecuted instantiation: highbd_intrapred_sse2.c:integer_mv_precision Unexecuted instantiation: av1_inv_txfm1d.c:integer_mv_precision |
224 | | // Convert a global motion vector into a motion vector at the centre of the |
225 | | // given block. |
226 | | // |
227 | | // The resulting motion vector will have three fractional bits of precision. If |
228 | | // allow_hp is zero, the bottom bit will always be zero. If CONFIG_AMVR and |
229 | | // is_integer is true, the bottom three bits will be zero (so the motion vector |
230 | | // represents an integer) |
231 | | static inline int_mv gm_get_motion_vector(const WarpedMotionParams *gm, |
232 | | int allow_hp, BLOCK_SIZE bsize, |
233 | | int mi_col, int mi_row, |
234 | 6.08M | int is_integer) { |
235 | 6.08M | int_mv res; |
236 | | |
237 | 6.08M | if (gm->wmtype == IDENTITY) { |
238 | 4.85M | res.as_int = 0; |
239 | 4.85M | return res; |
240 | 4.85M | } |
241 | | |
242 | 1.22M | const int32_t *mat = gm->wmmat; |
243 | 1.22M | int x, y, tx, ty; |
244 | | |
245 | 1.22M | if (gm->wmtype == TRANSLATION) { |
246 | | // All global motion vectors are stored with WARPEDMODEL_PREC_BITS (16) |
247 | | // bits of fractional precision. The offset for a translation is stored in |
248 | | // entries 0 and 1. For translations, all but the top three (two if |
249 | | // cm->features.allow_high_precision_mv is false) fractional bits are always |
250 | | // zero. |
251 | | // |
252 | | // After the right shifts, there are 3 fractional bits of precision. If |
253 | | // allow_hp is false, the bottom bit is always zero (so we don't need a |
254 | | // call to convert_to_trans_prec here) |
255 | | // |
256 | | // Note: There is an AV1 specification bug here: |
257 | | // |
258 | | // gm->wmmat[0] is supposed to be the horizontal translation, and so should |
259 | | // go into res.as_mv.col, and gm->wmmat[1] is supposed to be the vertical |
260 | | // translation and so should go into res.as_mv.row |
261 | | // |
262 | | // However, in the spec, these assignments are accidentally reversed, and so |
263 | | // we must keep this incorrect logic to match the spec. |
264 | | // |
265 | | // See also: https://crbug.com/aomedia/3328 |
266 | 196k | res.as_mv.row = gm->wmmat[0] >> GM_TRANS_ONLY_PREC_DIFF; |
267 | 196k | res.as_mv.col = gm->wmmat[1] >> GM_TRANS_ONLY_PREC_DIFF; |
268 | 196k | assert(IMPLIES(1 & (res.as_mv.row | res.as_mv.col), allow_hp)); |
269 | 196k | if (is_integer) { |
270 | 33.6k | integer_mv_precision(&res.as_mv); |
271 | 33.6k | } |
272 | 196k | return res; |
273 | 196k | } |
274 | | |
275 | 1.02M | x = block_center_x(mi_col, bsize); |
276 | 1.02M | y = block_center_y(mi_row, bsize); |
277 | | |
278 | 1.02M | if (gm->wmtype == ROTZOOM) { |
279 | 501k | assert(gm->wmmat[5] == gm->wmmat[2]); |
280 | 501k | assert(gm->wmmat[4] == -gm->wmmat[3]); |
281 | 501k | } |
282 | | |
283 | 1.02M | const int xc = |
284 | 1.02M | (mat[2] - (1 << WARPEDMODEL_PREC_BITS)) * x + mat[3] * y + mat[0]; |
285 | 1.02M | const int yc = |
286 | 1.02M | mat[4] * x + (mat[5] - (1 << WARPEDMODEL_PREC_BITS)) * y + mat[1]; |
287 | 1.02M | tx = convert_to_trans_prec(allow_hp, xc); |
288 | 1.02M | ty = convert_to_trans_prec(allow_hp, yc); |
289 | | |
290 | 1.02M | res.as_mv.row = ty; |
291 | 1.02M | res.as_mv.col = tx; |
292 | | |
293 | 1.02M | if (is_integer) { |
294 | 155k | integer_mv_precision(&res.as_mv); |
295 | 155k | } |
296 | 1.02M | return res; |
297 | 1.02M | } Unexecuted instantiation: av1_dx_iface.c:gm_get_motion_vector Unexecuted instantiation: decodeframe.c:gm_get_motion_vector decodemv.c:gm_get_motion_vector Line | Count | Source | 234 | 895k | int is_integer) { | 235 | 895k | int_mv res; | 236 | | | 237 | 895k | if (gm->wmtype == IDENTITY) { | 238 | 616k | res.as_int = 0; | 239 | 616k | return res; | 240 | 616k | } | 241 | | | 242 | 278k | const int32_t *mat = gm->wmmat; | 243 | 278k | int x, y, tx, ty; | 244 | | | 245 | 278k | if (gm->wmtype == TRANSLATION) { | 246 | | // All global motion vectors are stored with WARPEDMODEL_PREC_BITS (16) | 247 | | // bits of fractional precision. The offset for a translation is stored in | 248 | | // entries 0 and 1. For translations, all but the top three (two if | 249 | | // cm->features.allow_high_precision_mv is false) fractional bits are always | 250 | | // zero. | 251 | | // | 252 | | // After the right shifts, there are 3 fractional bits of precision. If | 253 | | // allow_hp is false, the bottom bit is always zero (so we don't need a | 254 | | // call to convert_to_trans_prec here) | 255 | | // | 256 | | // Note: There is an AV1 specification bug here: | 257 | | // | 258 | | // gm->wmmat[0] is supposed to be the horizontal translation, and so should | 259 | | // go into res.as_mv.col, and gm->wmmat[1] is supposed to be the vertical | 260 | | // translation and so should go into res.as_mv.row | 261 | | // | 262 | | // However, in the spec, these assignments are accidentally reversed, and so | 263 | | // we must keep this incorrect logic to match the spec. | 264 | | // | 265 | | // See also: https://crbug.com/aomedia/3328 | 266 | 57.3k | res.as_mv.row = gm->wmmat[0] >> GM_TRANS_ONLY_PREC_DIFF; | 267 | 57.3k | res.as_mv.col = gm->wmmat[1] >> GM_TRANS_ONLY_PREC_DIFF; | 268 | 57.3k | assert(IMPLIES(1 & (res.as_mv.row | res.as_mv.col), allow_hp)); | 269 | 57.3k | if (is_integer) { | 270 | 8.31k | integer_mv_precision(&res.as_mv); | 271 | 8.31k | } | 272 | 57.3k | return res; | 273 | 57.3k | } | 274 | | | 275 | 221k | x = block_center_x(mi_col, bsize); | 276 | 221k | y = block_center_y(mi_row, bsize); | 277 | | | 278 | 221k | if (gm->wmtype == ROTZOOM) { | 279 | 145k | assert(gm->wmmat[5] == gm->wmmat[2]); | 280 | 145k | assert(gm->wmmat[4] == -gm->wmmat[3]); | 281 | 145k | } | 282 | | | 283 | 221k | const int xc = | 284 | 221k | (mat[2] - (1 << WARPEDMODEL_PREC_BITS)) * x + mat[3] * y + mat[0]; | 285 | 221k | const int yc = | 286 | 221k | mat[4] * x + (mat[5] - (1 << WARPEDMODEL_PREC_BITS)) * y + mat[1]; | 287 | 221k | tx = convert_to_trans_prec(allow_hp, xc); | 288 | 221k | ty = convert_to_trans_prec(allow_hp, yc); | 289 | | | 290 | 221k | res.as_mv.row = ty; | 291 | 221k | res.as_mv.col = tx; | 292 | | | 293 | 221k | if (is_integer) { | 294 | 21.1k | integer_mv_precision(&res.as_mv); | 295 | 21.1k | } | 296 | 221k | return res; | 297 | 221k | } |
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: 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_hmask.c:gm_get_motion_vector Unexecuted instantiation: blend_a64_mask.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: aom_convolve_copy_sse2.c:gm_get_motion_vector Unexecuted instantiation: intrapred_sse2.c:gm_get_motion_vector Unexecuted instantiation: loopfilter_sse2.c:gm_get_motion_vector Unexecuted instantiation: highbd_convolve_sse2.c:gm_get_motion_vector Unexecuted instantiation: highbd_loopfilter_sse2.c:gm_get_motion_vector Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:gm_get_motion_vector Unexecuted instantiation: intrapred_ssse3.c:gm_get_motion_vector Unexecuted instantiation: highbd_convolve_ssse3.c:gm_get_motion_vector Unexecuted instantiation: blend_a64_hmask_sse4.c:gm_get_motion_vector Unexecuted instantiation: blend_a64_mask_sse4.c:gm_get_motion_vector Unexecuted instantiation: blend_a64_vmask_sse4.c:gm_get_motion_vector Unexecuted instantiation: intrapred_sse4.c:gm_get_motion_vector Unexecuted instantiation: aom_convolve_copy_avx2.c:gm_get_motion_vector Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:gm_get_motion_vector Unexecuted instantiation: intrapred_avx2.c:gm_get_motion_vector Unexecuted instantiation: loopfilter_avx2.c:gm_get_motion_vector Unexecuted instantiation: blend_a64_mask_avx2.c:gm_get_motion_vector Unexecuted instantiation: highbd_convolve_avx2.c:gm_get_motion_vector Unexecuted instantiation: highbd_loopfilter_avx2.c:gm_get_motion_vector Unexecuted instantiation: alloccommon.c:gm_get_motion_vector Unexecuted instantiation: av1_inv_txfm2d.c:gm_get_motion_vector Unexecuted instantiation: av1_loopfilter.c:gm_get_motion_vector Unexecuted instantiation: av1_txfm.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: convolve.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 mvref_common.c:gm_get_motion_vector Line | Count | Source | 234 | 5.18M | int is_integer) { | 235 | 5.18M | int_mv res; | 236 | | | 237 | 5.18M | if (gm->wmtype == IDENTITY) { | 238 | 4.24M | res.as_int = 0; | 239 | 4.24M | return res; | 240 | 4.24M | } | 241 | | | 242 | 944k | const int32_t *mat = gm->wmmat; | 243 | 944k | int x, y, tx, ty; | 244 | | | 245 | 944k | if (gm->wmtype == TRANSLATION) { | 246 | | // All global motion vectors are stored with WARPEDMODEL_PREC_BITS (16) | 247 | | // bits of fractional precision. The offset for a translation is stored in | 248 | | // entries 0 and 1. For translations, all but the top three (two if | 249 | | // cm->features.allow_high_precision_mv is false) fractional bits are always | 250 | | // zero. | 251 | | // | 252 | | // After the right shifts, there are 3 fractional bits of precision. If | 253 | | // allow_hp is false, the bottom bit is always zero (so we don't need a | 254 | | // call to convert_to_trans_prec here) | 255 | | // | 256 | | // Note: There is an AV1 specification bug here: | 257 | | // | 258 | | // gm->wmmat[0] is supposed to be the horizontal translation, and so should | 259 | | // go into res.as_mv.col, and gm->wmmat[1] is supposed to be the vertical | 260 | | // translation and so should go into res.as_mv.row | 261 | | // | 262 | | // However, in the spec, these assignments are accidentally reversed, and so | 263 | | // we must keep this incorrect logic to match the spec. | 264 | | // | 265 | | // See also: https://crbug.com/aomedia/3328 | 266 | 139k | res.as_mv.row = gm->wmmat[0] >> GM_TRANS_ONLY_PREC_DIFF; | 267 | 139k | res.as_mv.col = gm->wmmat[1] >> GM_TRANS_ONLY_PREC_DIFF; | 268 | 139k | assert(IMPLIES(1 & (res.as_mv.row | res.as_mv.col), allow_hp)); | 269 | 139k | if (is_integer) { | 270 | 25.3k | integer_mv_precision(&res.as_mv); | 271 | 25.3k | } | 272 | 139k | return res; | 273 | 139k | } | 274 | | | 275 | 805k | x = block_center_x(mi_col, bsize); | 276 | 805k | y = block_center_y(mi_row, bsize); | 277 | | | 278 | 805k | if (gm->wmtype == ROTZOOM) { | 279 | 355k | assert(gm->wmmat[5] == gm->wmmat[2]); | 280 | 355k | assert(gm->wmmat[4] == -gm->wmmat[3]); | 281 | 355k | } | 282 | | | 283 | 805k | const int xc = | 284 | 805k | (mat[2] - (1 << WARPEDMODEL_PREC_BITS)) * x + mat[3] * y + mat[0]; | 285 | 805k | const int yc = | 286 | 805k | mat[4] * x + (mat[5] - (1 << WARPEDMODEL_PREC_BITS)) * y + mat[1]; | 287 | 805k | tx = convert_to_trans_prec(allow_hp, xc); | 288 | 805k | ty = convert_to_trans_prec(allow_hp, yc); | 289 | | | 290 | 805k | res.as_mv.row = ty; | 291 | 805k | res.as_mv.col = tx; | 292 | | | 293 | 805k | if (is_integer) { | 294 | 134k | integer_mv_precision(&res.as_mv); | 295 | 134k | } | 296 | 805k | return res; | 297 | 805k | } |
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: cfl_sse2.c:gm_get_motion_vector Unexecuted instantiation: convolve_2d_sse2.c:gm_get_motion_vector Unexecuted instantiation: convolve_sse2.c:gm_get_motion_vector Unexecuted instantiation: jnt_convolve_sse2.c:gm_get_motion_vector Unexecuted instantiation: resize_sse2.c:gm_get_motion_vector Unexecuted instantiation: wiener_convolve_sse2.c:gm_get_motion_vector Unexecuted instantiation: av1_inv_txfm_ssse3.c:gm_get_motion_vector Unexecuted instantiation: cfl_ssse3.c:gm_get_motion_vector Unexecuted instantiation: jnt_convolve_ssse3.c:gm_get_motion_vector Unexecuted instantiation: resize_ssse3.c:gm_get_motion_vector Unexecuted instantiation: highbd_convolve_2d_ssse3.c:gm_get_motion_vector Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:gm_get_motion_vector Unexecuted instantiation: reconinter_ssse3.c:gm_get_motion_vector Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:gm_get_motion_vector Unexecuted instantiation: av1_convolve_scale_sse4.c:gm_get_motion_vector Unexecuted instantiation: av1_txfm_sse4.c:gm_get_motion_vector Unexecuted instantiation: cdef_block_sse4.c:gm_get_motion_vector Unexecuted instantiation: filterintra_sse4.c:gm_get_motion_vector Unexecuted instantiation: highbd_inv_txfm_sse4.c:gm_get_motion_vector Unexecuted instantiation: intra_edge_sse4.c:gm_get_motion_vector Unexecuted instantiation: reconinter_sse4.c:gm_get_motion_vector Unexecuted instantiation: selfguided_sse4.c:gm_get_motion_vector Unexecuted instantiation: warp_plane_sse4.c:gm_get_motion_vector Unexecuted instantiation: highbd_convolve_2d_sse4.c:gm_get_motion_vector Unexecuted instantiation: highbd_jnt_convolve_sse4.c:gm_get_motion_vector Unexecuted instantiation: highbd_warp_plane_sse4.c:gm_get_motion_vector Unexecuted instantiation: av1_inv_txfm_avx2.c:gm_get_motion_vector Unexecuted instantiation: cdef_block_avx2.c:gm_get_motion_vector Unexecuted instantiation: cfl_avx2.c:gm_get_motion_vector Unexecuted instantiation: convolve_2d_avx2.c:gm_get_motion_vector Unexecuted instantiation: convolve_avx2.c:gm_get_motion_vector Unexecuted instantiation: highbd_inv_txfm_avx2.c:gm_get_motion_vector Unexecuted instantiation: jnt_convolve_avx2.c:gm_get_motion_vector Unexecuted instantiation: reconinter_avx2.c:gm_get_motion_vector Unexecuted instantiation: resize_avx2.c:gm_get_motion_vector Unexecuted instantiation: selfguided_avx2.c:gm_get_motion_vector Unexecuted instantiation: warp_plane_avx2.c:gm_get_motion_vector Unexecuted instantiation: wiener_convolve_avx2.c:gm_get_motion_vector Unexecuted instantiation: highbd_convolve_2d_avx2.c:gm_get_motion_vector Unexecuted instantiation: highbd_jnt_convolve_avx2.c:gm_get_motion_vector Unexecuted instantiation: highbd_wiener_convolve_avx2.c:gm_get_motion_vector Unexecuted instantiation: highbd_warp_affine_avx2.c:gm_get_motion_vector Unexecuted instantiation: highbd_intrapred_sse2.c:gm_get_motion_vector Unexecuted instantiation: av1_inv_txfm1d.c:gm_get_motion_vector |
298 | | |
299 | 0 | static inline TransformationType get_wmtype(const WarpedMotionParams *gm) { |
300 | 0 | if (gm->wmmat[5] == (1 << WARPEDMODEL_PREC_BITS) && !gm->wmmat[4] && |
301 | 0 | gm->wmmat[2] == (1 << WARPEDMODEL_PREC_BITS) && !gm->wmmat[3]) { |
302 | 0 | return ((!gm->wmmat[1] && !gm->wmmat[0]) ? IDENTITY : TRANSLATION); |
303 | 0 | } |
304 | 0 | if (gm->wmmat[2] == gm->wmmat[5] && gm->wmmat[3] == -gm->wmmat[4]) |
305 | 0 | return ROTZOOM; |
306 | 0 | else |
307 | 0 | return AFFINE; |
308 | 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: aom_dsp_rtcd.c:get_wmtype Unexecuted instantiation: av1_rtcd.c:get_wmtype Unexecuted instantiation: aom_convolve.c:get_wmtype Unexecuted instantiation: blend_a64_hmask.c:get_wmtype Unexecuted instantiation: blend_a64_mask.c:get_wmtype Unexecuted instantiation: blend_a64_vmask.c:get_wmtype Unexecuted instantiation: intrapred.c:get_wmtype Unexecuted instantiation: aom_convolve_copy_sse2.c:get_wmtype Unexecuted instantiation: intrapred_sse2.c:get_wmtype Unexecuted instantiation: loopfilter_sse2.c:get_wmtype Unexecuted instantiation: highbd_convolve_sse2.c:get_wmtype Unexecuted instantiation: highbd_loopfilter_sse2.c:get_wmtype Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:get_wmtype Unexecuted instantiation: intrapred_ssse3.c:get_wmtype Unexecuted instantiation: highbd_convolve_ssse3.c:get_wmtype Unexecuted instantiation: blend_a64_hmask_sse4.c:get_wmtype Unexecuted instantiation: blend_a64_mask_sse4.c:get_wmtype Unexecuted instantiation: blend_a64_vmask_sse4.c:get_wmtype Unexecuted instantiation: intrapred_sse4.c:get_wmtype Unexecuted instantiation: aom_convolve_copy_avx2.c:get_wmtype Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:get_wmtype Unexecuted instantiation: intrapred_avx2.c:get_wmtype Unexecuted instantiation: loopfilter_avx2.c:get_wmtype Unexecuted instantiation: blend_a64_mask_avx2.c:get_wmtype Unexecuted instantiation: highbd_convolve_avx2.c:get_wmtype Unexecuted instantiation: highbd_loopfilter_avx2.c:get_wmtype Unexecuted instantiation: alloccommon.c:get_wmtype Unexecuted instantiation: av1_inv_txfm2d.c:get_wmtype Unexecuted instantiation: av1_loopfilter.c:get_wmtype Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:get_wmtype Unexecuted instantiation: convolve_2d_sse2.c:get_wmtype Unexecuted instantiation: convolve_sse2.c:get_wmtype Unexecuted instantiation: jnt_convolve_sse2.c:get_wmtype Unexecuted instantiation: resize_sse2.c:get_wmtype Unexecuted instantiation: wiener_convolve_sse2.c:get_wmtype Unexecuted instantiation: av1_inv_txfm_ssse3.c:get_wmtype Unexecuted instantiation: cfl_ssse3.c:get_wmtype Unexecuted instantiation: jnt_convolve_ssse3.c:get_wmtype Unexecuted instantiation: resize_ssse3.c:get_wmtype Unexecuted instantiation: highbd_convolve_2d_ssse3.c:get_wmtype Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:get_wmtype Unexecuted instantiation: reconinter_ssse3.c:get_wmtype Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:get_wmtype Unexecuted instantiation: av1_convolve_scale_sse4.c:get_wmtype Unexecuted instantiation: av1_txfm_sse4.c:get_wmtype Unexecuted instantiation: cdef_block_sse4.c:get_wmtype Unexecuted instantiation: filterintra_sse4.c:get_wmtype Unexecuted instantiation: highbd_inv_txfm_sse4.c:get_wmtype Unexecuted instantiation: intra_edge_sse4.c:get_wmtype Unexecuted instantiation: reconinter_sse4.c:get_wmtype Unexecuted instantiation: selfguided_sse4.c:get_wmtype Unexecuted instantiation: warp_plane_sse4.c:get_wmtype Unexecuted instantiation: highbd_convolve_2d_sse4.c:get_wmtype Unexecuted instantiation: highbd_jnt_convolve_sse4.c:get_wmtype Unexecuted instantiation: highbd_warp_plane_sse4.c:get_wmtype Unexecuted instantiation: av1_inv_txfm_avx2.c:get_wmtype Unexecuted instantiation: cdef_block_avx2.c:get_wmtype Unexecuted instantiation: cfl_avx2.c:get_wmtype Unexecuted instantiation: convolve_2d_avx2.c:get_wmtype Unexecuted instantiation: convolve_avx2.c:get_wmtype Unexecuted instantiation: highbd_inv_txfm_avx2.c:get_wmtype Unexecuted instantiation: jnt_convolve_avx2.c:get_wmtype Unexecuted instantiation: reconinter_avx2.c:get_wmtype Unexecuted instantiation: resize_avx2.c:get_wmtype Unexecuted instantiation: selfguided_avx2.c:get_wmtype Unexecuted instantiation: warp_plane_avx2.c:get_wmtype Unexecuted instantiation: wiener_convolve_avx2.c:get_wmtype Unexecuted instantiation: highbd_convolve_2d_avx2.c:get_wmtype Unexecuted instantiation: highbd_jnt_convolve_avx2.c:get_wmtype Unexecuted instantiation: highbd_wiener_convolve_avx2.c:get_wmtype Unexecuted instantiation: highbd_warp_affine_avx2.c:get_wmtype Unexecuted instantiation: highbd_intrapred_sse2.c:get_wmtype Unexecuted instantiation: av1_inv_txfm1d.c:get_wmtype |
309 | | |
310 | | typedef struct candidate_mv { |
311 | | int_mv this_mv; |
312 | | int_mv comp_mv; |
313 | | } CANDIDATE_MV; |
314 | | |
315 | 0 | static inline int is_zero_mv(const MV *mv) { |
316 | 0 | return *((const uint32_t *)mv) == 0; |
317 | 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: 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_hmask.c:is_zero_mv Unexecuted instantiation: blend_a64_mask.c:is_zero_mv Unexecuted instantiation: blend_a64_vmask.c:is_zero_mv Unexecuted instantiation: intrapred.c:is_zero_mv Unexecuted instantiation: aom_convolve_copy_sse2.c:is_zero_mv Unexecuted instantiation: intrapred_sse2.c:is_zero_mv Unexecuted instantiation: loopfilter_sse2.c:is_zero_mv Unexecuted instantiation: highbd_convolve_sse2.c:is_zero_mv Unexecuted instantiation: highbd_loopfilter_sse2.c:is_zero_mv Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:is_zero_mv Unexecuted instantiation: intrapred_ssse3.c:is_zero_mv Unexecuted instantiation: highbd_convolve_ssse3.c:is_zero_mv Unexecuted instantiation: blend_a64_hmask_sse4.c:is_zero_mv Unexecuted instantiation: blend_a64_mask_sse4.c:is_zero_mv Unexecuted instantiation: blend_a64_vmask_sse4.c:is_zero_mv Unexecuted instantiation: intrapred_sse4.c:is_zero_mv Unexecuted instantiation: aom_convolve_copy_avx2.c:is_zero_mv Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:is_zero_mv Unexecuted instantiation: intrapred_avx2.c:is_zero_mv Unexecuted instantiation: loopfilter_avx2.c:is_zero_mv Unexecuted instantiation: blend_a64_mask_avx2.c:is_zero_mv Unexecuted instantiation: highbd_convolve_avx2.c:is_zero_mv Unexecuted instantiation: highbd_loopfilter_avx2.c:is_zero_mv Unexecuted instantiation: alloccommon.c:is_zero_mv Unexecuted instantiation: av1_inv_txfm2d.c:is_zero_mv Unexecuted instantiation: av1_loopfilter.c:is_zero_mv Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:is_zero_mv Unexecuted instantiation: convolve_2d_sse2.c:is_zero_mv Unexecuted instantiation: convolve_sse2.c:is_zero_mv Unexecuted instantiation: jnt_convolve_sse2.c:is_zero_mv Unexecuted instantiation: resize_sse2.c:is_zero_mv Unexecuted instantiation: wiener_convolve_sse2.c:is_zero_mv Unexecuted instantiation: av1_inv_txfm_ssse3.c:is_zero_mv Unexecuted instantiation: cfl_ssse3.c:is_zero_mv Unexecuted instantiation: jnt_convolve_ssse3.c:is_zero_mv Unexecuted instantiation: resize_ssse3.c:is_zero_mv Unexecuted instantiation: highbd_convolve_2d_ssse3.c:is_zero_mv Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:is_zero_mv Unexecuted instantiation: reconinter_ssse3.c:is_zero_mv Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:is_zero_mv Unexecuted instantiation: av1_convolve_scale_sse4.c:is_zero_mv Unexecuted instantiation: av1_txfm_sse4.c:is_zero_mv Unexecuted instantiation: cdef_block_sse4.c:is_zero_mv Unexecuted instantiation: filterintra_sse4.c:is_zero_mv Unexecuted instantiation: highbd_inv_txfm_sse4.c:is_zero_mv Unexecuted instantiation: intra_edge_sse4.c:is_zero_mv Unexecuted instantiation: reconinter_sse4.c:is_zero_mv Unexecuted instantiation: selfguided_sse4.c:is_zero_mv Unexecuted instantiation: warp_plane_sse4.c:is_zero_mv Unexecuted instantiation: highbd_convolve_2d_sse4.c:is_zero_mv Unexecuted instantiation: highbd_jnt_convolve_sse4.c:is_zero_mv Unexecuted instantiation: highbd_warp_plane_sse4.c:is_zero_mv Unexecuted instantiation: av1_inv_txfm_avx2.c:is_zero_mv Unexecuted instantiation: cdef_block_avx2.c:is_zero_mv Unexecuted instantiation: cfl_avx2.c:is_zero_mv Unexecuted instantiation: convolve_2d_avx2.c:is_zero_mv Unexecuted instantiation: convolve_avx2.c:is_zero_mv Unexecuted instantiation: highbd_inv_txfm_avx2.c:is_zero_mv Unexecuted instantiation: jnt_convolve_avx2.c:is_zero_mv Unexecuted instantiation: reconinter_avx2.c:is_zero_mv Unexecuted instantiation: resize_avx2.c:is_zero_mv Unexecuted instantiation: selfguided_avx2.c:is_zero_mv Unexecuted instantiation: warp_plane_avx2.c:is_zero_mv Unexecuted instantiation: wiener_convolve_avx2.c:is_zero_mv Unexecuted instantiation: highbd_convolve_2d_avx2.c:is_zero_mv Unexecuted instantiation: highbd_jnt_convolve_avx2.c:is_zero_mv Unexecuted instantiation: highbd_wiener_convolve_avx2.c:is_zero_mv Unexecuted instantiation: highbd_warp_affine_avx2.c:is_zero_mv Unexecuted instantiation: highbd_intrapred_sse2.c:is_zero_mv Unexecuted instantiation: av1_inv_txfm1d.c:is_zero_mv |
318 | | |
319 | 0 | static inline int is_equal_mv(const MV *a, const MV *b) { |
320 | 0 | return *((const uint32_t *)a) == *((const uint32_t *)b); |
321 | 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: 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_hmask.c:is_equal_mv Unexecuted instantiation: blend_a64_mask.c:is_equal_mv Unexecuted instantiation: blend_a64_vmask.c:is_equal_mv Unexecuted instantiation: intrapred.c:is_equal_mv Unexecuted instantiation: aom_convolve_copy_sse2.c:is_equal_mv Unexecuted instantiation: intrapred_sse2.c:is_equal_mv Unexecuted instantiation: loopfilter_sse2.c:is_equal_mv Unexecuted instantiation: highbd_convolve_sse2.c:is_equal_mv Unexecuted instantiation: highbd_loopfilter_sse2.c:is_equal_mv Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:is_equal_mv Unexecuted instantiation: intrapred_ssse3.c:is_equal_mv Unexecuted instantiation: highbd_convolve_ssse3.c:is_equal_mv Unexecuted instantiation: blend_a64_hmask_sse4.c:is_equal_mv Unexecuted instantiation: blend_a64_mask_sse4.c:is_equal_mv Unexecuted instantiation: blend_a64_vmask_sse4.c:is_equal_mv Unexecuted instantiation: intrapred_sse4.c:is_equal_mv Unexecuted instantiation: aom_convolve_copy_avx2.c:is_equal_mv Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:is_equal_mv Unexecuted instantiation: intrapred_avx2.c:is_equal_mv Unexecuted instantiation: loopfilter_avx2.c:is_equal_mv Unexecuted instantiation: blend_a64_mask_avx2.c:is_equal_mv Unexecuted instantiation: highbd_convolve_avx2.c:is_equal_mv Unexecuted instantiation: highbd_loopfilter_avx2.c:is_equal_mv Unexecuted instantiation: alloccommon.c:is_equal_mv Unexecuted instantiation: av1_inv_txfm2d.c:is_equal_mv Unexecuted instantiation: av1_loopfilter.c:is_equal_mv Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:is_equal_mv Unexecuted instantiation: convolve_2d_sse2.c:is_equal_mv Unexecuted instantiation: convolve_sse2.c:is_equal_mv Unexecuted instantiation: jnt_convolve_sse2.c:is_equal_mv Unexecuted instantiation: resize_sse2.c:is_equal_mv Unexecuted instantiation: wiener_convolve_sse2.c:is_equal_mv Unexecuted instantiation: av1_inv_txfm_ssse3.c:is_equal_mv Unexecuted instantiation: cfl_ssse3.c:is_equal_mv Unexecuted instantiation: jnt_convolve_ssse3.c:is_equal_mv Unexecuted instantiation: resize_ssse3.c:is_equal_mv Unexecuted instantiation: highbd_convolve_2d_ssse3.c:is_equal_mv Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:is_equal_mv Unexecuted instantiation: reconinter_ssse3.c:is_equal_mv Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:is_equal_mv Unexecuted instantiation: av1_convolve_scale_sse4.c:is_equal_mv Unexecuted instantiation: av1_txfm_sse4.c:is_equal_mv Unexecuted instantiation: cdef_block_sse4.c:is_equal_mv Unexecuted instantiation: filterintra_sse4.c:is_equal_mv Unexecuted instantiation: highbd_inv_txfm_sse4.c:is_equal_mv Unexecuted instantiation: intra_edge_sse4.c:is_equal_mv Unexecuted instantiation: reconinter_sse4.c:is_equal_mv Unexecuted instantiation: selfguided_sse4.c:is_equal_mv Unexecuted instantiation: warp_plane_sse4.c:is_equal_mv Unexecuted instantiation: highbd_convolve_2d_sse4.c:is_equal_mv Unexecuted instantiation: highbd_jnt_convolve_sse4.c:is_equal_mv Unexecuted instantiation: highbd_warp_plane_sse4.c:is_equal_mv Unexecuted instantiation: av1_inv_txfm_avx2.c:is_equal_mv Unexecuted instantiation: cdef_block_avx2.c:is_equal_mv Unexecuted instantiation: cfl_avx2.c:is_equal_mv Unexecuted instantiation: convolve_2d_avx2.c:is_equal_mv Unexecuted instantiation: convolve_avx2.c:is_equal_mv Unexecuted instantiation: highbd_inv_txfm_avx2.c:is_equal_mv Unexecuted instantiation: jnt_convolve_avx2.c:is_equal_mv Unexecuted instantiation: reconinter_avx2.c:is_equal_mv Unexecuted instantiation: resize_avx2.c:is_equal_mv Unexecuted instantiation: selfguided_avx2.c:is_equal_mv Unexecuted instantiation: warp_plane_avx2.c:is_equal_mv Unexecuted instantiation: wiener_convolve_avx2.c:is_equal_mv Unexecuted instantiation: highbd_convolve_2d_avx2.c:is_equal_mv Unexecuted instantiation: highbd_jnt_convolve_avx2.c:is_equal_mv Unexecuted instantiation: highbd_wiener_convolve_avx2.c:is_equal_mv Unexecuted instantiation: highbd_warp_affine_avx2.c:is_equal_mv Unexecuted instantiation: highbd_intrapred_sse2.c:is_equal_mv Unexecuted instantiation: av1_inv_txfm1d.c:is_equal_mv |
322 | | |
323 | 30.3M | static inline void clamp_mv(MV *mv, const SubpelMvLimits *mv_limits) { |
324 | 30.3M | mv->col = clamp(mv->col, mv_limits->col_min, mv_limits->col_max); |
325 | 30.3M | mv->row = clamp(mv->row, mv_limits->row_min, mv_limits->row_max); |
326 | 30.3M | } Unexecuted instantiation: av1_dx_iface.c:clamp_mv Line | Count | Source | 323 | 17.0M | static inline void clamp_mv(MV *mv, const SubpelMvLimits *mv_limits) { | 324 | 17.0M | mv->col = clamp(mv->col, mv_limits->col_min, mv_limits->col_max); | 325 | 17.0M | mv->row = clamp(mv->row, mv_limits->row_min, mv_limits->row_max); | 326 | 17.0M | } |
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: aom_dsp_rtcd.c:clamp_mv Unexecuted instantiation: av1_rtcd.c:clamp_mv Unexecuted instantiation: aom_convolve.c:clamp_mv Unexecuted instantiation: blend_a64_hmask.c:clamp_mv Unexecuted instantiation: blend_a64_mask.c:clamp_mv Unexecuted instantiation: blend_a64_vmask.c:clamp_mv Unexecuted instantiation: intrapred.c:clamp_mv Unexecuted instantiation: aom_convolve_copy_sse2.c:clamp_mv Unexecuted instantiation: intrapred_sse2.c:clamp_mv Unexecuted instantiation: loopfilter_sse2.c:clamp_mv Unexecuted instantiation: highbd_convolve_sse2.c:clamp_mv Unexecuted instantiation: highbd_loopfilter_sse2.c:clamp_mv Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:clamp_mv Unexecuted instantiation: intrapred_ssse3.c:clamp_mv Unexecuted instantiation: highbd_convolve_ssse3.c:clamp_mv Unexecuted instantiation: blend_a64_hmask_sse4.c:clamp_mv Unexecuted instantiation: blend_a64_mask_sse4.c:clamp_mv Unexecuted instantiation: blend_a64_vmask_sse4.c:clamp_mv Unexecuted instantiation: intrapred_sse4.c:clamp_mv Unexecuted instantiation: aom_convolve_copy_avx2.c:clamp_mv Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:clamp_mv Unexecuted instantiation: intrapred_avx2.c:clamp_mv Unexecuted instantiation: loopfilter_avx2.c:clamp_mv Unexecuted instantiation: blend_a64_mask_avx2.c:clamp_mv Unexecuted instantiation: highbd_convolve_avx2.c:clamp_mv Unexecuted instantiation: highbd_loopfilter_avx2.c:clamp_mv Unexecuted instantiation: alloccommon.c:clamp_mv Unexecuted instantiation: av1_inv_txfm2d.c:clamp_mv Unexecuted instantiation: av1_loopfilter.c:clamp_mv Unexecuted instantiation: av1_txfm.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: convolve.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 | 323 | 13.3M | static inline void clamp_mv(MV *mv, const SubpelMvLimits *mv_limits) { | 324 | 13.3M | mv->col = clamp(mv->col, mv_limits->col_min, mv_limits->col_max); | 325 | 13.3M | mv->row = clamp(mv->row, mv_limits->row_min, mv_limits->row_max); | 326 | 13.3M | } |
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: cfl_sse2.c:clamp_mv Unexecuted instantiation: convolve_2d_sse2.c:clamp_mv Unexecuted instantiation: convolve_sse2.c:clamp_mv Unexecuted instantiation: jnt_convolve_sse2.c:clamp_mv Unexecuted instantiation: resize_sse2.c:clamp_mv Unexecuted instantiation: wiener_convolve_sse2.c:clamp_mv Unexecuted instantiation: av1_inv_txfm_ssse3.c:clamp_mv Unexecuted instantiation: cfl_ssse3.c:clamp_mv Unexecuted instantiation: jnt_convolve_ssse3.c:clamp_mv Unexecuted instantiation: resize_ssse3.c:clamp_mv Unexecuted instantiation: highbd_convolve_2d_ssse3.c:clamp_mv Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:clamp_mv Unexecuted instantiation: reconinter_ssse3.c:clamp_mv Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:clamp_mv Unexecuted instantiation: av1_convolve_scale_sse4.c:clamp_mv Unexecuted instantiation: av1_txfm_sse4.c:clamp_mv Unexecuted instantiation: cdef_block_sse4.c:clamp_mv Unexecuted instantiation: filterintra_sse4.c:clamp_mv Unexecuted instantiation: highbd_inv_txfm_sse4.c:clamp_mv Unexecuted instantiation: intra_edge_sse4.c:clamp_mv Unexecuted instantiation: reconinter_sse4.c:clamp_mv Unexecuted instantiation: selfguided_sse4.c:clamp_mv Unexecuted instantiation: warp_plane_sse4.c:clamp_mv Unexecuted instantiation: highbd_convolve_2d_sse4.c:clamp_mv Unexecuted instantiation: highbd_jnt_convolve_sse4.c:clamp_mv Unexecuted instantiation: highbd_warp_plane_sse4.c:clamp_mv Unexecuted instantiation: av1_inv_txfm_avx2.c:clamp_mv Unexecuted instantiation: cdef_block_avx2.c:clamp_mv Unexecuted instantiation: cfl_avx2.c:clamp_mv Unexecuted instantiation: convolve_2d_avx2.c:clamp_mv Unexecuted instantiation: convolve_avx2.c:clamp_mv Unexecuted instantiation: highbd_inv_txfm_avx2.c:clamp_mv Unexecuted instantiation: jnt_convolve_avx2.c:clamp_mv Unexecuted instantiation: reconinter_avx2.c:clamp_mv Unexecuted instantiation: resize_avx2.c:clamp_mv Unexecuted instantiation: selfguided_avx2.c:clamp_mv Unexecuted instantiation: warp_plane_avx2.c:clamp_mv Unexecuted instantiation: wiener_convolve_avx2.c:clamp_mv Unexecuted instantiation: highbd_convolve_2d_avx2.c:clamp_mv Unexecuted instantiation: highbd_jnt_convolve_avx2.c:clamp_mv Unexecuted instantiation: highbd_wiener_convolve_avx2.c:clamp_mv Unexecuted instantiation: highbd_warp_affine_avx2.c:clamp_mv Unexecuted instantiation: highbd_intrapred_sse2.c:clamp_mv Unexecuted instantiation: av1_inv_txfm1d.c:clamp_mv |
327 | | |
328 | 0 | static inline void clamp_fullmv(FULLPEL_MV *mv, const FullMvLimits *mv_limits) { |
329 | 0 | mv->col = clamp(mv->col, mv_limits->col_min, mv_limits->col_max); |
330 | 0 | mv->row = clamp(mv->row, mv_limits->row_min, mv_limits->row_max); |
331 | 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: aom_dsp_rtcd.c:clamp_fullmv Unexecuted instantiation: av1_rtcd.c:clamp_fullmv Unexecuted instantiation: aom_convolve.c:clamp_fullmv Unexecuted instantiation: blend_a64_hmask.c:clamp_fullmv Unexecuted instantiation: blend_a64_mask.c:clamp_fullmv Unexecuted instantiation: blend_a64_vmask.c:clamp_fullmv Unexecuted instantiation: intrapred.c:clamp_fullmv Unexecuted instantiation: aom_convolve_copy_sse2.c:clamp_fullmv Unexecuted instantiation: intrapred_sse2.c:clamp_fullmv Unexecuted instantiation: loopfilter_sse2.c:clamp_fullmv Unexecuted instantiation: highbd_convolve_sse2.c:clamp_fullmv Unexecuted instantiation: highbd_loopfilter_sse2.c:clamp_fullmv Unexecuted instantiation: aom_subpixel_8t_intrin_ssse3.c:clamp_fullmv Unexecuted instantiation: intrapred_ssse3.c:clamp_fullmv Unexecuted instantiation: highbd_convolve_ssse3.c:clamp_fullmv Unexecuted instantiation: blend_a64_hmask_sse4.c:clamp_fullmv Unexecuted instantiation: blend_a64_mask_sse4.c:clamp_fullmv Unexecuted instantiation: blend_a64_vmask_sse4.c:clamp_fullmv Unexecuted instantiation: intrapred_sse4.c:clamp_fullmv Unexecuted instantiation: aom_convolve_copy_avx2.c:clamp_fullmv Unexecuted instantiation: aom_subpixel_8t_intrin_avx2.c:clamp_fullmv Unexecuted instantiation: intrapred_avx2.c:clamp_fullmv Unexecuted instantiation: loopfilter_avx2.c:clamp_fullmv Unexecuted instantiation: blend_a64_mask_avx2.c:clamp_fullmv Unexecuted instantiation: highbd_convolve_avx2.c:clamp_fullmv Unexecuted instantiation: highbd_loopfilter_avx2.c:clamp_fullmv Unexecuted instantiation: alloccommon.c:clamp_fullmv Unexecuted instantiation: av1_inv_txfm2d.c:clamp_fullmv Unexecuted instantiation: av1_loopfilter.c:clamp_fullmv Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:clamp_fullmv Unexecuted instantiation: convolve_2d_sse2.c:clamp_fullmv Unexecuted instantiation: convolve_sse2.c:clamp_fullmv Unexecuted instantiation: jnt_convolve_sse2.c:clamp_fullmv Unexecuted instantiation: resize_sse2.c:clamp_fullmv Unexecuted instantiation: wiener_convolve_sse2.c:clamp_fullmv Unexecuted instantiation: av1_inv_txfm_ssse3.c:clamp_fullmv Unexecuted instantiation: cfl_ssse3.c:clamp_fullmv Unexecuted instantiation: jnt_convolve_ssse3.c:clamp_fullmv Unexecuted instantiation: resize_ssse3.c:clamp_fullmv Unexecuted instantiation: highbd_convolve_2d_ssse3.c:clamp_fullmv Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:clamp_fullmv Unexecuted instantiation: reconinter_ssse3.c:clamp_fullmv Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:clamp_fullmv Unexecuted instantiation: av1_convolve_scale_sse4.c:clamp_fullmv Unexecuted instantiation: av1_txfm_sse4.c:clamp_fullmv Unexecuted instantiation: cdef_block_sse4.c:clamp_fullmv Unexecuted instantiation: filterintra_sse4.c:clamp_fullmv Unexecuted instantiation: highbd_inv_txfm_sse4.c:clamp_fullmv Unexecuted instantiation: intra_edge_sse4.c:clamp_fullmv Unexecuted instantiation: reconinter_sse4.c:clamp_fullmv Unexecuted instantiation: selfguided_sse4.c:clamp_fullmv Unexecuted instantiation: warp_plane_sse4.c:clamp_fullmv Unexecuted instantiation: highbd_convolve_2d_sse4.c:clamp_fullmv Unexecuted instantiation: highbd_jnt_convolve_sse4.c:clamp_fullmv Unexecuted instantiation: highbd_warp_plane_sse4.c:clamp_fullmv Unexecuted instantiation: av1_inv_txfm_avx2.c:clamp_fullmv Unexecuted instantiation: cdef_block_avx2.c:clamp_fullmv Unexecuted instantiation: cfl_avx2.c:clamp_fullmv Unexecuted instantiation: convolve_2d_avx2.c:clamp_fullmv Unexecuted instantiation: convolve_avx2.c:clamp_fullmv Unexecuted instantiation: highbd_inv_txfm_avx2.c:clamp_fullmv Unexecuted instantiation: jnt_convolve_avx2.c:clamp_fullmv Unexecuted instantiation: reconinter_avx2.c:clamp_fullmv Unexecuted instantiation: resize_avx2.c:clamp_fullmv Unexecuted instantiation: selfguided_avx2.c:clamp_fullmv Unexecuted instantiation: warp_plane_avx2.c:clamp_fullmv Unexecuted instantiation: wiener_convolve_avx2.c:clamp_fullmv Unexecuted instantiation: highbd_convolve_2d_avx2.c:clamp_fullmv Unexecuted instantiation: highbd_jnt_convolve_avx2.c:clamp_fullmv Unexecuted instantiation: highbd_wiener_convolve_avx2.c:clamp_fullmv Unexecuted instantiation: highbd_warp_affine_avx2.c:clamp_fullmv Unexecuted instantiation: highbd_intrapred_sse2.c:clamp_fullmv Unexecuted instantiation: av1_inv_txfm1d.c:clamp_fullmv |
332 | | |
333 | | #ifdef __cplusplus |
334 | | } // extern "C" |
335 | | #endif |
336 | | |
337 | | #endif // AOM_AV1_COMMON_MV_H_ |