Coverage Report

Created: 2025-08-28 06:38

/src/libhevc/common/x86/ihevc_platform_macros.h
Line
Count
Source (jump to first uncovered line)
1
/******************************************************************************
2
*
3
* Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at:
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
******************************************************************************/
18
/**
19
*******************************************************************************
20
* @file
21
*  ihevc_platform_macros.h
22
*
23
* @brief
24
*  Platform specific Macro definitions used in the codec
25
*
26
* @author
27
*  Ittiam
28
*
29
* @remarks
30
*  None
31
*
32
*******************************************************************************
33
*/
34
35
36
#ifndef _IHEVC_PLATFORM_MACROS_H_
37
#define _IHEVC_PLATFORM_MACROS_H_
38
39
40
7.12G
#define CLIP_U8(x) CLIP3((x), 0,     255);
41
6.87M
#define CLIP_S8(x) CLIP3((x), -128,  127);
42
43
#define CLIP_U10(x) CLIP3((x), 0,     1023);
44
#define CLIP_S10(x) CLIP3((x), -512,  511);
45
46
#define CLIP_U12(x) CLIP3((x), 0,     4095);
47
#define CLIP_S12(x) CLIP3((x), -2048,  2047);
48
49
#define CLIP_U14(x) CLIP3((x), 0,     16383);
50
#define CLIP_S14(x) CLIP3((x), -8192,  8191);
51
52
29.1M
#define CLIP_U16(x) CLIP3((x), 0,        65535);
53
21.9G
#define CLIP_S16(x) CLIP3((x), -32768,   32767);
54
55
56
#define SHL(x,y) (((y) < 32) ? ((x) << (y)) : 0)
57
488k
#define SHR(x,y) (((y) < 32) ? ((x) >> (y)) : 0)
58
59
7.11G
#define SHR_NEG(val,shift)  ((shift>0)?(val>>shift):(val<<(-shift)))
60
6.53G
#define SHL_NEG(val,shift)  ((shift<0)?(val>>(-shift)):(val<<shift))
61
62
63
874k
#define ITT_BIG_ENDIAN(x)       ((x << 24))                |   \
64
874k
                            ((x & 0x0000ff00) << 8)    |   \
65
874k
                            ((x & 0x00ff0000) >> 8)    |   \
66
874k
                            ((UWORD32)x >> 24);
