Coverage Report

Created: 2025-07-23 08:18

/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__