/src/openh264/codec/common/inc/macros.h
Line | Count | Source (jump to first uncovered line) |
1 | | /*! |
2 | | * \copy |
3 | | * Copyright (c) 2009-2013, Cisco Systems |
4 | | * All rights reserved. |
5 | | * |
6 | | * Redistribution and use in source and binary forms, with or without |
7 | | * modification, are permitted provided that the following conditions |
8 | | * are met: |
9 | | * |
10 | | * * Redistributions of source code must retain the above copyright |
11 | | * notice, this list of conditions and the following disclaimer. |
12 | | * |
13 | | * * Redistributions in binary form must reproduce the above copyright |
14 | | * notice, this list of conditions and the following disclaimer in |
15 | | * the documentation and/or other materials provided with the |
16 | | * distribution. |
17 | | * |
18 | | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
19 | | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
20 | | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
21 | | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
22 | | * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
23 | | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
24 | | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
25 | | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
26 | | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
27 | | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
28 | | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
29 | | * POSSIBILITY OF SUCH DAMAGE. |
30 | | * |
31 | | * |
32 | | * \file macros.h |
33 | | * |
34 | | * \brief MACRO based tool utilization |
35 | | * |
36 | | * \date 3/13/2009 Created |
37 | | * |
38 | | ************************************************************************************* |
39 | | */ |
40 | | #ifndef WELS_MACRO_UTILIZATIONS_H__ |
41 | | #define WELS_MACRO_UTILIZATIONS_H__ |
42 | | |
43 | | #include <math.h> |
44 | | #include <assert.h> |
45 | | #include <string.h> |
46 | | #include "typedefs.h" |
47 | | |
48 | | |
49 | | /* |
50 | | * ENFORCE_STACK_ALIGN_1D: force 1 dimension local data aligned in stack |
51 | | * _tp: type |
52 | | * _nm: var name |
53 | | * _sz: size |
54 | | * _al: align bytes |
55 | | * auxiliary var: _nm ## _tEmP |
56 | | */ |
57 | | #define ENFORCE_STACK_ALIGN_1D(_tp, _nm, _sz, _al) \ |
58 | 0 | _tp _nm ## _tEmP[(_sz)+(_al)-1]; \ |
59 | 0 | _tp *_nm = _nm ## _tEmP + ((_al)-1) - (((uintptr_t)(_nm ## _tEmP + ((_al)-1)) & ((_al)-1))/sizeof(_tp)); |
60 | | |
61 | | |
62 | | #define ENFORCE_STACK_ALIGN_2D(_tp, _nm, _cx, _cy, _al) \ |
63 | 0 | assert( ((_al) && !((_al) & ((_al) - 1))) && ((_al) >= sizeof(_tp)) ); /*_al should be power-of-2 and >= sizeof(_tp)*/\ |
64 | 0 | _tp _nm ## _tEmP[(_cx)*(_cy)+(_al)/sizeof(_tp)-1]; \ |
65 | 0 | _tp *_nm ## _tEmP_al = _nm ## _tEmP + ((_al)/sizeof(_tp)-1); \ |
66 | 0 | _nm ## _tEmP_al -= (((uintptr_t)_nm ## _tEmP_al & ((_al)-1))/sizeof(_tp)); \ |
67 | 0 | _tp (*_nm)[(_cy)] = (_tp (*)[(_cy)])_nm ## _tEmP_al; |
68 | | |
69 | | |
70 | | #if defined(_MSC_VER) |
71 | | |
72 | | #if(_MSC_VER < 1700) |
73 | | #define inline __inline |
74 | | #endif |
75 | | |
76 | | #define ALIGNED_DECLARE( type, var, n ) __declspec(align(n)) type var |
77 | | |
78 | | #elif defined(__GNUC__) |
79 | | |
80 | | #define ALIGNED_DECLARE( type, var, n ) type var __attribute__((aligned(n))) |
81 | | #endif//_MSC_VER |
82 | | |
83 | | |
84 | | #ifndef WELS_ALIGN |
85 | 0 | #define WELS_ALIGN(x, n) (((x)+(n)-1)&~((n)-1)) |
86 | | #endif//WELS_ALIGN |
87 | | |
88 | | |
89 | | #if 1 // Alternative implementation of WELS_MAX and WELS_MIN |
90 | | #ifndef WELS_MAX |
91 | 0 | #define WELS_MAX(x, y) ((x) > (y) ? (x) : (y)) |
92 | | #endif//WELS_MAX |
93 | | |
94 | | #ifndef WELS_MIN |
95 | 0 | #define WELS_MIN(x, y) ((x) < (y) ? (x) : (y)) |
96 | | #endif//WELS_MIN |
97 | | #ifndef WELS_MIN_POSITIVE |
98 | 0 | #define WELS_MIN_POSITIVE(x, y) (x >= 0 && y >= 0) ? WELS_MIN(x, y) : WELS_MAX(x, y); |
99 | | #endif//WELS_MIN_POSITIVE |
100 | | #else // Alternative implementation of WELS_MAX and WELS_MIN |
101 | | #ifndef WELS_MAX |
102 | | #define WELS_MAX(x, y) ((x) - (((x)-(y))&(((x)-(y))>>31))) |
103 | | #endif//WELS_MAX |
104 | | |
105 | | #ifndef WELS_MIN |
106 | | #define WELS_MIN(x, y) ((y) + (((x)-(y))&(((x)-(y))>>31))) |
107 | | #endif//WELS_MIN |
108 | | #endif // Alternative implementation of WELS_MAX and WELS_MIN |
109 | | |
110 | | |
111 | | #ifndef WELS_CEIL |
112 | 0 | #define WELS_CEIL(x) ceil(x) // FIXME: low complexity instead of math library used |
113 | | #endif//WELS_CEIL |
114 | | |
115 | | #ifndef WELS_FLOOR |
116 | | #define WELS_FLOOR(x) floor(x) // FIXME: low complexity instead of math library used |
117 | | #endif//WELS_FLOOR |
118 | | |
119 | | #ifndef WELS_ROUND |
120 | 0 | #define WELS_ROUND(x) ((int32_t)(0.5+(x))) |
121 | | #endif//WELS_ROUND |
122 | | |
123 | | #ifndef WELS_ROUND64 |
124 | | #define WELS_ROUND64(x) ((int64_t)(0.5+(x))) |
125 | | #endif//WELS_ROUND |
126 | | |
127 | | #ifndef WELS_DIV_ROUND |
128 | 0 | #define WELS_DIV_ROUND(x,y) ((int32_t)((y)==0?((x)/((y)+1)):(((y)/2+(x))/(y)))) |
129 | | #endif//WELS_DIV_ROUND |
130 | | |
131 | | #ifndef WELS_DIV_ROUND64 |
132 | 0 | #define WELS_DIV_ROUND64(x,y) ((int64_t)((y)==0?((x)/((y)+1)):(((y)/2+(x))/(y)))) |
133 | | #endif//WELS_DIV_ROUND64 |
134 | | |
135 | 0 | #define WELS_NON_ZERO_COUNT_AVERAGE(nC,nA,nB) { \ |
136 | 0 | nC = nA + nB + 1; \ |
137 | 0 | nC >>= (uint8_t)( nA != -1 && nB != -1); \ |
138 | 0 | nC += (uint8_t)(nA == -1 && nB == -1); \ |
139 | 0 | } |
140 | | |
141 | 0 | static inline int32_t CeilLog2 (int32_t i) { |
142 | 0 | int32_t s = 0; |
143 | 0 | i--; |
144 | 0 | while (i > 0) { |
145 | 0 | s++; |
146 | 0 | i >>= 1; |
147 | 0 | } |
148 | 0 | return s; |
149 | 0 | } Unexecuted instantiation: welsEncoderExt.cpp:CeilLog2(int) Unexecuted instantiation: welsDecoderExt.cpp:CeilLog2(int) Unexecuted instantiation: memory_align.cpp:CeilLog2(int) Unexecuted instantiation: encoder_data_tables.cpp:CeilLog2(int) Unexecuted instantiation: encoder_ext.cpp:CeilLog2(int) Unexecuted instantiation: md.cpp:CeilLog2(int) Unexecuted instantiation: nal_encap.cpp:CeilLog2(int) Unexecuted instantiation: picture_handle.cpp:CeilLog2(int) Unexecuted instantiation: ratectl.cpp:CeilLog2(int) Unexecuted instantiation: ref_list_mgr_svc.cpp:CeilLog2(int) Unexecuted instantiation: set_mb_syn_cabac.cpp:CeilLog2(int) Unexecuted instantiation: slice_multi_threading.cpp:CeilLog2(int) Unexecuted instantiation: svc_base_layer_md.cpp:CeilLog2(int) Unexecuted instantiation: svc_enc_slice_segment.cpp:CeilLog2(int) Unexecuted instantiation: svc_encode_mb.cpp:CeilLog2(int) Unexecuted instantiation: svc_encode_slice.cpp:CeilLog2(int) Unexecuted instantiation: svc_mode_decision.cpp:CeilLog2(int) Unexecuted instantiation: svc_motion_estimate.cpp:CeilLog2(int) Unexecuted instantiation: svc_set_mb_syn_cabac.cpp:CeilLog2(int) Unexecuted instantiation: wels_preprocess.cpp:CeilLog2(int) Unexecuted instantiation: wels_task_management.cpp:CeilLog2(int) Unexecuted instantiation: decoder.cpp:CeilLog2(int) Unexecuted instantiation: decoder_core.cpp:CeilLog2(int) Unexecuted instantiation: decoder_data_tables.cpp:CeilLog2(int) Unexecuted instantiation: error_concealment.cpp:CeilLog2(int) Unexecuted instantiation: fmo.cpp:CeilLog2(int) Unexecuted instantiation: get_intra_predictor.cpp:CeilLog2(int) Unexecuted instantiation: manage_dec_ref.cpp:CeilLog2(int) Unexecuted instantiation: memmgr_nal_unit.cpp:CeilLog2(int) Unexecuted instantiation: pic_queue.cpp:CeilLog2(int) Unexecuted instantiation: rec_mb.cpp:CeilLog2(int) Unexecuted instantiation: WelsFrameWork.cpp:CeilLog2(int) Unexecuted instantiation: ComplexityAnalysis.cpp:CeilLog2(int) Unexecuted instantiation: downsample.cpp:CeilLog2(int) Unexecuted instantiation: downsamplefuncs.cpp:CeilLog2(int) Unexecuted instantiation: common_tables.cpp:CeilLog2(int) Unexecuted instantiation: copy_mb.cpp:CeilLog2(int) Unexecuted instantiation: crt_util_safe_x.cpp:CeilLog2(int) Unexecuted instantiation: mc.cpp:CeilLog2(int) Unexecuted instantiation: sad_common.cpp:CeilLog2(int) Unexecuted instantiation: WelsThreadPool.cpp:CeilLog2(int) Unexecuted instantiation: au_set.cpp:CeilLog2(int) Unexecuted instantiation: deblocking.cpp:CeilLog2(int) Unexecuted instantiation: decode_mb_aux.cpp:CeilLog2(int) Unexecuted instantiation: encode_mb_aux.cpp:CeilLog2(int) Unexecuted instantiation: encoder.cpp:CeilLog2(int) Unexecuted instantiation: mv_pred.cpp:CeilLog2(int) Unexecuted instantiation: paraset_strategy.cpp:CeilLog2(int) Unexecuted instantiation: sample.cpp:CeilLog2(int) Unexecuted instantiation: set_mb_syn_cavlc.cpp:CeilLog2(int) Unexecuted instantiation: svc_set_mb_syn_cavlc.cpp:CeilLog2(int) Unexecuted instantiation: wels_task_encoder.cpp:CeilLog2(int) Unexecuted instantiation: au_parser.cpp:CeilLog2(int) Unexecuted instantiation: bit_stream.cpp:CeilLog2(int) Unexecuted instantiation: decode_slice.cpp:CeilLog2(int) Unexecuted instantiation: parse_mb_syn_cabac.cpp:CeilLog2(int) Unexecuted instantiation: parse_mb_syn_cavlc.cpp:CeilLog2(int) Unexecuted instantiation: AdaptiveQuantization.cpp:CeilLog2(int) Unexecuted instantiation: deblocking_common.cpp:CeilLog2(int) Unexecuted instantiation: WelsTaskThread.cpp:CeilLog2(int) Unexecuted instantiation: WelsThread.cpp:CeilLog2(int) Unexecuted instantiation: cabac_decoder.cpp:CeilLog2(int) |
150 | | /* |
151 | | the second path will degrades the performance |
152 | | */ |
153 | | #if 1 |
154 | 0 | static inline int32_t WelsMedian (int32_t iX, int32_t iY, int32_t iZ) { |
155 | 0 | int32_t iMin = iX, iMax = iX; |
156 | |
|
157 | 0 | if (iY < iMin) |
158 | 0 | iMin = iY; |
159 | 0 | else |
160 | 0 | iMax = iY; |
161 | |
|
162 | 0 | if (iZ < iMin) |
163 | 0 | iMin = iZ; |
164 | 0 | else if (iZ > iMax) |
165 | 0 | iMax = iZ; |
166 | |
|
167 | 0 | return (iX + iY + iZ) - (iMin + iMax); |
168 | 0 | } Unexecuted instantiation: welsEncoderExt.cpp:WelsMedian(int, int, int) Unexecuted instantiation: welsDecoderExt.cpp:WelsMedian(int, int, int) Unexecuted instantiation: memory_align.cpp:WelsMedian(int, int, int) Unexecuted instantiation: encoder_data_tables.cpp:WelsMedian(int, int, int) Unexecuted instantiation: encoder_ext.cpp:WelsMedian(int, int, int) Unexecuted instantiation: md.cpp:WelsMedian(int, int, int) Unexecuted instantiation: nal_encap.cpp:WelsMedian(int, int, int) Unexecuted instantiation: picture_handle.cpp:WelsMedian(int, int, int) Unexecuted instantiation: ratectl.cpp:WelsMedian(int, int, int) Unexecuted instantiation: ref_list_mgr_svc.cpp:WelsMedian(int, int, int) Unexecuted instantiation: set_mb_syn_cabac.cpp:WelsMedian(int, int, int) Unexecuted instantiation: slice_multi_threading.cpp:WelsMedian(int, int, int) Unexecuted instantiation: svc_base_layer_md.cpp:WelsMedian(int, int, int) Unexecuted instantiation: svc_enc_slice_segment.cpp:WelsMedian(int, int, int) Unexecuted instantiation: svc_encode_mb.cpp:WelsMedian(int, int, int) Unexecuted instantiation: svc_encode_slice.cpp:WelsMedian(int, int, int) Unexecuted instantiation: svc_mode_decision.cpp:WelsMedian(int, int, int) Unexecuted instantiation: svc_motion_estimate.cpp:WelsMedian(int, int, int) Unexecuted instantiation: svc_set_mb_syn_cabac.cpp:WelsMedian(int, int, int) Unexecuted instantiation: wels_preprocess.cpp:WelsMedian(int, int, int) Unexecuted instantiation: wels_task_management.cpp:WelsMedian(int, int, int) Unexecuted instantiation: decoder.cpp:WelsMedian(int, int, int) Unexecuted instantiation: decoder_core.cpp:WelsMedian(int, int, int) Unexecuted instantiation: decoder_data_tables.cpp:WelsMedian(int, int, int) Unexecuted instantiation: error_concealment.cpp:WelsMedian(int, int, int) Unexecuted instantiation: fmo.cpp:WelsMedian(int, int, int) Unexecuted instantiation: get_intra_predictor.cpp:WelsMedian(int, int, int) Unexecuted instantiation: manage_dec_ref.cpp:WelsMedian(int, int, int) Unexecuted instantiation: memmgr_nal_unit.cpp:WelsMedian(int, int, int) Unexecuted instantiation: pic_queue.cpp:WelsMedian(int, int, int) Unexecuted instantiation: rec_mb.cpp:WelsMedian(int, int, int) Unexecuted instantiation: WelsFrameWork.cpp:WelsMedian(int, int, int) Unexecuted instantiation: ComplexityAnalysis.cpp:WelsMedian(int, int, int) Unexecuted instantiation: downsample.cpp:WelsMedian(int, int, int) Unexecuted instantiation: downsamplefuncs.cpp:WelsMedian(int, int, int) Unexecuted instantiation: common_tables.cpp:WelsMedian(int, int, int) Unexecuted instantiation: copy_mb.cpp:WelsMedian(int, int, int) Unexecuted instantiation: crt_util_safe_x.cpp:WelsMedian(int, int, int) Unexecuted instantiation: mc.cpp:WelsMedian(int, int, int) Unexecuted instantiation: sad_common.cpp:WelsMedian(int, int, int) Unexecuted instantiation: WelsThreadPool.cpp:WelsMedian(int, int, int) Unexecuted instantiation: au_set.cpp:WelsMedian(int, int, int) Unexecuted instantiation: deblocking.cpp:WelsMedian(int, int, int) Unexecuted instantiation: decode_mb_aux.cpp:WelsMedian(int, int, int) Unexecuted instantiation: encode_mb_aux.cpp:WelsMedian(int, int, int) Unexecuted instantiation: encoder.cpp:WelsMedian(int, int, int) Unexecuted instantiation: mv_pred.cpp:WelsMedian(int, int, int) Unexecuted instantiation: paraset_strategy.cpp:WelsMedian(int, int, int) Unexecuted instantiation: sample.cpp:WelsMedian(int, int, int) Unexecuted instantiation: set_mb_syn_cavlc.cpp:WelsMedian(int, int, int) Unexecuted instantiation: svc_set_mb_syn_cavlc.cpp:WelsMedian(int, int, int) Unexecuted instantiation: wels_task_encoder.cpp:WelsMedian(int, int, int) Unexecuted instantiation: au_parser.cpp:WelsMedian(int, int, int) Unexecuted instantiation: bit_stream.cpp:WelsMedian(int, int, int) Unexecuted instantiation: decode_slice.cpp:WelsMedian(int, int, int) Unexecuted instantiation: parse_mb_syn_cabac.cpp:WelsMedian(int, int, int) Unexecuted instantiation: parse_mb_syn_cavlc.cpp:WelsMedian(int, int, int) Unexecuted instantiation: AdaptiveQuantization.cpp:WelsMedian(int, int, int) Unexecuted instantiation: deblocking_common.cpp:WelsMedian(int, int, int) Unexecuted instantiation: WelsTaskThread.cpp:WelsMedian(int, int, int) Unexecuted instantiation: WelsThread.cpp:WelsMedian(int, int, int) Unexecuted instantiation: cabac_decoder.cpp:WelsMedian(int, int, int) |
169 | | #else |
170 | | static inline int32_t WelsMedian (int32_t iX, int32_t iY, int32_t iZ) { |
171 | | int32_t iTmp = (iX - iY) & ((iX - iY) >> 31); |
172 | | iX -= iTmp; |
173 | | iY += iTmp; |
174 | | iY -= (iY - iZ) & ((iY - iZ) >> 31); |
175 | | iY += (iX - iY) & ((iX - iY) >> 31); |
176 | | return iY; |
177 | | } |
178 | | |
179 | | #endif |
180 | | |
181 | | #ifndef NEG_NUM |
182 | | //#define NEG_NUM( num ) (-num) |
183 | 0 | #define NEG_NUM(iX) (1+(~(iX))) |
184 | | #endif// NEG_NUM |
185 | | |
186 | 0 | static inline uint8_t WelsClip1 (int32_t iX) { |
187 | 0 | uint8_t uiTmp = (uint8_t) (((iX) & ~255) ? (- (iX) >> 31) : (iX)); |
188 | 0 | return uiTmp; |
189 | 0 | } Unexecuted instantiation: welsEncoderExt.cpp:WelsClip1(int) Unexecuted instantiation: welsDecoderExt.cpp:WelsClip1(int) Unexecuted instantiation: memory_align.cpp:WelsClip1(int) Unexecuted instantiation: encoder_data_tables.cpp:WelsClip1(int) Unexecuted instantiation: encoder_ext.cpp:WelsClip1(int) Unexecuted instantiation: md.cpp:WelsClip1(int) Unexecuted instantiation: nal_encap.cpp:WelsClip1(int) Unexecuted instantiation: picture_handle.cpp:WelsClip1(int) Unexecuted instantiation: ratectl.cpp:WelsClip1(int) Unexecuted instantiation: ref_list_mgr_svc.cpp:WelsClip1(int) Unexecuted instantiation: set_mb_syn_cabac.cpp:WelsClip1(int) Unexecuted instantiation: slice_multi_threading.cpp:WelsClip1(int) Unexecuted instantiation: svc_base_layer_md.cpp:WelsClip1(int) Unexecuted instantiation: svc_enc_slice_segment.cpp:WelsClip1(int) Unexecuted instantiation: svc_encode_mb.cpp:WelsClip1(int) Unexecuted instantiation: svc_encode_slice.cpp:WelsClip1(int) Unexecuted instantiation: svc_mode_decision.cpp:WelsClip1(int) Unexecuted instantiation: svc_motion_estimate.cpp:WelsClip1(int) Unexecuted instantiation: svc_set_mb_syn_cabac.cpp:WelsClip1(int) Unexecuted instantiation: wels_preprocess.cpp:WelsClip1(int) Unexecuted instantiation: wels_task_management.cpp:WelsClip1(int) Unexecuted instantiation: decoder.cpp:WelsClip1(int) Unexecuted instantiation: decoder_core.cpp:WelsClip1(int) Unexecuted instantiation: decoder_data_tables.cpp:WelsClip1(int) Unexecuted instantiation: error_concealment.cpp:WelsClip1(int) Unexecuted instantiation: fmo.cpp:WelsClip1(int) Unexecuted instantiation: get_intra_predictor.cpp:WelsClip1(int) Unexecuted instantiation: manage_dec_ref.cpp:WelsClip1(int) Unexecuted instantiation: memmgr_nal_unit.cpp:WelsClip1(int) Unexecuted instantiation: pic_queue.cpp:WelsClip1(int) Unexecuted instantiation: rec_mb.cpp:WelsClip1(int) Unexecuted instantiation: WelsFrameWork.cpp:WelsClip1(int) Unexecuted instantiation: ComplexityAnalysis.cpp:WelsClip1(int) Unexecuted instantiation: downsample.cpp:WelsClip1(int) Unexecuted instantiation: downsamplefuncs.cpp:WelsClip1(int) Unexecuted instantiation: common_tables.cpp:WelsClip1(int) Unexecuted instantiation: copy_mb.cpp:WelsClip1(int) Unexecuted instantiation: crt_util_safe_x.cpp:WelsClip1(int) Unexecuted instantiation: mc.cpp:WelsClip1(int) Unexecuted instantiation: sad_common.cpp:WelsClip1(int) Unexecuted instantiation: WelsThreadPool.cpp:WelsClip1(int) Unexecuted instantiation: au_set.cpp:WelsClip1(int) Unexecuted instantiation: deblocking.cpp:WelsClip1(int) Unexecuted instantiation: decode_mb_aux.cpp:WelsClip1(int) Unexecuted instantiation: encode_mb_aux.cpp:WelsClip1(int) Unexecuted instantiation: encoder.cpp:WelsClip1(int) Unexecuted instantiation: mv_pred.cpp:WelsClip1(int) Unexecuted instantiation: paraset_strategy.cpp:WelsClip1(int) Unexecuted instantiation: sample.cpp:WelsClip1(int) Unexecuted instantiation: set_mb_syn_cavlc.cpp:WelsClip1(int) Unexecuted instantiation: svc_set_mb_syn_cavlc.cpp:WelsClip1(int) Unexecuted instantiation: wels_task_encoder.cpp:WelsClip1(int) Unexecuted instantiation: au_parser.cpp:WelsClip1(int) Unexecuted instantiation: bit_stream.cpp:WelsClip1(int) Unexecuted instantiation: decode_slice.cpp:WelsClip1(int) Unexecuted instantiation: parse_mb_syn_cabac.cpp:WelsClip1(int) Unexecuted instantiation: parse_mb_syn_cavlc.cpp:WelsClip1(int) Unexecuted instantiation: AdaptiveQuantization.cpp:WelsClip1(int) Unexecuted instantiation: deblocking_common.cpp:WelsClip1(int) Unexecuted instantiation: WelsTaskThread.cpp:WelsClip1(int) Unexecuted instantiation: WelsThread.cpp:WelsClip1(int) Unexecuted instantiation: cabac_decoder.cpp:WelsClip1(int) |
190 | | |
191 | | #ifndef WELS_SIGN |
192 | 0 | #define WELS_SIGN(iX) ((int32_t)(iX) >> 31) |
193 | | #endif //WELS_SIGN |
194 | | #ifndef WELS_ABS |
195 | | #if 1 |
196 | 0 | #define WELS_ABS(iX) ((iX)>0 ? (iX) : -(iX)) |
197 | | #else |
198 | | #define WELS_ABS(iX) ((WELS_SIGN(iX) ^ (int32_t)(iX)) - WELS_SIGN(iX)) |
199 | | #endif |
200 | | #endif //WELS_ABS |
201 | | |
202 | | // WELS_CLIP3 |
203 | | #ifndef WELS_CLIP3 |
204 | 0 | #define WELS_CLIP3(iX, iY, iZ) ((iX) < (iY) ? (iY) : ((iX) > (iZ) ? (iZ) : (iX))) |
205 | | #endif //WELS_CLIP3 |
206 | | |
207 | | template<typename T> T WelsClip3(T iX, T iY, T iZ) { |
208 | | if (iX < iY) |
209 | | return iY; |
210 | | if (iX > iZ) |
211 | | return iZ; |
212 | | return iX; |
213 | | } |
214 | | |
215 | | #define DISALLOW_COPY_AND_ASSIGN(cclass) \ |
216 | | private: \ |
217 | | cclass(const cclass &); \ |
218 | | cclass& operator=(const cclass &); |
219 | | |
220 | | /* |
221 | | * Description: to check variable validation and return the specified result |
222 | | * iResult: value to be checked |
223 | | * iExpected: the expected value |
224 | | */ |
225 | | #ifndef WELS_VERIFY_RETURN_IFNEQ |
226 | | #define WELS_VERIFY_RETURN_IFNEQ(iResult, iExpected) \ |
227 | 0 | if (iResult != iExpected) { \ |
228 | 0 | return iResult; \ |
229 | 0 | } |
230 | | #endif//#if WELS_VERIFY_RETURN_IF |
231 | | |
232 | | /* |
233 | | * Description: to check variable validation and return the specified result |
234 | | * iResult: value to be return |
235 | | * bCaseIf: negative condition to be verified |
236 | | */ |
237 | | #ifndef WELS_VERIFY_RETURN_IF |
238 | | #define WELS_VERIFY_RETURN_IF(iResult, bCaseIf) \ |
239 | 0 | if (bCaseIf) { \ |
240 | 0 | return iResult; \ |
241 | 0 | } |
242 | | #endif//#if WELS_VERIFY_RETURN_IF |
243 | | |
244 | | /* |
245 | | * Description: to check variable validation and return the specified result |
246 | | * with correspoinding process advance. |
247 | | * result: value to be return |
248 | | * case_if: negative condition to be verified |
249 | | * proc: process need perform |
250 | | */ |
251 | | #ifndef WELS_VERIFY_RETURN_PROC_IF |
252 | | #define WELS_VERIFY_RETURN_PROC_IF(iResult, bCaseIf, fProc) \ |
253 | 0 | if (bCaseIf) { \ |
254 | 0 | fProc; \ |
255 | 0 | return iResult; \ |
256 | 0 | } |
257 | | #endif//#if WELS_VERIFY_RETURN_PROC_IF |
258 | | |
259 | 0 | static inline int32_t WELS_LOG2 (uint32_t v) { |
260 | 0 | int32_t r = 0; |
261 | 0 | while (v >>= 1) { |
262 | 0 | ++r; |
263 | 0 | } |
264 | 0 | return r; |
265 | |
|
266 | 0 | } Unexecuted instantiation: welsEncoderExt.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: welsDecoderExt.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: memory_align.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: encoder_data_tables.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: encoder_ext.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: md.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: nal_encap.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: picture_handle.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: ratectl.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: ref_list_mgr_svc.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: set_mb_syn_cabac.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: slice_multi_threading.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: svc_base_layer_md.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: svc_enc_slice_segment.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: svc_encode_mb.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: svc_encode_slice.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: svc_mode_decision.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: svc_motion_estimate.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: svc_set_mb_syn_cabac.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: wels_preprocess.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: wels_task_management.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: decoder.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: decoder_core.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: decoder_data_tables.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: error_concealment.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: fmo.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: get_intra_predictor.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: manage_dec_ref.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: memmgr_nal_unit.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: pic_queue.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: rec_mb.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: WelsFrameWork.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: ComplexityAnalysis.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: downsample.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: downsamplefuncs.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: common_tables.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: copy_mb.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: crt_util_safe_x.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: mc.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: sad_common.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: WelsThreadPool.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: au_set.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: deblocking.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: decode_mb_aux.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: encode_mb_aux.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: encoder.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: mv_pred.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: paraset_strategy.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: sample.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: set_mb_syn_cavlc.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: svc_set_mb_syn_cavlc.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: wels_task_encoder.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: au_parser.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: bit_stream.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: decode_slice.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: parse_mb_syn_cabac.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: parse_mb_syn_cavlc.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: AdaptiveQuantization.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: deblocking_common.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: WelsTaskThread.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: WelsThread.cpp:WELS_LOG2(unsigned int) Unexecuted instantiation: cabac_decoder.cpp:WELS_LOG2(unsigned int) |
267 | | |
268 | 0 | #define CLIP3_QP_0_51(q) WELS_CLIP3(q, 0, 51) // ((q) < (0) ? (0) : ((q) > (51) ? (51) : (q))) |
269 | 0 | #define CALC_BI_STRIDE(width,bitcount) ((((width * bitcount) + 31) & ~31) >> 3) |
270 | | |
271 | | |
272 | | |
273 | | |
274 | | #ifndef BUTTERFLY1x2 |
275 | 0 | #define BUTTERFLY1x2(b) (((b)<<8) | (b)) |
276 | | #endif//BUTTERFLY1x2 |
277 | | |
278 | | #ifndef BUTTERFLY2x4 |
279 | 0 | #define BUTTERFLY2x4(wd) (((uint32_t)(wd)<<16) |(wd)) |
280 | | #endif//BUTTERFLY2x4 |
281 | | |
282 | | #ifndef BUTTERFLY4x8 |
283 | 0 | #define BUTTERFLY4x8(dw) (((uint64_t)(dw)<<32) | (dw)) |
284 | | #endif//BUTTERFLY4x8 |
285 | | |
286 | 0 | static inline bool WELS_POWER2_IF (uint32_t v) { |
287 | 0 | return (v && ! (v & (v - 1))); |
288 | 0 | } Unexecuted instantiation: welsEncoderExt.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: welsDecoderExt.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: memory_align.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: encoder_data_tables.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: encoder_ext.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: md.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: nal_encap.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: picture_handle.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: ratectl.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: ref_list_mgr_svc.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: set_mb_syn_cabac.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: slice_multi_threading.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: svc_base_layer_md.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: svc_enc_slice_segment.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: svc_encode_mb.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: svc_encode_slice.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: svc_mode_decision.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: svc_motion_estimate.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: svc_set_mb_syn_cabac.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: wels_preprocess.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: wels_task_management.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: decoder.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: decoder_core.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: decoder_data_tables.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: error_concealment.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: fmo.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: get_intra_predictor.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: manage_dec_ref.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: memmgr_nal_unit.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: pic_queue.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: rec_mb.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: WelsFrameWork.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: ComplexityAnalysis.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: downsample.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: downsamplefuncs.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: common_tables.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: copy_mb.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: crt_util_safe_x.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: mc.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: sad_common.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: WelsThreadPool.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: au_set.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: deblocking.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: decode_mb_aux.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: encode_mb_aux.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: encoder.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: mv_pred.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: paraset_strategy.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: sample.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: set_mb_syn_cavlc.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: svc_set_mb_syn_cavlc.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: wels_task_encoder.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: au_parser.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: bit_stream.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: decode_slice.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: parse_mb_syn_cabac.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: parse_mb_syn_cavlc.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: AdaptiveQuantization.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: deblocking_common.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: WelsTaskThread.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: WelsThread.cpp:WELS_POWER2_IF(unsigned int) Unexecuted instantiation: cabac_decoder.cpp:WELS_POWER2_IF(unsigned int) |
289 | | |
290 | | #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) |
291 | 0 | #define WELS_GCC_UNUSED __attribute__((__unused__)) |
292 | | #else |
293 | | #define WELS_GCC_UNUSED |
294 | | #endif |
295 | | |
296 | 0 | inline bool CheckInRangeCloseOpen (const int16_t kiCurrent, const int16_t kiMin, const int16_t kiMax) { |
297 | 0 | return ((kiCurrent >= kiMin) && (kiCurrent < kiMax)); |
298 | 0 | } |
299 | | |
300 | 0 | static inline void WelsSetMemUint32_c (uint32_t* pDst, uint32_t iValue, int32_t iSizeOfData) { |
301 | 0 | for (int i = 0; i < iSizeOfData; i++) { |
302 | 0 | pDst[i] = iValue; |
303 | 0 | } |
304 | 0 | } Unexecuted instantiation: welsEncoderExt.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: welsDecoderExt.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: memory_align.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: encoder_data_tables.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: encoder_ext.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: md.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: nal_encap.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: picture_handle.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: ratectl.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: ref_list_mgr_svc.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: set_mb_syn_cabac.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: slice_multi_threading.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: svc_base_layer_md.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: svc_enc_slice_segment.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: svc_encode_mb.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: svc_encode_slice.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: svc_mode_decision.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: svc_motion_estimate.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: svc_set_mb_syn_cabac.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: wels_preprocess.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: wels_task_management.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: decoder.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: decoder_core.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: decoder_data_tables.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: error_concealment.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: fmo.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: get_intra_predictor.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: manage_dec_ref.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: memmgr_nal_unit.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: pic_queue.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: rec_mb.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: WelsFrameWork.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: ComplexityAnalysis.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: downsample.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: downsamplefuncs.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: common_tables.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: copy_mb.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: crt_util_safe_x.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: mc.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: sad_common.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: WelsThreadPool.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: au_set.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: deblocking.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: decode_mb_aux.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: encode_mb_aux.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: encoder.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: mv_pred.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: paraset_strategy.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: sample.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: set_mb_syn_cavlc.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: svc_set_mb_syn_cavlc.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: wels_task_encoder.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: au_parser.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: bit_stream.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: decode_slice.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: parse_mb_syn_cabac.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: parse_mb_syn_cavlc.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: AdaptiveQuantization.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: deblocking_common.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: WelsTaskThread.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: WelsThread.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) Unexecuted instantiation: cabac_decoder.cpp:WelsSetMemUint32_c(unsigned int*, unsigned int, int) |
305 | | |
306 | 0 | static inline void WelsSetMemUint16_c (uint16_t* pDst, uint16_t iValue, int32_t iSizeOfData) { |
307 | 0 | for (int i = 0; i < iSizeOfData; i++) { |
308 | 0 | pDst[i] = iValue; |
309 | 0 | } |
310 | 0 | } Unexecuted instantiation: welsEncoderExt.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: welsDecoderExt.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: memory_align.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: encoder_data_tables.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: encoder_ext.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: md.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: nal_encap.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: picture_handle.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: ratectl.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: ref_list_mgr_svc.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: set_mb_syn_cabac.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: slice_multi_threading.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: svc_base_layer_md.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: svc_enc_slice_segment.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: svc_encode_mb.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: svc_encode_slice.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: svc_mode_decision.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: svc_motion_estimate.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: svc_set_mb_syn_cabac.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: wels_preprocess.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: wels_task_management.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: decoder.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: decoder_core.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: decoder_data_tables.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: error_concealment.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: fmo.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: get_intra_predictor.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: manage_dec_ref.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: memmgr_nal_unit.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: pic_queue.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: rec_mb.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: WelsFrameWork.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: ComplexityAnalysis.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: downsample.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: downsamplefuncs.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: common_tables.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: copy_mb.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: crt_util_safe_x.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: mc.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: sad_common.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: WelsThreadPool.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: au_set.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: deblocking.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: decode_mb_aux.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: encode_mb_aux.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: encoder.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: mv_pred.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: paraset_strategy.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: sample.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: set_mb_syn_cavlc.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: svc_set_mb_syn_cavlc.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: wels_task_encoder.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: au_parser.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: bit_stream.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: decode_slice.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: parse_mb_syn_cabac.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: parse_mb_syn_cavlc.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: AdaptiveQuantization.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: deblocking_common.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: WelsTaskThread.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: WelsThread.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) Unexecuted instantiation: cabac_decoder.cpp:WelsSetMemUint16_c(unsigned short*, unsigned short, int) |
311 | | |
312 | 0 | inline void WelsSetMemMultiplebytes_c (void* pDst, uint32_t iValue, int32_t iSizeOfData, int32_t iDataLengthOfData) { |
313 | 0 | assert (4 == iDataLengthOfData || 2 == iDataLengthOfData || 1 == iDataLengthOfData); |
314 | | |
315 | | // TODO: consider add assembly for these functions |
316 | 0 | if (0 != iValue) { |
317 | 0 | if (4 == iDataLengthOfData) { |
318 | 0 | WelsSetMemUint32_c (static_cast<uint32_t*> (pDst), static_cast<uint32_t> (iValue), iSizeOfData); |
319 | 0 | } else if (2 == iDataLengthOfData) { |
320 | 0 | WelsSetMemUint16_c (static_cast<uint16_t*> (pDst), static_cast<uint16_t> (iValue), iSizeOfData); |
321 | 0 | } else { |
322 | 0 | memset (static_cast<uint8_t*> (pDst), static_cast<uint8_t> (iValue), iSizeOfData); |
323 | 0 | } |
324 | 0 | } else { |
325 | 0 | memset (static_cast<uint8_t*> (pDst), 0, iSizeOfData * iDataLengthOfData); |
326 | 0 | } |
327 | 0 | } |
328 | | |
329 | | #endif//WELS_MACRO_UTILIZATIONS_H__ |