67
68
173M
#define NOP(nop_cnt)    {UWORD32 nop_i; for (nop_i = 0; nop_i < nop_cnt; nop_i++) asm("nop");}
69
70
#define POPCNT_U32(x)       __builtin_popcount(x)
71
72
#define PLD(a)
73
#define INLINE inline
74
75
static INLINE UWORD32 CLZ(UWORD32 u4_word)
76
60.1M
{
77
60.1M
    if(u4_word)
78
54.0M
        return (__builtin_clz(u4_word));
79
6.13M
    else
80
6.13M
        return 31;
81
60.1M
}
Unexecuted instantiation: ihevcd_api.c:CLZ
Unexecuted instantiation: ihevcd_decode.c:CLZ
Unexecuted instantiation: ihevcd_nal.c:CLZ
ihevcd_bitstream.c:CLZ
Line
Count
Source
76
42.8k
{
77
42.8k
    if(u4_word)
78
42.4k
        return (__builtin_clz(u4_word));
79
344
    else
80
344
        return 31;
81
42.8k
}
Unexecuted instantiation: ihevcd_parse_headers.c:CLZ
ihevcd_parse_slice_header.c:CLZ
Line
Count
Source
76
11.7k
{
77
11.7k
    if(u4_word)
78
11.7k
        return (__builtin_clz(u4_word));
79
0
    else
80
0
        return 31;
81
11.7k
}
Unexecuted instantiation: ihevcd_parse_slice.c:CLZ
ihevcd_parse_residual.c:CLZ
Line
Count
Source
76
15.7M
{
77
15.7M
    if(u4_word)
78
14.4M
        return (__builtin_clz(u4_word));
79
1.29M
    else
80
1.29M
        return 31;
81
15.7M
}
ihevcd_cabac.c:CLZ
Line
Count
Source
76
8.76M
{
77
8.76M
    if(u4_word)
78
8.76M
        return (__builtin_clz(u4_word));
79
0
    else
80
0
        return 31;
81
8.76M
}
Unexecuted instantiation: ihevcd_intra_pred_mode_prediction.c:CLZ
Unexecuted instantiation: ihevcd_process_slice.c:CLZ
Unexecuted instantiation: ihevcd_utils.c:CLZ
Unexecuted instantiation: ihevcd_job_queue.c:CLZ
Unexecuted instantiation: ihevcd_ref_list.c:CLZ
Unexecuted instantiation: ihevcd_get_mv.c:CLZ
Unexecuted instantiation: ihevcd_mv_pred.c:CLZ
Unexecuted instantiation: ihevcd_mv_merge.c:CLZ
ihevcd_iquant_itrans_recon_ctb.c:CLZ
Line
Count
Source
76
2.68M
{
77
2.68M
    if(u4_word)
78
2.68M
        return (__builtin_clz(u4_word));
79
18.4E
    else
80
18.4E
        return 31;
81
2.68M
}
Unexecuted instantiation: ihevcd_boundary_strength.c:CLZ
Unexecuted instantiation: ihevcd_deblk.c:CLZ
Unexecuted instantiation: ihevcd_inter_pred.c:CLZ
Unexecuted instantiation: ihevcd_sao.c:CLZ
Unexecuted instantiation: ihevcd_fmt_conv.c:CLZ
Unexecuted instantiation: ihevcd_function_selector.c:CLZ
Unexecuted instantiation: ihevcd_function_selector_generic.c:CLZ
Unexecuted instantiation: ihevcd_function_selector_ssse3.c:CLZ
Unexecuted instantiation: ihevcd_function_selector_sse42.c:CLZ
Unexecuted instantiation: ihevcd_fmt_conv_ssse3_intr.c:CLZ
Unexecuted instantiation: ihevcd_it_rec_dc_ssse3_intr.c:CLZ
Unexecuted instantiation: ihevcd_it_rec_dc_sse42_intr.c:CLZ
Unexecuted instantiation: ihevc_inter_pred_filters.c:CLZ
Unexecuted instantiation: ihevc_weighted_pred.c:CLZ
Unexecuted instantiation: ihevc_padding.c:CLZ
Unexecuted instantiation: ihevc_deblk_edge_filter.c:CLZ
Unexecuted instantiation: ihevc_common_tables.c:CLZ
Unexecuted instantiation: ihevc_intra_pred_filters.c:CLZ
Unexecuted instantiation: ihevc_chroma_intra_pred_filters.c:CLZ
Unexecuted instantiation: ihevc_sao.c:CLZ
Unexecuted instantiation: ihevc_trans_tables.c:CLZ
Unexecuted instantiation: ihevc_recon.c:CLZ
Unexecuted instantiation: ihevc_itrans.c:CLZ
Unexecuted instantiation: ihevc_itrans_recon.c:CLZ
Unexecuted instantiation: ihevc_itrans_recon_32x32.c:CLZ
Unexecuted instantiation: ihevc_itrans_recon_16x16.c:CLZ
Unexecuted instantiation: ihevc_itrans_recon_8x8.c:CLZ
Unexecuted instantiation: ihevc_chroma_itrans_recon.c:CLZ
Unexecuted instantiation: ihevc_chroma_recon.c:CLZ
Unexecuted instantiation: ihevc_chroma_itrans_recon_16x16.c:CLZ
Unexecuted instantiation: ihevc_chroma_itrans_recon_8x8.c:CLZ
Unexecuted instantiation: ihevc_inter_pred_filters_ssse3_intr.c:CLZ
Unexecuted instantiation: ihevc_weighted_pred_ssse3_intr.c:CLZ
Unexecuted instantiation: ihevc_intra_pred_filters_ssse3_intr.c:CLZ
Unexecuted instantiation: ihevc_chroma_intra_pred_filters_ssse3_intr.c:CLZ
Unexecuted instantiation: ihevc_itrans_recon_ssse3_intr.c:CLZ
Unexecuted instantiation: ihevc_itrans_recon_16x16_ssse3_intr.c:CLZ
Unexecuted instantiation: ihevc_itrans_recon_32x32_ssse3_intr.c:CLZ
Unexecuted instantiation: ihevc_sao_ssse3_intr.c:CLZ
Unexecuted instantiation: ihevc_deblk_ssse3_intr.c:CLZ
Unexecuted instantiation: ihevc_inter_pred_filters_sse42_intr.c:CLZ
Unexecuted instantiation: ihevc_weighted_pred_sse42_intr.c:CLZ
Unexecuted instantiation: ihevc_intra_pred_filters_sse42_intr.c:CLZ
Unexecuted instantiation: ihevc_chroma_intra_pred_filters_sse42_intr.c:CLZ
Unexecuted instantiation: ihevc_itrans_recon_sse42_intr.c:CLZ
Unexecuted instantiation: ihevc_32x32_itrans_recon_sse42_intr.c:CLZ
Unexecuted instantiation: ihevc_tables_x86_intr.c:CLZ
Unexecuted instantiation: ihevcd_itrans_recon_dc.c:CLZ
Unexecuted instantiation: ihevce_plugin.c:CLZ
Unexecuted instantiation: ihevce_entropy_cod.c:CLZ
Unexecuted instantiation: ihevce_entropy_interface.c:CLZ
Unexecuted instantiation: ihevce_error_check.c:CLZ
Unexecuted instantiation: ihevce_frame_process_utils.c:CLZ
Unexecuted instantiation: ihevce_global_tables.c:CLZ
Unexecuted instantiation: ihevce_hle_interface.c:CLZ
Unexecuted instantiation: ihevce_hle_q_func.c:CLZ
Unexecuted instantiation: ihevce_lap_interface.c:CLZ
Unexecuted instantiation: ihevce_memory_init.c:CLZ
Unexecuted instantiation: ihevce_rc_interface.c:CLZ
Unexecuted instantiation: ihevce_tile_interface.c:CLZ
Unexecuted instantiation: hme_interface.c:CLZ
Unexecuted instantiation: hme_refine.c:CLZ
Unexecuted instantiation: hme_search_algo.c:CLZ
Unexecuted instantiation: hme_subpel.c:CLZ
Unexecuted instantiation: hme_utils.c:CLZ
Unexecuted instantiation: ihevce_bitstream.c:CLZ
Unexecuted instantiation: ihevce_cabac_cu_pu.c:CLZ
ihevce_cabac_tu.c:CLZ
Line
Count
Source
76
18.2M
{
77
18.2M
    if(u4_word)
78
18.2M
        return (__builtin_clz(u4_word));
79
0
    else
80
0
        return 31;
81
18.2M
}
Unexecuted instantiation: ihevce_coarse_me_pass.c:CLZ
Unexecuted instantiation: ihevce_common_utils.c:CLZ
Unexecuted instantiation: ihevce_decomp_pre_intra_pass.c:CLZ
Unexecuted instantiation: ihevce_dep_mngr.c:CLZ
Unexecuted instantiation: ihevce_enc_loop_pass.c:CLZ
Unexecuted instantiation: ihevce_enc_loop_utils.c:CLZ
Unexecuted instantiation: ihevce_enc_sbh_funcs.c:CLZ
Unexecuted instantiation: ihevce_enc_subpel_gen.c:CLZ
Unexecuted instantiation: ihevce_encode_header.c:CLZ
Unexecuted instantiation: ihevce_encode_header_sei_vui.c:CLZ
Unexecuted instantiation: ihevce_frame_process.c:CLZ
Unexecuted instantiation: ihevce_function_selector.c:CLZ
Unexecuted instantiation: ihevce_had_satd.c:CLZ
Unexecuted instantiation: ihevce_inter_pred.c:CLZ
Unexecuted instantiation: ihevce_ipe_pass.c:CLZ
Unexecuted instantiation: ihevce_me_instr_set_router.c:CLZ
Unexecuted instantiation: ihevce_me_pass.c:CLZ
Unexecuted instantiation: ihevce_multi_thrd_funcs.c:CLZ
Unexecuted instantiation: ihevce_mv_pred.c:CLZ
Unexecuted instantiation: ihevce_mv_pred_merge.c:CLZ
Unexecuted instantiation: ihevce_nbr_avail.c:CLZ
Unexecuted instantiation: ihevce_recur_bracketing.c:CLZ
Unexecuted instantiation: ihevce_sao.c:CLZ
Unexecuted instantiation: ihevce_stasino_helpers.c:CLZ
Unexecuted instantiation: ihevce_sub_pic_rc.c:CLZ
Unexecuted instantiation: ihevce_tu_tree_selector.c:CLZ
Unexecuted instantiation: ihevc_hbd_deblk_edge_filter.c:CLZ
Unexecuted instantiation: ihevc_quant_iquant_ssd.c:CLZ
Unexecuted instantiation: ihevc_resi_trans.c:CLZ
Unexecuted instantiation: hme_coarse.c:CLZ
Unexecuted instantiation: hme_common_utils.c:CLZ
Unexecuted instantiation: hme_err_compute.c:CLZ
Unexecuted instantiation: hme_fullpel.c:CLZ
Unexecuted instantiation: hme_function_selector.c:CLZ
Unexecuted instantiation: hme_globals.c:CLZ
Unexecuted instantiation: ihevce_bs_compute_ctb.c:CLZ
Unexecuted instantiation: ihevce_cabac.c:CLZ
Unexecuted instantiation: ihevce_cabac_rdo.c:CLZ
ihevce_deblk.c:CLZ
Line
Count
Source
76
14.6M
{
77
14.6M
    if(u4_word)
78
9.81M
        return (__builtin_clz(u4_word));
79
4.83M
    else
80
4.83M
        return 31;
81
14.6M
}
Unexecuted instantiation: ihevce_enc_cu_recursion.c:CLZ
Unexecuted instantiation: ihevce_enc_loop_inter_mode_sifter.c:CLZ
82
83
static INLINE UWORD32 CLZNZ(UWORD32 u4_word)
84
0
{
85
0
   return (__builtin_clz(u4_word));
86
0
}
Unexecuted instantiation: ihevcd_api.c:CLZNZ
Unexecuted instantiation: ihevcd_decode.c:CLZNZ
Unexecuted instantiation: ihevcd_nal.c:CLZNZ
Unexecuted instantiation: ihevcd_bitstream.c:CLZNZ
Unexecuted instantiation: ihevcd_parse_headers.c:CLZNZ
Unexecuted instantiation: ihevcd_parse_slice_header.c:CLZNZ
Unexecuted instantiation: ihevcd_parse_slice.c:CLZNZ
Unexecuted instantiation: ihevcd_parse_residual.c:CLZNZ
Unexecuted instantiation: ihevcd_cabac.c:CLZNZ
Unexecuted instantiation: ihevcd_intra_pred_mode_prediction.c:CLZNZ
Unexecuted instantiation: ihevcd_process_slice.c:CLZNZ
Unexecuted instantiation: ihevcd_utils.c:CLZNZ
Unexecuted instantiation: ihevcd_job_queue.c:CLZNZ
Unexecuted instantiation: ihevcd_ref_list.c:CLZNZ
Unexecuted instantiation: ihevcd_get_mv.c:CLZNZ
Unexecuted instantiation: ihevcd_mv_pred.c:CLZNZ
Unexecuted instantiation: ihevcd_mv_merge.c:CLZNZ
Unexecuted instantiation: ihevcd_iquant_itrans_recon_ctb.c:CLZNZ
Unexecuted instantiation: ihevcd_boundary_strength.c:CLZNZ
Unexecuted instantiation: ihevcd_deblk.c:CLZNZ
Unexecuted instantiation: ihevcd_inter_pred.c:CLZNZ
Unexecuted instantiation: ihevcd_sao.c:CLZNZ
Unexecuted instantiation: ihevcd_fmt_conv.c:CLZNZ
Unexecuted instantiation: ihevcd_function_selector.c:CLZNZ
Unexecuted instantiation: ihevcd_function_selector_generic.c:CLZNZ
Unexecuted instantiation: ihevcd_function_selector_ssse3.c:CLZNZ
Unexecuted instantiation: ihevcd_function_selector_sse42.c:CLZNZ
Unexecuted instantiation: ihevcd_fmt_conv_ssse3_intr.c:CLZNZ
Unexecuted instantiation: ihevcd_it_rec_dc_ssse3_intr.c:CLZNZ
Unexecuted instantiation: ihevcd_it_rec_dc_sse42_intr.c:CLZNZ
Unexecuted instantiation: ihevc_inter_pred_filters.c:CLZNZ
Unexecuted instantiation: ihevc_weighted_pred.c:CLZNZ
Unexecuted instantiation: ihevc_padding.c:CLZNZ
Unexecuted instantiation: ihevc_deblk_edge_filter.c:CLZNZ
Unexecuted instantiation: ihevc_common_tables.c:CLZNZ
Unexecuted instantiation: ihevc_intra_pred_filters.c:CLZNZ
Unexecuted instantiation: ihevc_chroma_intra_pred_filters.c:CLZNZ
Unexecuted instantiation: ihevc_sao.c:CLZNZ
Unexecuted instantiation: ihevc_trans_tables.c:CLZNZ
Unexecuted instantiation: ihevc_recon.c:CLZNZ
Unexecuted instantiation: ihevc_itrans.c:CLZNZ
Unexecuted instantiation: ihevc_itrans_recon.c:CLZNZ
Unexecuted instantiation: ihevc_itrans_recon_32x32.c:CLZNZ
Unexecuted instantiation: ihevc_itrans_recon_16x16.c:CLZNZ
Unexecuted instantiation: ihevc_itrans_recon_8x8.c:CLZNZ
Unexecuted instantiation: ihevc_chroma_itrans_recon.c:CLZNZ
Unexecuted instantiation: ihevc_chroma_recon.c:CLZNZ
Unexecuted instantiation: ihevc_chroma_itrans_recon_16x16.c:CLZNZ
Unexecuted instantiation: ihevc_chroma_itrans_recon_8x8.c:CLZNZ
Unexecuted instantiation: ihevc_inter_pred_filters_ssse3_intr.c:CLZNZ
Unexecuted instantiation: ihevc_weighted_pred_ssse3_intr.c:CLZNZ
Unexecuted instantiation: ihevc_intra_pred_filters_ssse3_intr.c:CLZNZ
Unexecuted instantiation: ihevc_chroma_intra_pred_filters_ssse3_intr.c:CLZNZ
Unexecuted instantiation: ihevc_itrans_recon_ssse3_intr.c:CLZNZ
Unexecuted instantiation: ihevc_itrans_recon_16x16_ssse3_intr.c:CLZNZ
Unexecuted instantiation: ihevc_itrans_recon_32x32_ssse3_intr.c:CLZNZ
Unexecuted instantiation: ihevc_sao_ssse3_intr.c:CLZNZ
Unexecuted instantiation: ihevc_deblk_ssse3_intr.c:CLZNZ
Unexecuted instantiation: ihevc_inter_pred_filters_sse42_intr.c:CLZNZ
Unexecuted instantiation: ihevc_weighted_pred_sse42_intr.c:CLZNZ
Unexecuted instantiation: ihevc_intra_pred_filters_sse42_intr.c:CLZNZ
Unexecuted instantiation: ihevc_chroma_intra_pred_filters_sse42_intr.c:CLZNZ
Unexecuted instantiation: ihevc_itrans_recon_sse42_intr.c:CLZNZ
Unexecuted instantiation: ihevc_32x32_itrans_recon_sse42_intr.c:CLZNZ
Unexecuted instantiation: ihevc_tables_x86_intr.c:CLZNZ
Unexecuted instantiation: ihevcd_itrans_recon_dc.c:CLZNZ
Unexecuted instantiation: ihevce_plugin.c:CLZNZ
Unexecuted instantiation: ihevce_entropy_cod.c:CLZNZ
Unexecuted instantiation: ihevce_entropy_interface.c:CLZNZ
Unexecuted instantiation: ihevce_error_check.c:CLZNZ
Unexecuted instantiation: ihevce_frame_process_utils.c:CLZNZ
Unexecuted instantiation: ihevce_global_tables.c:CLZNZ
Unexecuted instantiation: ihevce_hle_interface.c:CLZNZ
Unexecuted instantiation: ihevce_hle_q_func.c:CLZNZ
Unexecuted instantiation: ihevce_lap_interface.c:CLZNZ
Unexecuted instantiation: ihevce_memory_init.c:CLZNZ
Unexecuted instantiation: ihevce_rc_interface.c:CLZNZ
Unexecuted instantiation: ihevce_tile_interface.c:CLZNZ
Unexecuted instantiation: hme_interface.c:CLZNZ
Unexecuted instantiation: hme_refine.c:CLZNZ
Unexecuted instantiation: hme_search_algo.c:CLZNZ
Unexecuted instantiation: hme_subpel.c:CLZNZ
Unexecuted instantiation: hme_utils.c:CLZNZ
Unexecuted instantiation: ihevce_bitstream.c:CLZNZ
Unexecuted instantiation: ihevce_cabac_cu_pu.c:CLZNZ
Unexecuted instantiation: ihevce_cabac_tu.c:CLZNZ
Unexecuted instantiation: ihevce_coarse_me_pass.c:CLZNZ
Unexecuted instantiation: ihevce_common_utils.c:CLZNZ
Unexecuted instantiation: ihevce_decomp_pre_intra_pass.c:CLZNZ
Unexecuted instantiation: ihevce_dep_mngr.c:CLZNZ
Unexecuted instantiation: ihevce_enc_loop_pass.c:CLZNZ
Unexecuted instantiation: ihevce_enc_loop_utils.c:CLZNZ
Unexecuted instantiation: ihevce_enc_sbh_funcs.c:CLZNZ
Unexecuted instantiation: ihevce_enc_subpel_gen.c:CLZNZ
Unexecuted instantiation: ihevce_encode_header.c:CLZNZ
Unexecuted instantiation: ihevce_encode_header_sei_vui.c:CLZNZ
Unexecuted instantiation: ihevce_frame_process.c:CLZNZ
Unexecuted instantiation: ihevce_function_selector.c:CLZNZ
Unexecuted instantiation: ihevce_had_satd.c:CLZNZ
Unexecuted instantiation: ihevce_inter_pred.c:CLZNZ
Unexecuted instantiation: ihevce_ipe_pass.c:CLZNZ
Unexecuted instantiation: ihevce_me_instr_set_router.c:CLZNZ
Unexecuted instantiation: ihevce_me_pass.c:CLZNZ
Unexecuted instantiation: ihevce_multi_thrd_funcs.c:CLZNZ
Unexecuted instantiation: ihevce_mv_pred.c:CLZNZ
Unexecuted instantiation: ihevce_mv_pred_merge.c:CLZNZ
Unexecuted instantiation: ihevce_nbr_avail.c:CLZNZ
Unexecuted instantiation: ihevce_recur_bracketing.c:CLZNZ
Unexecuted instantiation: ihevce_sao.c:CLZNZ
Unexecuted instantiation: ihevce_stasino_helpers.c:CLZNZ
Unexecuted instantiation: ihevce_sub_pic_rc.c:CLZNZ
Unexecuted instantiation: ihevce_tu_tree_selector.c:CLZNZ
Unexecuted instantiation: ihevc_hbd_deblk_edge_filter.c:CLZNZ
Unexecuted instantiation: ihevc_quant_iquant_ssd.c:CLZNZ
Unexecuted instantiation: ihevc_resi_trans.c:CLZNZ
Unexecuted instantiation: hme_coarse.c:CLZNZ
Unexecuted instantiation: hme_common_utils.c:CLZNZ
Unexecuted instantiation: hme_err_compute.c:CLZNZ
Unexecuted instantiation: hme_fullpel.c:CLZNZ
Unexecuted instantiation: hme_function_selector.c:CLZNZ
Unexecuted instantiation: hme_globals.c:CLZNZ
Unexecuted instantiation: ihevce_bs_compute_ctb.c:CLZNZ
Unexecuted instantiation: ihevce_cabac.c:CLZNZ
Unexecuted instantiation: ihevce_cabac_rdo.c:CLZNZ
Unexecuted instantiation: ihevce_deblk.c:CLZNZ
Unexecuted instantiation: ihevce_enc_cu_recursion.c:CLZNZ
Unexecuted instantiation: ihevce_enc_loop_inter_mode_sifter.c:CLZNZ
87
88
static INLINE UWORD32 CTZ(UWORD32 u4_word)
89
121M
{
90
121M
    if(0 == u4_word)
91
4.63M
        return 31;
92
116M
    else
93
116M
    {
94
116M
        unsigned int index;
95
116M
        index = __builtin_ctz(u4_word);
96
116M
        return (UWORD32)index;
97
116M
    }
98
121M
}
Unexecuted instantiation: ihevcd_api.c:CTZ
Unexecuted instantiation: ihevcd_decode.c:CTZ
Unexecuted instantiation: ihevcd_nal.c:CTZ
Unexecuted instantiation: ihevcd_bitstream.c:CTZ
Unexecuted instantiation: ihevcd_parse_headers.c:CTZ
Unexecuted instantiation: ihevcd_parse_slice_header.c:CTZ
Unexecuted instantiation: ihevcd_parse_slice.c:CTZ
ihevcd_parse_residual.c:CTZ
Line
Count
Source
89
686k
{
90
686k
    if(0 == u4_word)
91
0
        return 31;
92
686k
    else
93
686k
    {
94
686k
        unsigned int index;
95
686k
        index = __builtin_ctz(u4_word);
96
686k
        return (UWORD32)index;
97
686k
    }
98
686k
}
Unexecuted instantiation: ihevcd_cabac.c:CTZ
Unexecuted instantiation: ihevcd_intra_pred_mode_prediction.c:CTZ
Unexecuted instantiation: ihevcd_process_slice.c:CTZ
Unexecuted instantiation: ihevcd_utils.c:CTZ
Unexecuted instantiation: ihevcd_job_queue.c:CTZ
Unexecuted instantiation: ihevcd_ref_list.c:CTZ
Unexecuted instantiation: ihevcd_get_mv.c:CTZ
Unexecuted instantiation: ihevcd_mv_pred.c:CTZ
Unexecuted instantiation: ihevcd_mv_merge.c:CTZ
Unexecuted instantiation: ihevcd_iquant_itrans_recon_ctb.c:CTZ
Unexecuted instantiation: ihevcd_boundary_strength.c:CTZ
ihevcd_deblk.c:CTZ
Line
Count
Source
89
8.83M
{
90
8.83M
    if(0 == u4_word)
91
4.63M
        return 31;
92
4.19M
    else
93
4.19M
    {
94
4.19M
        unsigned int index;
95
4.19M
        index = __builtin_ctz(u4_word);
96
4.19M
        return (UWORD32)index;
97
4.19M
    }
98
8.83M
}
Unexecuted instantiation: ihevcd_inter_pred.c:CTZ
ihevcd_sao.c:CTZ
Line
Count
Source
89
295k
{
90
295k
    if(0 == u4_word)
91
2.71k
        return 31;
92
292k
    else
93
292k
    {
94
292k
        unsigned int index;
95
292k
        index = __builtin_ctz(u4_word);
96
292k
        return (UWORD32)index;
97
292k
    }
98
295k
}
Unexecuted instantiation: ihevcd_fmt_conv.c:CTZ
Unexecuted instantiation: ihevcd_function_selector.c:CTZ
Unexecuted instantiation: ihevcd_function_selector_generic.c:CTZ
Unexecuted instantiation: ihevcd_function_selector_ssse3.c:CTZ
Unexecuted instantiation: ihevcd_function_selector_sse42.c:CTZ
Unexecuted instantiation: ihevcd_fmt_conv_ssse3_intr.c:CTZ
Unexecuted instantiation: ihevcd_it_rec_dc_ssse3_intr.c:CTZ
Unexecuted instantiation: ihevcd_it_rec_dc_sse42_intr.c:CTZ
Unexecuted instantiation: ihevc_inter_pred_filters.c:CTZ
Unexecuted instantiation: ihevc_weighted_pred.c:CTZ
Unexecuted instantiation: ihevc_padding.c:CTZ
Unexecuted instantiation: ihevc_deblk_edge_filter.c:CTZ
Unexecuted instantiation: ihevc_common_tables.c:CTZ
ihevc_intra_pred_filters.c:CTZ
Line
Count
Source
89
39.7M
{
90
39.7M
    if(0 == u4_word)
91
0
        return 31;
92
39.7M
    else
93
39.7M
    {
94
39.7M
        unsigned int index;
95
39.7M
        index = __builtin_ctz(u4_word);
96
39.7M
        return (UWORD32)index;
97
39.7M
    }
98
39.7M
}
ihevc_chroma_intra_pred_filters.c:CTZ
Line
Count
Source
89
12.8M
{
90
12.8M
    if(0 == u4_word)
91
0
        return 31;
92
12.8M
    else
93
12.8M
    {
94
12.8M
        unsigned int index;
95
12.8M
        index = __builtin_ctz(u4_word);
96
12.8M
        return (UWORD32)index;
97
12.8M
    }
98
12.8M
}
Unexecuted instantiation: ihevc_sao.c:CTZ
Unexecuted instantiation: ihevc_trans_tables.c:CTZ
Unexecuted instantiation: ihevc_recon.c:CTZ
Unexecuted instantiation: ihevc_itrans.c:CTZ
Unexecuted instantiation: ihevc_itrans_recon.c:CTZ
Unexecuted instantiation: ihevc_itrans_recon_32x32.c:CTZ
Unexecuted instantiation: ihevc_itrans_recon_16x16.c:CTZ
Unexecuted instantiation: ihevc_itrans_recon_8x8.c:CTZ
Unexecuted instantiation: ihevc_chroma_itrans_recon.c:CTZ
Unexecuted instantiation: ihevc_chroma_recon.c:CTZ
Unexecuted instantiation: ihevc_chroma_itrans_recon_16x16.c:CTZ
Unexecuted instantiation: ihevc_chroma_itrans_recon_8x8.c:CTZ
Unexecuted instantiation: ihevc_inter_pred_filters_ssse3_intr.c:CTZ
Unexecuted instantiation: ihevc_weighted_pred_ssse3_intr.c:CTZ
ihevc_intra_pred_filters_ssse3_intr.c:CTZ
Line
Count
Source
89
218k
{
90
218k
    if(0 == u4_word)
91
0
        return 31;
92
218k
    else
93
218k
    {
94
218k
        unsigned int index;
95
218k
        index = __builtin_ctz(u4_word);
96
218k
        return (UWORD32)index;
97
218k
    }
98
218k
}
Unexecuted instantiation: ihevc_chroma_intra_pred_filters_ssse3_intr.c:CTZ
Unexecuted instantiation: ihevc_itrans_recon_ssse3_intr.c:CTZ
Unexecuted instantiation: ihevc_itrans_recon_16x16_ssse3_intr.c:CTZ
Unexecuted instantiation: ihevc_itrans_recon_32x32_ssse3_intr.c:CTZ
Unexecuted instantiation: ihevc_sao_ssse3_intr.c:CTZ
Unexecuted instantiation: ihevc_deblk_ssse3_intr.c:CTZ
Unexecuted instantiation: ihevc_inter_pred_filters_sse42_intr.c:CTZ
Unexecuted instantiation: ihevc_weighted_pred_sse42_intr.c:CTZ
ihevc_intra_pred_filters_sse42_intr.c:CTZ
Line
Count
Source
89
84.6k
{
90
84.6k
    if(0 == u4_word)
91
0
        return 31;
92
84.6k
    else
93
84.6k
    {
94
84.6k
        unsigned int index;
95
84.6k
        index = __builtin_ctz(u4_word);
96
84.6k
        return (UWORD32)index;
97
84.6k
    }
98
84.6k
}
Unexecuted instantiation: ihevc_chroma_intra_pred_filters_sse42_intr.c:CTZ
Unexecuted instantiation: ihevc_itrans_recon_sse42_intr.c:CTZ
Unexecuted instantiation: ihevc_32x32_itrans_recon_sse42_intr.c:CTZ
Unexecuted instantiation: ihevc_tables_x86_intr.c:CTZ
Unexecuted instantiation: ihevcd_itrans_recon_dc.c:CTZ
Unexecuted instantiation: ihevce_plugin.c:CTZ
Unexecuted instantiation: ihevce_entropy_cod.c:CTZ
Unexecuted instantiation: ihevce_entropy_interface.c:CTZ
Unexecuted instantiation: ihevce_error_check.c:CTZ
Unexecuted instantiation: ihevce_frame_process_utils.c:CTZ
Unexecuted instantiation: ihevce_global_tables.c:CTZ
Unexecuted instantiation: ihevce_hle_interface.c:CTZ
Unexecuted instantiation: ihevce_hle_q_func.c:CTZ
Unexecuted instantiation: ihevce_lap_interface.c:CTZ
Unexecuted instantiation: ihevce_memory_init.c:CTZ
Unexecuted instantiation: ihevce_rc_interface.c:CTZ
Unexecuted instantiation: ihevce_tile_interface.c:CTZ
Unexecuted instantiation: hme_interface.c:CTZ
Unexecuted instantiation: hme_refine.c:CTZ
Unexecuted instantiation: hme_search_algo.c:CTZ
Unexecuted instantiation: hme_subpel.c:CTZ
Unexecuted instantiation: hme_utils.c:CTZ
Unexecuted instantiation: ihevce_bitstream.c:CTZ
Unexecuted instantiation: ihevce_cabac_cu_pu.c:CTZ
Unexecuted instantiation: ihevce_cabac_tu.c:CTZ
Unexecuted instantiation: ihevce_coarse_me_pass.c:CTZ
Unexecuted instantiation: ihevce_common_utils.c:CTZ
Unexecuted instantiation: ihevce_decomp_pre_intra_pass.c:CTZ
Unexecuted instantiation: ihevce_dep_mngr.c:CTZ
Unexecuted instantiation: ihevce_enc_loop_pass.c:CTZ
Unexecuted instantiation: ihevce_enc_loop_utils.c:CTZ
Unexecuted instantiation: ihevce_enc_sbh_funcs.c:CTZ
Unexecuted instantiation: ihevce_enc_subpel_gen.c:CTZ
Unexecuted instantiation: ihevce_encode_header.c:CTZ
Unexecuted instantiation: ihevce_encode_header_sei_vui.c:CTZ
Unexecuted instantiation: ihevce_frame_process.c:CTZ
Unexecuted instantiation: ihevce_function_selector.c:CTZ
Unexecuted instantiation: ihevce_had_satd.c:CTZ
Unexecuted instantiation: ihevce_inter_pred.c:CTZ
Unexecuted instantiation: ihevce_ipe_pass.c:CTZ
Unexecuted instantiation: ihevce_me_instr_set_router.c:CTZ
Unexecuted instantiation: ihevce_me_pass.c:CTZ
Unexecuted instantiation: ihevce_multi_thrd_funcs.c:CTZ
Unexecuted instantiation: ihevce_mv_pred.c:CTZ
Unexecuted instantiation: ihevce_mv_pred_merge.c:CTZ
Unexecuted instantiation: ihevce_nbr_avail.c:CTZ
ihevce_recur_bracketing.c:CTZ
Line
Count
Source
89
58.7M
{
90
58.7M
    if(0 == u4_word)
91
0
        return 31;
92
58.7M
    else
93
58.7M
    {
94
58.7M
        unsigned int index;
95
58.7M
        index = __builtin_ctz(u4_word);
96
58.7M
        return (UWORD32)index;
97
58.7M
    }
98
58.7M
}
Unexecuted instantiation: ihevce_sao.c:CTZ
Unexecuted instantiation: ihevce_stasino_helpers.c:CTZ
Unexecuted instantiation: ihevce_sub_pic_rc.c:CTZ
Unexecuted instantiation: ihevce_tu_tree_selector.c:CTZ
Unexecuted instantiation: ihevc_hbd_deblk_edge_filter.c:CTZ
Unexecuted instantiation: ihevc_quant_iquant_ssd.c:CTZ
Unexecuted instantiation: ihevc_resi_trans.c:CTZ
Unexecuted instantiation: hme_coarse.c:CTZ
Unexecuted instantiation: hme_common_utils.c:CTZ
Unexecuted instantiation: hme_err_compute.c:CTZ
Unexecuted instantiation: hme_fullpel.c:CTZ
Unexecuted instantiation: hme_function_selector.c:CTZ
Unexecuted instantiation: hme_globals.c:CTZ
Unexecuted instantiation: ihevce_bs_compute_ctb.c:CTZ
Unexecuted instantiation: ihevce_cabac.c:CTZ
Unexecuted instantiation: ihevce_cabac_rdo.c:CTZ
Unexecuted instantiation: ihevce_deblk.c:CTZ
Unexecuted instantiation: ihevce_enc_cu_recursion.c:CTZ
Unexecuted instantiation: ihevce_enc_loop_inter_mode_sifter.c:CTZ
99
100
5.10M
#define DATA_SYNC()  __sync_synchronize()
101
102
/**
103
******************************************************************************
104
 *  @brief  returns postion of msb bit for 32bit input
105
******************************************************************************
106
 */
107
#define GET_POS_MSB_32(r,word)                         \
108
{                                                      \
109
    if(word)                                           \
110
    {                                                  \
111
        r = 31 - __builtin_clz(word);                  \
112
    }                                                  \
113
    else                                               \
114
    {                                                  \
115
        r = -1;                                        \
116
    }                                                  \
117
}
118
119
/**
120
******************************************************************************
121
 *  @brief  returns postion of msb bit for 64bit input
122
******************************************************************************
123
 */
124
#define GET_POS_MSB_64(r,word)                          \
125
{                                                       \
126
    if(word)                                            \
127
    {                                                   \
128
        r = 63 - __builtin_clzll(word);                 \
129
    }                                                   \
130
    else                                                \
131
    {                                                   \
132
        r = -1;                                         \
133
    }                                                   \
134
}
135
136
137
/**
138
******************************************************************************
139
 *  @brief  returns max number of bits required to represent input word (max 32bits)
140
******************************************************************************
141
 */
142
2.38G
#define GETRANGE(r,word)                               \
143
2.38G
{                                                      \
144
2.38G
    if(word)                                           \
145
2.38G
    {                                                  \
146
2.09G
        r = 32 - __builtin_clz(word);                  \
147
2.09G
    }                                                  \
148
2.38G
    else                                               \
149
2.38G
    {                                                  \
150
286M
        r = 1;                                         \
151
286M
    }                                                  \
152
2.38G
}
153
154
/**
155
*****************************************************************************************************
156
*  @brief  returns max number of bits required to represent input unsigned long long word (max 64bits)
157
*****************************************************************************************************
158
*/
159
0
#define GETRANGE64(r,llword)                             \
160
0
{                                                        \
161
0
    if(llword)                                           \
162
0
    {                                                    \
163
0
        r = 64 - __builtin_clzll(llword);                \
164
0
    }                                                    \
165
0
    else                                                 \
166
0
    {                                                    \
167
0
        r = 1;                                           \
168
0
    }                                                    \
169
0
}
170
171
172
#define GCC_ENABLE 0
173
174
#if GCC_ENABLE
175
#define _mm256_loadu2_m128i(X,Y) _mm256_insertf128_si256(_mm256_castsi128_si256(_mm_loadu_si128((Y))), _mm_loadu_si128((X)),1);
176
177
#define _mm256_storeu2_m128i(X,Y,Z) {_mm_storeu_si128 ((Y), _mm256_castsi256_si128((Z)));_mm_storeu_si128 ((X), _mm256_extracti128_si256((Z),1));}
178
179
#define _mm256_set_m128i(X,Y) _mm256_insertf128_si256(_mm256_castsi128_si256((Y)),(X),1);
180
181
#endif
182
183
#define PREFETCH_ENABLE 1
184
185
#if PREFETCH_ENABLE
186
41.3M
#define PREFETCH(ptr, type) _mm_prefetch(ptr, type);
187
#else
188
#define PREFETCH(ptr, type)
189
#endif
190
191
#define MEM_ALIGN8 __attribute__ ((aligned (8)))
192
52.4k
#define MEM_ALIGN16 __attribute__ ((aligned (16)))
193
#define MEM_ALIGN32 __attribute__ ((aligned (32)))
194
195
#endif /* _IHEVC_PLATFORM_MACROS_H_ */