codekingpro/portable-devtools
114k
1 /* Copyright 2010-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2 *
3 * NOTICE TO LICENSEE:
4 *
5 * The source code and/or documentation ("Licensed Deliverables") are
6 * subject to NVIDIA intellectual property rights under U.S. and
7 * international Copyright laws.
8 *
9 * The Licensed Deliverables contained herein are PROPRIETARY and
10 * CONFIDENTIAL to NVIDIA and are being provided under the terms and
11 * conditions of a form of NVIDIA software license agreement by and
12 * between NVIDIA and Licensee ("License Agreement") or electronically
13 * accepted by Licensee. Notwithstanding any terms or conditions to
14 * the contrary in the License Agreement, reproduction or disclosure
15 * of the Licensed Deliverables to any third party without the express
16 * written consent of NVIDIA is prohibited.
17 *
18 * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
19 * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
20 * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. THEY ARE
21 * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
22 * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
23 * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
24 * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
25 * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
26 * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
27 * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
28 * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
29 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
30 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
31 * OF THESE LICENSED DELIVERABLES.
32 *
33 * U.S. Government End Users. These Licensed Deliverables are a
34 * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
35 * 1995), consisting of "commercial computer software" and "commercial
36 * computer software documentation" as such terms are used in 48
37 * C.F.R. 12.212 (SEPT 1995) and are provided to the U.S. Government
38 * only as a commercial end item. Consistent with 48 C.F.R.12.212 and
39 * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
40 * U.S. Government End Users acquire the Licensed Deliverables with
41 * only those rights set forth herein.
42 *
43 * Any use of the Licensed Deliverables in individual and commercial
44 * software must include, in the user documentation and internal
45 * comments to the code, the above Disclaimer and U.S. Government End
46 * Users Notice.
47 */
48#ifndef NV_NPPS_CONVERSION_FUNCTIONS_H
49#define NV_NPPS_CONVERSION_FUNCTIONS_H
50
51/**
52 * \file npps_conversion_functions.h
53 * NPP Signal Processing Functionality.
54 */
55
56#include "nppdefs.h"
57
58
59#ifdef __cplusplus
60extern "C" {
61#endif
62
63
64/**
65 * \page signal_conversion_functions Conversion Functions
66 * @defgroup signal_conversion_functions Conversion Functions
67 * @ingroup npps
68 * Functions that provide conversion and threshold operations
69 * @{
70 *
71 */
72
73/**
74 * \section signal_convert Convert
75 * @defgroup signal_convert Convert
76 * The set of conversion operations available in the library
77 * @{
78 *
79 */
80
81/** @name Convert
82 * Routines for converting the sample-data type of signals.
83 *
84 * @{
85 *
86 */
87
88/**
89 * 8-bit signed byte to 16-bit signed short conversion
90 *
91 * \param pSrc \ref source_signal_pointer.
92 * \param pDst \ref destination_signal_pointer.
93 * \param nLength \ref length_specification.
94 * \param nppStreamCtx \ref application_managed_stream_context.
95 * \return \ref signal_data_error_codes, \ref length_error_codes.
96 */
97NppStatus
98nppsConvert_8s16s_Ctx(const Npp8s * pSrc, Npp16s * pDst, size_t nLength, NppStreamContext nppStreamCtx);
99/**
100 * 8-bit signed byte to 16-bit signed short conversion
101 *
102 * \param pSrc \ref source_signal_pointer.
103 * \param pDst \ref destination_signal_pointer.
104 * \param nLength \ref length_specification.
105 * \return \ref signal_data_error_codes, \ref length_error_codes.
106 */
107NppStatus
108nppsConvert_8s16s(const Npp8s * pSrc, Npp16s * pDst, size_t nLength);
109
110/**
111 * 8-bit signed byte to 32-bit floating point number conversion
112 *
113 * \param pSrc \ref source_signal_pointer.
114 * \param pDst \ref destination_signal_pointer.
115 * \param nLength \ref length_specification.
116 * \param nppStreamCtx \ref application_managed_stream_context.
117 * \return \ref signal_data_error_codes, \ref length_error_codes.
118 */
119NppStatus
120nppsConvert_8s32f_Ctx(const Npp8s * pSrc, Npp32f * pDst, size_t nLength, NppStreamContext nppStreamCtx);
121/**
122 * 8-bit signed byte to 32-bit floating point number conversion
123 *
124 * \param pSrc \ref source_signal_pointer.
125 * \param pDst \ref destination_signal_pointer.
126 * \param nLength \ref length_specification.
127 * \return \ref signal_data_error_codes, \ref length_error_codes.
128 */
129NppStatus
130nppsConvert_8s32f(const Npp8s * pSrc, Npp32f * pDst, size_t nLength);
131
132/**
133 * 8-bit unsigned byte to 32-bit floating point number conversion
134 *
135 * \param pSrc \ref source_signal_pointer.
136 * \param pDst \ref destination_signal_pointer.
137 * \param nLength \ref length_specification.
138 * \param nppStreamCtx \ref application_managed_stream_context.
139 * \return \ref signal_data_error_codes, \ref length_error_codes.
140 */
141NppStatus
142nppsConvert_8u32f_Ctx(const Npp8u * pSrc, Npp32f * pDst, size_t nLength, NppStreamContext nppStreamCtx);
143
144/**
145 * 8-bit unsigned byte to 32-bit floating point number conversion
146 *
147 * \param pSrc \ref source_signal_pointer.
148 * \param pDst \ref destination_signal_pointer.
149 * \param nLength \ref length_specification.
150 * \return \ref signal_data_error_codes, \ref length_error_codes.
151 */
152NppStatus
153nppsConvert_8u32f(const Npp8u * pSrc, Npp32f * pDst, size_t nLength);
154
155/**
156 * 16-bit signed short to 8-bit signed byte conversion
157 *
158 * \param pSrc \ref source_signal_pointer.
159 * \param pDst \ref destination_signal_pointer.
160 * \param nLength \ref length_specification.
161 * \param eRoundMode \ref rounding_mode_parameter.
162 * \param nScaleFactor nScaleFactor
163 * \param nppStreamCtx \ref application_managed_stream_context.
164 * \return \ref signal_data_error_codes, \ref length_error_codes.
165 */
166NppStatus
167nppsConvert_16s8s_Sfs_Ctx(const Npp16s * pSrc, Npp8s * pDst, Npp32u nLength, NppRoundMode eRoundMode, int nScaleFactor, NppStreamContext nppStreamCtx);
168/**
169 * 16-bit signed short to 8-bit signed byte conversion
170 *
171 * \param pSrc \ref source_signal_pointer.
172 * \param pDst \ref destination_signal_pointer.
173 * \param nLength \ref length_specification.
174 * \param eRoundMode \ref rounding_mode_parameter.
175 * \param nScaleFactor nScaleFactor
176 * \return \ref signal_data_error_codes, \ref length_error_codes.
177 */
178NppStatus
179nppsConvert_16s8s_Sfs(const Npp16s * pSrc, Npp8s * pDst, Npp32u nLength, NppRoundMode eRoundMode, int nScaleFactor);
180
181/**
182 * 16-bit signed short to 32-bit signed integer conversion
183 *
184 * \param pSrc \ref source_signal_pointer.
185 * \param pDst \ref destination_signal_pointer.
186 * \param nLength \ref length_specification.
187 * \param nppStreamCtx \ref application_managed_stream_context.
188 * \return \ref signal_data_error_codes, \ref length_error_codes.
189 */
190NppStatus
191nppsConvert_16s32s_Ctx(const Npp16s * pSrc, Npp32s * pDst, size_t nLength, NppStreamContext nppStreamCtx);
192/**
193 * 16-bit signed short to 32-bit signed integer conversion
194 *
195 * \param pSrc \ref source_signal_pointer.
196 * \param pDst \ref destination_signal_pointer.
197 * \param nLength \ref length_specification.
198 * \return \ref signal_data_error_codes, \ref length_error_codes.
199 */
200NppStatus
201nppsConvert_16s32s(const Npp16s * pSrc, Npp32s * pDst, size_t nLength);
202
203/**
204 * 16-bit signed short to 32-bit floating point number conversion
205 *
206 * \param pSrc \ref source_signal_pointer.
207 * \param pDst \ref destination_signal_pointer.
208 * \param nLength \ref length_specification.
209 * \param nppStreamCtx \ref application_managed_stream_context.
210 * \return \ref signal_data_error_codes, \ref length_error_codes.
211 */
212NppStatus
213nppsConvert_16s32f_Ctx(const Npp16s * pSrc, Npp32f * pDst, size_t nLength, NppStreamContext nppStreamCtx);
214
215/**
216 * 16-bit signed short to 32-bit floating point number conversion
217 *
218 * \param pSrc \ref source_signal_pointer.
219 * \param pDst \ref destination_signal_pointer.
220 * \param nLength \ref length_specification.
221 * \return \ref signal_data_error_codes, \ref length_error_codes.
222 */
223NppStatus
224nppsConvert_16s32f(const Npp16s * pSrc, Npp32f * pDst, size_t nLength);
225
226/**
227 * 16-bit unsigned short to 32-bit floating point number conversion
228 *
229 * \param pSrc \ref source_signal_pointer.
230 * \param pDst \ref destination_signal_pointer.
231 * \param nLength \ref length_specification.
232 * \param nppStreamCtx \ref application_managed_stream_context.
233 * \return \ref signal_data_error_codes, \ref length_error_codes.
234 */
235NppStatus
236nppsConvert_16u32f_Ctx(const Npp16u * pSrc, Npp32f * pDst, size_t nLength, NppStreamContext nppStreamCtx);
237/**
238 * 16-bit unsigned short to 32-bit floating point number conversion
239 *
240 * \param pSrc \ref source_signal_pointer.
241 * \param pDst \ref destination_signal_pointer.
242 * \param nLength \ref length_specification.
243 * \return \ref signal_data_error_codes, \ref length_error_codes.
244 */
245NppStatus
246nppsConvert_16u32f(const Npp16u * pSrc, Npp32f * pDst, size_t nLength);
247
248/**
249 * 32-bit signed integer to 16-bit signed short conversion
250 *
251 * \param pSrc \ref source_signal_pointer.
252 * \param pDst \ref destination_signal_pointer.
253 * \param nLength \ref length_specification.
254 * \param nppStreamCtx \ref application_managed_stream_context.
255 * \return \ref signal_data_error_codes, \ref length_error_codes.
256 */
257NppStatus
258nppsConvert_32s16s_Ctx(const Npp32s * pSrc, Npp16s * pDst, size_t nLength, NppStreamContext nppStreamCtx);
259/**
260 * 32-bit signed integer to 16-bit signed short conversion
261 *
262 * \param pSrc \ref source_signal_pointer.
263 * \param pDst \ref destination_signal_pointer.
264 * \param nLength \ref length_specification.
265 * \return \ref signal_data_error_codes, \ref length_error_codes.
266 */
267NppStatus
268nppsConvert_32s16s(const Npp32s * pSrc, Npp16s * pDst, size_t nLength);
269
270/**
271 * 32-bit signed integer to 32-bit floating point number conversion
272 *
273 * \param pSrc \ref source_signal_pointer.
274 * \param pDst \ref destination_signal_pointer.
275 * \param nLength \ref length_specification.
276 * \param nppStreamCtx \ref application_managed_stream_context.
277 * \return \ref signal_data_error_codes, \ref length_error_codes.
278 */
279NppStatus
280nppsConvert_32s32f_Ctx(const Npp32s * pSrc, Npp32f * pDst, size_t nLength, NppStreamContext nppStreamCtx);
281/**
282 * 32-bit signed integer to 32-bit floating point number conversion
283 *
284 * \param pSrc \ref source_signal_pointer.
285 * \param pDst \ref destination_signal_pointer.
286 * \param nLength \ref length_specification.
287 * \return \ref signal_data_error_codes, \ref length_error_codes.
288 */
289NppStatus
290nppsConvert_32s32f(const Npp32s * pSrc, Npp32f * pDst, size_t nLength);
291
292/**
293 * 32-bit signed integer to 64-bit floating point number conversion
294 *
295 * \param pSrc \ref source_signal_pointer.
296 * \param pDst \ref destination_signal_pointer.
297 * \param nLength \ref length_specification.
298 * \param nppStreamCtx \ref application_managed_stream_context.
299 * \return \ref signal_data_error_codes, \ref length_error_codes.
300 */
301NppStatus
302nppsConvert_32s64f_Ctx(const Npp32s * pSrc, Npp64f * pDst, size_t nLength, NppStreamContext nppStreamCtx);
303/**
304 * 32-bit signed integer to 64-bit floating point number conversion
305 *
306 * \param pSrc \ref source_signal_pointer.
307 * \param pDst \ref destination_signal_pointer.
308 * \param nLength \ref length_specification.
309 * \return \ref signal_data_error_codes, \ref length_error_codes.
310 */
311NppStatus
312nppsConvert_32s64f(const Npp32s * pSrc, Npp64f * pDst, size_t nLength);
313
314/**
315 * 32-bit floating point number to 64-bit floating point number conversion
316 *
317 * \param pSrc \ref source_signal_pointer.
318 * \param pDst \ref destination_signal_pointer.
319 * \param nLength \ref length_specification.
320 * \param nppStreamCtx \ref application_managed_stream_context.
321 * \return \ref signal_data_error_codes, \ref length_error_codes.
322 */
323NppStatus
324nppsConvert_32f64f_Ctx(const Npp32f * pSrc, Npp64f * pDst, size_t nLength, NppStreamContext nppStreamCtx);
325/**
326 * 32-bit floating point number to 64-bit floating point number conversion
327 *
328 * \param pSrc \ref source_signal_pointer.
329 * \param pDst \ref destination_signal_pointer.
330 * \param nLength \ref length_specification.
331 * \return \ref signal_data_error_codes, \ref length_error_codes.
332 */
333NppStatus
334nppsConvert_32f64f(const Npp32f * pSrc, Npp64f * pDst, size_t nLength);
335
336/**
337 * 64-bit signed integer to 64-bit floating point number conversion
338 *
339 * \param pSrc \ref source_signal_pointer.
340 * \param pDst \ref destination_signal_pointer.
341 * \param nLength \ref length_specification.
342 * \param nppStreamCtx \ref application_managed_stream_context.
343 * \return \ref signal_data_error_codes, \ref length_error_codes.
344 */
345NppStatus
346nppsConvert_64s64f_Ctx(const Npp64s * pSrc, Npp64f * pDst, size_t nLength, NppStreamContext nppStreamCtx);
347/**
348 * 64-bit signed integer to 64-bit floating point number conversion
349 *
350 * \param pSrc \ref source_signal_pointer.
351 * \param pDst \ref destination_signal_pointer.
352 * \param nLength \ref length_specification.
353 * \return \ref signal_data_error_codes, \ref length_error_codes.
354 */
355NppStatus
356nppsConvert_64s64f(const Npp64s * pSrc, Npp64f * pDst, size_t nLength);
357
358/**
359 * 64-bit floating point number to 32-bit floating point number conversion
360 *
361 * \param pSrc \ref source_signal_pointer.
362 * \param pDst \ref destination_signal_pointer.
363 * \param nLength \ref length_specification.
364 * \param nppStreamCtx \ref application_managed_stream_context.
365 * \return \ref signal_data_error_codes, \ref length_error_codes.
366 */
367NppStatus
368nppsConvert_64f32f_Ctx(const Npp64f * pSrc, Npp32f * pDst, size_t nLength, NppStreamContext nppStreamCtx);
369/**
370 * 64-bit floating point number to 32-bit floating point number conversion
371 *
372 * \param pSrc \ref source_signal_pointer.
373 * \param pDst \ref destination_signal_pointer.
374 * \param nLength \ref length_specification.
375 * \return \ref signal_data_error_codes, \ref length_error_codes.
376 */
377NppStatus
378nppsConvert_64f32f(const Npp64f * pSrc, Npp32f * pDst, size_t nLength);
379
380
381/**
382 * 16-bit signed short to 32-bit floating point number conversion with scaling
383 *
384 * \param pSrc \ref source_signal_pointer.
385 * \param pDst \ref destination_signal_pointer.
386 * \param nLength \ref length_specification.
387 * \param nScaleFactor \ref integer_result_scaling.
388 * \param nppStreamCtx \ref application_managed_stream_context.
389 * \return \ref signal_data_error_codes, \ref length_error_codes.
390 */
391NppStatus
392nppsConvert_16s32f_Sfs_Ctx(const Npp16s * pSrc, Npp32f * pDst, size_t nLength, int nScaleFactor, NppStreamContext nppStreamCtx);
393/**
394 * 16-bit signed short to 32-bit floating point number conversion with scaling
395 *
396 * \param pSrc \ref source_signal_pointer.
397 * \param pDst \ref destination_signal_pointer.
398 * \param nLength \ref length_specification.
399 * \param nScaleFactor \ref integer_result_scaling.
400 * \return \ref signal_data_error_codes, \ref length_error_codes.
401 */
402NppStatus
403nppsConvert_16s32f_Sfs(const Npp16s * pSrc, Npp32f * pDst, size_t nLength, int nScaleFactor);
404
405/**
406 * 16-bit signed short to 64-bit floating point number conversion with scaling
407 *
408 * \param pSrc \ref source_signal_pointer.
409 * \param pDst \ref destination_signal_pointer.
410 * \param nLength \ref length_specification.
411 * \param nScaleFactor \ref integer_result_scaling.
412 * \param nppStreamCtx \ref application_managed_stream_context.
413 * \return \ref signal_data_error_codes, \ref length_error_codes.
414 */
415NppStatus
416nppsConvert_16s64f_Sfs_Ctx(const Npp16s * pSrc, Npp64f * pDst, size_t nLength, int nScaleFactor, NppStreamContext nppStreamCtx);
417/**
418 * 16-bit signed short to 64-bit floating point number conversion with scaling
419 *
420 * \param pSrc \ref source_signal_pointer.
421 * \param pDst \ref destination_signal_pointer.
422 * \param nLength \ref length_specification.
423 * \param nScaleFactor \ref integer_result_scaling.
424 * \return \ref signal_data_error_codes, \ref length_error_codes.
425 */
426NppStatus
427nppsConvert_16s64f_Sfs(const Npp16s * pSrc, Npp64f * pDst, size_t nLength, int nScaleFactor);
428
429/**
430 * 32-bit signed integer to 16-bit signed short conversion with scaling
431 *
432 * \param pSrc \ref source_signal_pointer.
433 * \param pDst \ref destination_signal_pointer.
434 * \param nLength \ref length_specification.
435 * \param nScaleFactor \ref integer_result_scaling.
436 * \param nppStreamCtx \ref application_managed_stream_context.
437 * \return \ref signal_data_error_codes, \ref length_error_codes.
438 */
439NppStatus
440nppsConvert_32s16s_Sfs_Ctx(const Npp32s * pSrc, Npp16s * pDst, size_t nLength, int nScaleFactor, NppStreamContext nppStreamCtx);
441/**
442 * 32-bit signed integer to 16-bit signed short conversion with scaling
443 *
444 * \param pSrc \ref source_signal_pointer.
445 * \param pDst \ref destination_signal_pointer.
446 * \param nLength \ref length_specification.
447 * \param nScaleFactor \ref integer_result_scaling.
448 * \return \ref signal_data_error_codes, \ref length_error_codes.
449 */
450NppStatus
451nppsConvert_32s16s_Sfs(const Npp32s * pSrc, Npp16s * pDst, size_t nLength, int nScaleFactor);
452
453/**
454 * 32-bit signed integer to 32-bit floating point number conversion with scaling
455 *
456 * \param pSrc \ref source_signal_pointer.
457 * \param pDst \ref destination_signal_pointer.
458 * \param nLength \ref length_specification.
459 * \param nScaleFactor \ref integer_result_scaling.
460 * \param nppStreamCtx \ref application_managed_stream_context.
461 * \return \ref signal_data_error_codes, \ref length_error_codes.
462 */
463NppStatus
464nppsConvert_32s32f_Sfs_Ctx(const Npp32s * pSrc, Npp32f * pDst, size_t nLength, int nScaleFactor, NppStreamContext nppStreamCtx);
465/**
466 * 32-bit signed integer to 32-bit floating point number conversion with scaling
467 *
468 * \param pSrc \ref source_signal_pointer.
469 * \param pDst \ref destination_signal_pointer.
470 * \param nLength \ref length_specification.
471 * \param nScaleFactor \ref integer_result_scaling.
472 * \return \ref signal_data_error_codes, \ref length_error_codes.
473 */
474NppStatus
475nppsConvert_32s32f_Sfs(const Npp32s * pSrc, Npp32f * pDst, size_t nLength, int nScaleFactor);
476
477/**
478 * 32-bit signed integer to 64-bit floating point number conversion with scaling
479 *
480 * \param pSrc \ref source_signal_pointer.
481 * \param pDst \ref destination_signal_pointer.
482 * \param nLength \ref length_specification.
483 * \param nScaleFactor \ref integer_result_scaling.
484 * \param nppStreamCtx \ref application_managed_stream_context.
485 * \return \ref signal_data_error_codes, \ref length_error_codes.
486 */
487NppStatus
488nppsConvert_32s64f_Sfs_Ctx(const Npp32s * pSrc, Npp64f * pDst, size_t nLength, int nScaleFactor, NppStreamContext nppStreamCtx);
489/**
490 * 32-bit signed integer to 64-bit floating point number conversion with scaling
491 *
492 * \param pSrc \ref source_signal_pointer.
493 * \param pDst \ref destination_signal_pointer.
494 * \param nLength \ref length_specification.
495 * \param nScaleFactor \ref integer_result_scaling.
496 * \return \ref signal_data_error_codes, \ref length_error_codes.
497 */
498NppStatus
499nppsConvert_32s64f_Sfs(const Npp32s * pSrc, Npp64f * pDst, size_t nLength, int nScaleFactor);
500
501/**
502 * 32-bit signed integer to 8-bit signed byte conversion with scaling
503 *
504 * \param pSrc \ref source_signal_pointer.
505 * \param pDst \ref destination_signal_pointer.
506 * \param nLength \ref length_specification.
507 * \param eRoundMode \ref rounding_mode_parameter.
508 * \param nScaleFactor \ref integer_result_scaling.
509 * \param nppStreamCtx \ref application_managed_stream_context.
510 * \return \ref signal_data_error_codes, \ref length_error_codes.
511 */
512NppStatus
513nppsConvert_32f8s_Sfs_Ctx(const Npp32f * pSrc, Npp8s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor, NppStreamContext nppStreamCtx);
514/**
515 * 32-bit floating point number to 8-bit signed byte conversion with scaling
516 *
517 * \param pSrc \ref source_signal_pointer.
518 * \param pDst \ref destination_signal_pointer.
519 * \param nLength \ref length_specification.
520 * \param eRoundMode \ref rounding_mode_parameter.
521 * \param nScaleFactor \ref integer_result_scaling.
522 * \return \ref signal_data_error_codes, \ref length_error_codes.
523 */
524NppStatus
525nppsConvert_32f8s_Sfs(const Npp32f * pSrc, Npp8s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor);
526
527/**
528 * 32-bit floating point number to 8-bit unsigned byte conversion with scaling
529 *
530 * \param pSrc \ref source_signal_pointer.
531 * \param pDst \ref destination_signal_pointer.
532 * \param nLength \ref length_specification.
533 * \param eRoundMode \ref rounding_mode_parameter.
534 * \param nScaleFactor \ref integer_result_scaling.
535 * \param nppStreamCtx \ref application_managed_stream_context.
536 * \return \ref signal_data_error_codes, \ref length_error_codes.
537 */
538NppStatus
539nppsConvert_32f8u_Sfs_Ctx(const Npp32f * pSrc, Npp8u * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor, NppStreamContext nppStreamCtx);
540/**
541 * 32-bit floating point number to 8-bit unsigned byte conversion with scaling
542 *
543 * \param pSrc \ref source_signal_pointer.
544 * \param pDst \ref destination_signal_pointer.
545 * \param nLength \ref length_specification.
546 * \param eRoundMode \ref rounding_mode_parameter.
547 * \param nScaleFactor \ref integer_result_scaling.
548 * \return \ref signal_data_error_codes, \ref length_error_codes.
549 */
550NppStatus
551nppsConvert_32f8u_Sfs(const Npp32f * pSrc, Npp8u * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor);
552
553/**
554 * 32-bit floating point number to 16-bit signed short conversion with scaling
555 *
556 * \param pSrc \ref source_signal_pointer.
557 * \param pDst \ref destination_signal_pointer.
558 * \param nLength \ref length_specification.
559 * \param eRoundMode \ref rounding_mode_parameter.
560 * \param nScaleFactor \ref integer_result_scaling.
561 * \param nppStreamCtx \ref application_managed_stream_context.
562 * \return \ref signal_data_error_codes, \ref length_error_codes.
563 */
564NppStatus
565nppsConvert_32f16s_Sfs_Ctx(const Npp32f * pSrc, Npp16s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor, NppStreamContext nppStreamCtx);
566/**
567 * 32-bit floating point number to 16-bit signed short conversion with scaling
568 *
569 * \param pSrc \ref source_signal_pointer.
570 * \param pDst \ref destination_signal_pointer.
571 * \param nLength \ref length_specification.
572 * \param eRoundMode \ref rounding_mode_parameter.
573 * \param nScaleFactor \ref integer_result_scaling.
574 * \return \ref signal_data_error_codes, \ref length_error_codes.
575 */
576NppStatus
577nppsConvert_32f16s_Sfs(const Npp32f * pSrc, Npp16s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor);
578
579/**
580 * 32-bit floating point number to 16-bit unsigned short conversion with scaling
581 *
582 * \param pSrc \ref source_signal_pointer.
583 * \param pDst \ref destination_signal_pointer.
584 * \param nLength \ref length_specification.
585 * \param eRoundMode \ref rounding_mode_parameter.
586 * \param nScaleFactor \ref integer_result_scaling.
587 * \param nppStreamCtx \ref application_managed_stream_context.
588 * \return \ref signal_data_error_codes, \ref length_error_codes.
589 */
590NppStatus
591nppsConvert_32f16u_Sfs_Ctx(const Npp32f * pSrc, Npp16u * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor, NppStreamContext nppStreamCtx);
592/**
593 * 32-bit floating point number to 16-bit unsigned short conversion with scaling
594 *
595 * \param pSrc \ref source_signal_pointer.
596 * \param pDst \ref destination_signal_pointer.
597 * \param nLength \ref length_specification.
598 * \param eRoundMode \ref rounding_mode_parameter.
599 * \param nScaleFactor \ref integer_result_scaling.
600 * \return \ref signal_data_error_codes, \ref length_error_codes.
601 */
602NppStatus
603nppsConvert_32f16u_Sfs(const Npp32f * pSrc, Npp16u * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor);
604
605/**
606 * 32-bit floating point number to 32-bit signed integer conversion with scaling
607 *
608 * \param pSrc \ref source_signal_pointer.
609 * \param pDst \ref destination_signal_pointer.
610 * \param nLength \ref length_specification.
611 * \param eRoundMode \ref rounding_mode_parameter.
612 * \param nScaleFactor \ref integer_result_scaling.
613 * \param nppStreamCtx \ref application_managed_stream_context.
614 * \return \ref signal_data_error_codes, \ref length_error_codes.
615 */
616NppStatus
617nppsConvert_32f32s_Sfs_Ctx(const Npp32f * pSrc, Npp32s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor, NppStreamContext nppStreamCtx);
618/**
619 * 32-bit floating point number to 32-bit signed integer conversion with scaling
620 *
621 * \param pSrc \ref source_signal_pointer.
622 * \param pDst \ref destination_signal_pointer.
623 * \param nLength \ref length_specification.
624 * \param eRoundMode \ref rounding_mode_parameter.
625 * \param nScaleFactor \ref integer_result_scaling.
626 * \return \ref signal_data_error_codes, \ref length_error_codes.
627 */
628NppStatus
629nppsConvert_32f32s_Sfs(const Npp32f * pSrc, Npp32s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor);
630
631/**
632 * 64-bit signed integer to 32-bit signed integer conversion with scaling
633 *
634 * \param pSrc \ref source_signal_pointer.
635 * \param pDst \ref destination_signal_pointer.
636 * \param nLength \ref length_specification.
637 * \param eRoundMode \ref rounding_mode_parameter.
638 * \param nScaleFactor \ref integer_result_scaling.
639 * \param nppStreamCtx \ref application_managed_stream_context.
640 * \return \ref signal_data_error_codes, \ref length_error_codes.
641 */
642NppStatus
643nppsConvert_64s32s_Sfs_Ctx(const Npp64s * pSrc, Npp32s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor, NppStreamContext nppStreamCtx);
644/**
645 * 64-bit signed integer to 32-bit signed integer conversion with scaling
646 *
647 * \param pSrc \ref source_signal_pointer.
648 * \param pDst \ref destination_signal_pointer.
649 * \param nLength \ref length_specification.
650 * \param eRoundMode \ref rounding_mode_parameter.
651 * \param nScaleFactor \ref integer_result_scaling.
652 * \return \ref signal_data_error_codes, \ref length_error_codes.
653 */
654NppStatus
655nppsConvert_64s32s_Sfs(const Npp64s * pSrc, Npp32s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor);
656
657/**
658 * 64-bit floating point number to 16-bit signed short conversion with scaling
659 *
660 * \param pSrc \ref source_signal_pointer.
661 * \param pDst \ref destination_signal_pointer.
662 * \param nLength \ref length_specification.
663 * \param eRoundMode \ref rounding_mode_parameter.
664 * \param nScaleFactor \ref integer_result_scaling.
665 * \param nppStreamCtx \ref application_managed_stream_context.
666 * \return \ref signal_data_error_codes, \ref length_error_codes.
667 */
668NppStatus
669nppsConvert_64f16s_Sfs_Ctx(const Npp64f * pSrc, Npp16s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor, NppStreamContext nppStreamCtx);
670/**
671 * 64-bit floating point number to 16-bit signed short conversion with scaling
672 *
673 * \param pSrc \ref source_signal_pointer.
674 * \param pDst \ref destination_signal_pointer.
675 * \param nLength \ref length_specification.
676 * \param eRoundMode \ref rounding_mode_parameter.
677 * \param nScaleFactor \ref integer_result_scaling.
678 * \return \ref signal_data_error_codes, \ref length_error_codes.
679 */
680NppStatus
681nppsConvert_64f16s_Sfs(const Npp64f * pSrc, Npp16s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor);
682
683/**
684 * 64-bit floating point number to 32-bit signed integer conversion with scaling
685 *
686 * \param pSrc \ref source_signal_pointer.
687 * \param pDst \ref destination_signal_pointer.
688 * \param nLength \ref length_specification.
689 * \param eRoundMode \ref rounding_mode_parameter.
690 * \param nScaleFactor \ref integer_result_scaling.
691 * \param nppStreamCtx \ref application_managed_stream_context.
692 * \return \ref signal_data_error_codes, \ref length_error_codes.
693 */
694NppStatus
695nppsConvert_64f32s_Sfs_Ctx(const Npp64f * pSrc, Npp32s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor, NppStreamContext nppStreamCtx);
696/**
697 * 64-bit floating point number to 32-bit signed integer conversion with scaling
698 *
699 * \param pSrc \ref source_signal_pointer.
700 * \param pDst \ref destination_signal_pointer.
701 * \param nLength \ref length_specification.
702 * \param eRoundMode \ref rounding_mode_parameter.
703 * \param nScaleFactor \ref integer_result_scaling.
704 * \return \ref signal_data_error_codes, \ref length_error_codes.
705 */
706NppStatus
707nppsConvert_64f32s_Sfs(const Npp64f * pSrc, Npp32s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor);
708
709/**
710 * 64-bit floating point number to 64-bit signed integer conversion with scaling
711 *
712 * \param pSrc \ref source_signal_pointer.
713 * \param pDst \ref destination_signal_pointer.
714 * \param nLength \ref length_specification.
715 * \param eRoundMode \ref rounding_mode_parameter.
716 * \param nScaleFactor \ref integer_result_scaling.
717 * \param nppStreamCtx \ref application_managed_stream_context.
718 * \return \ref signal_data_error_codes, \ref length_error_codes.
719 */
720NppStatus
721nppsConvert_64f64s_Sfs_Ctx(const Npp64f * pSrc, Npp64s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor, NppStreamContext nppStreamCtx);
722/**
723 * 64-bit floating point number to 64-bit signed integer conversion with scaling
724 *
725 * \param pSrc \ref source_signal_pointer.
726 * \param pDst \ref destination_signal_pointer.
727 * \param nLength \ref length_specification.
728 * \param eRoundMode \ref rounding_mode_parameter.
729 * \param nScaleFactor \ref integer_result_scaling.
730 * \return \ref signal_data_error_codes, \ref length_error_codes.
731 */
732NppStatus
733nppsConvert_64f64s_Sfs(const Npp64f * pSrc, Npp64s * pDst, size_t nLength, NppRoundMode eRoundMode, int nScaleFactor);
734
735/** @} end of Convert */
736
737/** @} signal_convert */
738
739/**
740 * \section signal_threshold Threshold
741 * @defgroup signal_threshold Threshold
742 * The set of threshold operations available in the library.
743 * @{
744 *
745 */
746
747/** @name Threshold Functions
748 * Performs the threshold operation on the samples of a signal by limiting the sample values by a specified constant value.
749 *
750 * @{
751 *
752 */
753
754/**
755 * 16-bit signed short signal threshold with constant level.
756 * \param pSrc \ref source_signal_pointer.
757 * \param pDst \ref destination_signal_pointer.
758 * \param nLength \ref length_specification.
759 * \param nLevel Constant threshold value to be used to limit each signal sample
760 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
761 * \param nppStreamCtx \ref application_managed_stream_context.
762 * \return \ref signal_data_error_codes, \ref length_error_codes.
763 */
764NppStatus
765nppsThreshold_16s_Ctx(const Npp16s * pSrc, Npp16s * pDst, size_t nLength, Npp16s nLevel, NppCmpOp nRelOp, NppStreamContext nppStreamCtx);
766/**
767 * 16-bit signed short signal threshold with constant level.
768 * \param pSrc \ref source_signal_pointer.
769 * \param pDst \ref destination_signal_pointer.
770 * \param nLength \ref length_specification.
771 * \param nLevel Constant threshold value to be used to limit each signal sample
772 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
773 * \return \ref signal_data_error_codes, \ref length_error_codes.
774 */
775NppStatus
776nppsThreshold_16s(const Npp16s * pSrc, Npp16s * pDst, size_t nLength, Npp16s nLevel, NppCmpOp nRelOp);
777
778/**
779 * 16-bit in place signed short signal threshold with constant level.
780 * \param pSrcDst \ref in_place_signal_pointer.
781 * \param nLength \ref length_specification.
782 * \param nLevel Constant threshold value to be used to limit each signal sample
783 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
784 * \param nppStreamCtx \ref application_managed_stream_context.
785 * \return \ref signal_data_error_codes, \ref length_error_codes.
786 */
787NppStatus
788nppsThreshold_16s_I_Ctx(Npp16s * pSrcDst, size_t nLength, Npp16s nLevel, NppCmpOp nRelOp, NppStreamContext nppStreamCtx);
789/**
790 * 16-bit in place signed short signal threshold with constant level.
791 * \param pSrcDst \ref in_place_signal_pointer.
792 * \param nLength \ref length_specification.
793 * \param nLevel Constant threshold value to be used to limit each signal sample
794 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
795 * \return \ref signal_data_error_codes, \ref length_error_codes.
796 */
797NppStatus
798nppsThreshold_16s_I(Npp16s * pSrcDst, size_t nLength, Npp16s nLevel, NppCmpOp nRelOp);
799
800/**
801 * 16-bit signed short complex number signal threshold with constant level.
802 * \param pSrc \ref source_signal_pointer.
803 * \param pDst \ref destination_signal_pointer.
804 * \param nLength \ref length_specification.
805 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
806 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
807 * \param nppStreamCtx \ref application_managed_stream_context.
808 * \return \ref signal_data_error_codes, \ref length_error_codes.
809 */
810NppStatus
811nppsThreshold_16sc_Ctx(const Npp16sc * pSrc, Npp16sc * pDst, size_t nLength, Npp16s nLevel, NppCmpOp nRelOp, NppStreamContext nppStreamCtx);
812/**
813 * 16-bit signed short complex number signal threshold with constant level.
814 * \param pSrc \ref source_signal_pointer.
815 * \param pDst \ref destination_signal_pointer.
816 * \param nLength \ref length_specification.
817 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
818 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
819 * \return \ref signal_data_error_codes, \ref length_error_codes.
820 */
821NppStatus
822nppsThreshold_16sc(const Npp16sc * pSrc, Npp16sc * pDst, size_t nLength, Npp16s nLevel, NppCmpOp nRelOp);
823
824/**
825 * 16-bit in place signed short complex number signal threshold with constant level.
826 * \param pSrcDst \ref in_place_signal_pointer.
827 * \param nLength \ref length_specification.
828 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
829 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
830 * \param nppStreamCtx \ref application_managed_stream_context.
831 * \return \ref signal_data_error_codes, \ref length_error_codes.
832 */
833NppStatus
834nppsThreshold_16sc_I_Ctx(Npp16sc * pSrcDst, size_t nLength, Npp16s nLevel, NppCmpOp nRelOp, NppStreamContext nppStreamCtx);
835/**
836 * 16-bit in place signed short complex number signal threshold with constant level.
837 * \param pSrcDst \ref in_place_signal_pointer.
838 * \param nLength \ref length_specification.
839 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
840 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
841 * \return \ref signal_data_error_codes, \ref length_error_codes.
842 */
843NppStatus
844nppsThreshold_16sc_I(Npp16sc * pSrcDst, size_t nLength, Npp16s nLevel, NppCmpOp nRelOp);
845
846/**
847 * 32-bit floating point signal threshold with constant level.
848 * \param pSrc \ref source_signal_pointer.
849 * \param pDst \ref destination_signal_pointer.
850 * \param nLength \ref length_specification.
851 * \param nLevel Constant threshold value to be used to limit each signal sample
852 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
853 * \param nppStreamCtx \ref application_managed_stream_context.
854 * \return \ref signal_data_error_codes, \ref length_error_codes.
855 */
856NppStatus
857nppsThreshold_32f_Ctx(const Npp32f * pSrc, Npp32f * pDst, size_t nLength, Npp32f nLevel, NppCmpOp nRelOp, NppStreamContext nppStreamCtx);
858/**
859 * 32-bit floating point signal threshold with constant level.
860 * \param pSrc \ref source_signal_pointer.
861 * \param pDst \ref destination_signal_pointer.
862 * \param nLength \ref length_specification.
863 * \param nLevel Constant threshold value to be used to limit each signal sample
864 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
865 * \return \ref signal_data_error_codes, \ref length_error_codes.
866 */
867NppStatus
868nppsThreshold_32f(const Npp32f * pSrc, Npp32f * pDst, size_t nLength, Npp32f nLevel, NppCmpOp nRelOp);
869
870/**
871 * 32-bit in place floating point signal threshold with constant level.
872 * \param pSrcDst \ref in_place_signal_pointer.
873 * \param nLength \ref length_specification.
874 * \param nLevel Constant threshold value to be used to limit each signal sample
875 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
876 * \param nppStreamCtx \ref application_managed_stream_context.
877 * \return \ref signal_data_error_codes, \ref length_error_codes.
878 */
879NppStatus
880nppsThreshold_32f_I_Ctx(Npp32f * pSrcDst, size_t nLength, Npp32f nLevel, NppCmpOp nRelOp, NppStreamContext nppStreamCtx);
881/**
882 * 32-bit in place floating point signal threshold with constant level.
883 * \param pSrcDst \ref in_place_signal_pointer.
884 * \param nLength \ref length_specification.
885 * \param nLevel Constant threshold value to be used to limit each signal sample
886 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
887 * \return \ref signal_data_error_codes, \ref length_error_codes.
888 */
889NppStatus
890nppsThreshold_32f_I(Npp32f * pSrcDst, size_t nLength, Npp32f nLevel, NppCmpOp nRelOp);
891
892/**
893 * 32-bit floating point complex number signal threshold with constant level.
894 * \param pSrc \ref source_signal_pointer.
895 * \param pDst \ref destination_signal_pointer.
896 * \param nLength \ref length_specification.
897 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
898 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
899 * \param nppStreamCtx \ref application_managed_stream_context.
900 * \return \ref signal_data_error_codes, \ref length_error_codes.
901 */
902NppStatus
903nppsThreshold_32fc_Ctx(const Npp32fc * pSrc, Npp32fc * pDst, size_t nLength, Npp32f nLevel, NppCmpOp nRelOp, NppStreamContext nppStreamCtx);
904/**
905 * 32-bit floating point complex number signal threshold with constant level.
906 * \param pSrc \ref source_signal_pointer.
907 * \param pDst \ref destination_signal_pointer.
908 * \param nLength \ref length_specification.
909 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
910 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
911 * \return \ref signal_data_error_codes, \ref length_error_codes.
912 */
913NppStatus
914nppsThreshold_32fc(const Npp32fc * pSrc, Npp32fc * pDst, size_t nLength, Npp32f nLevel, NppCmpOp nRelOp);
915
916/**
917 * 32-bit in place floating point complex number signal threshold with constant level.
918 * \param pSrcDst \ref in_place_signal_pointer.
919 * \param nLength \ref length_specification.
920 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
921 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
922 * \param nppStreamCtx \ref application_managed_stream_context.
923 * \return \ref signal_data_error_codes, \ref length_error_codes.
924 */
925NppStatus
926nppsThreshold_32fc_I_Ctx(Npp32fc * pSrcDst, size_t nLength, Npp32f nLevel, NppCmpOp nRelOp, NppStreamContext nppStreamCtx);
927/**
928 * 32-bit in place floating point complex number signal threshold with constant level.
929 * \param pSrcDst \ref in_place_signal_pointer.
930 * \param nLength \ref length_specification.
931 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
932 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
933 * \return \ref signal_data_error_codes, \ref length_error_codes.
934 */
935NppStatus
936nppsThreshold_32fc_I(Npp32fc * pSrcDst, size_t nLength, Npp32f nLevel, NppCmpOp nRelOp);
937
938/**
939 * 64-bit floating point signal threshold with constant level.
940 * \param pSrc \ref source_signal_pointer.
941 * \param pDst \ref destination_signal_pointer.
942 * \param nLength \ref length_specification.
943 * \param nLevel Constant threshold value to be used to limit each signal sample
944 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
945 * \param nppStreamCtx \ref application_managed_stream_context.
946 * \return \ref signal_data_error_codes, \ref length_error_codes.
947 */
948NppStatus
949nppsThreshold_64f_Ctx(const Npp64f * pSrc, Npp64f * pDst, size_t nLength, Npp64f nLevel, NppCmpOp nRelOp, NppStreamContext nppStreamCtx);
950/**
951 * 64-bit floating point signal threshold with constant level.
952 * \param pSrc \ref source_signal_pointer.
953 * \param pDst \ref destination_signal_pointer.
954 * \param nLength \ref length_specification.
955 * \param nLevel Constant threshold value to be used to limit each signal sample
956 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
957 * \return \ref signal_data_error_codes, \ref length_error_codes.
958 */
959NppStatus
960nppsThreshold_64f(const Npp64f * pSrc, Npp64f * pDst, size_t nLength, Npp64f nLevel, NppCmpOp nRelOp);
961
962/**
963 * 64-bit in place floating point signal threshold with constant level.
964 * \param pSrcDst \ref in_place_signal_pointer.
965 * \param nLength \ref length_specification.
966 * \param nLevel Constant threshold value to be used to limit each signal sample
967 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
968 * \param nppStreamCtx \ref application_managed_stream_context.
969 * \return \ref signal_data_error_codes, \ref length_error_codes.
970 */
971NppStatus
972nppsThreshold_64f_I_Ctx(Npp64f * pSrcDst, size_t nLength, Npp64f nLevel, NppCmpOp nRelOp, NppStreamContext nppStreamCtx);
973/**
974 * 64-bit in place floating point signal threshold with constant level.
975 * \param pSrcDst \ref in_place_signal_pointer.
976 * \param nLength \ref length_specification.
977 * \param nLevel Constant threshold value to be used to limit each signal sample
978 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
979 * \return \ref signal_data_error_codes, \ref length_error_codes.
980 */
981NppStatus
982nppsThreshold_64f_I(Npp64f * pSrcDst, size_t nLength, Npp64f nLevel, NppCmpOp nRelOp);
983
984/**
985 * 64-bit floating point complex number signal threshold with constant level.
986 * \param pSrc \ref source_signal_pointer.
987 * \param pDst \ref destination_signal_pointer.
988 * \param nLength \ref length_specification.
989 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
990 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
991 * \param nppStreamCtx \ref application_managed_stream_context.
992 * \return \ref signal_data_error_codes, \ref length_error_codes.
993 */
994NppStatus
995nppsThreshold_64fc_Ctx(const Npp64fc * pSrc, Npp64fc * pDst, size_t nLength, Npp64f nLevel, NppCmpOp nRelOp, NppStreamContext nppStreamCtx);
996/**
997 * 64-bit floating point complex number signal threshold with constant level.
998 * \param pSrc \ref source_signal_pointer.
999 * \param pDst \ref destination_signal_pointer.
1000 * \param nLength \ref length_specification.
1001 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
1002 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
1003 * \return \ref signal_data_error_codes, \ref length_error_codes.
1004 */
1005NppStatus
1006nppsThreshold_64fc(const Npp64fc * pSrc, Npp64fc * pDst, size_t nLength, Npp64f nLevel, NppCmpOp nRelOp);
1007
1008/**
1009 * 64-bit in place floating point complex number signal threshold with constant level.
1010 * \param pSrcDst \ref in_place_signal_pointer.
1011 * \param nLength \ref length_specification.
1012 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
1013 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
1014 * \param nppStreamCtx \ref application_managed_stream_context.
1015 * \return \ref signal_data_error_codes, \ref length_error_codes.
1016 */
1017NppStatus
1018nppsThreshold_64fc_I_Ctx(Npp64fc * pSrcDst, size_t nLength, Npp64f nLevel, NppCmpOp nRelOp, NppStreamContext nppStreamCtx);
1019/**
1020 * 64-bit in place floating point complex number signal threshold with constant level.
1021 * \param pSrcDst \ref in_place_signal_pointer.
1022 * \param nLength \ref length_specification.
1023 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
1024 * \param nRelOp NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).
1025 * \return \ref signal_data_error_codes, \ref length_error_codes.
1026 */
1027NppStatus
1028nppsThreshold_64fc_I(Npp64fc * pSrcDst, size_t nLength, Npp64f nLevel, NppCmpOp nRelOp);
1029
1030/**
1031 * 16-bit signed short signal NPP_CMP_LESS threshold with constant level.
1032 * \param pSrc \ref source_signal_pointer.
1033 * \param pDst \ref destination_signal_pointer.
1034 * \param nLength \ref length_specification.
1035 * \param nLevel Constant threshold value to be used to limit each signal sample
1036 * \param nppStreamCtx \ref application_managed_stream_context.
1037 * \return \ref signal_data_error_codes, \ref length_error_codes.
1038 */
1039NppStatus
1040nppsThreshold_LT_16s_Ctx(const Npp16s * pSrc, Npp16s * pDst, size_t nLength, Npp16s nLevel, NppStreamContext nppStreamCtx);
1041/**
1042 * 16-bit signed short signal NPP_CMP_LESS threshold with constant level.
1043 * \param pSrc \ref source_signal_pointer.
1044 * \param pDst \ref destination_signal_pointer.
1045 * \param nLength \ref length_specification.
1046 * \param nLevel Constant threshold value to be used to limit each signal sample
1047 * \return \ref signal_data_error_codes, \ref length_error_codes.
1048 */
1049NppStatus
1050nppsThreshold_LT_16s(const Npp16s * pSrc, Npp16s * pDst, size_t nLength, Npp16s nLevel);
1051
1052/**
1053 * 16-bit in place signed short signal NPP_CMP_LESS threshold with constant level.
1054 * \param pSrcDst \ref in_place_signal_pointer.
1055 * \param nLength \ref length_specification.
1056 * \param nLevel Constant threshold value to be used to limit each signal sample
1057 * \param nppStreamCtx \ref application_managed_stream_context.
1058 * \return \ref signal_data_error_codes, \ref length_error_codes.
1059 */
1060NppStatus
1061nppsThreshold_LT_16s_I_Ctx(Npp16s * pSrcDst, size_t nLength, Npp16s nLevel, NppStreamContext nppStreamCtx);
1062/**
1063 * 16-bit in place signed short signal NPP_CMP_LESS threshold with constant level.
1064 * \param pSrcDst \ref in_place_signal_pointer.
1065 * \param nLength \ref length_specification.
1066 * \param nLevel Constant threshold value to be used to limit each signal sample
1067 * \return \ref signal_data_error_codes, \ref length_error_codes.
1068 */
1069NppStatus
1070nppsThreshold_LT_16s_I(Npp16s * pSrcDst, size_t nLength, Npp16s nLevel);
1071
1072/**
1073 * 16-bit signed short complex number signal NPP_CMP_LESS threshold with constant level.
1074 * \param pSrc \ref source_signal_pointer.
1075 * \param pDst \ref destination_signal_pointer.
1076 * \param nLength \ref length_specification.
1077 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
1078 * \param nppStreamCtx \ref application_managed_stream_context.
1079 * \return \ref signal_data_error_codes, \ref length_error_codes.
1080 */
1081NppStatus
1082nppsThreshold_LT_16sc_Ctx(const Npp16sc * pSrc, Npp16sc * pDst, size_t nLength, Npp16s nLevel, NppStreamContext nppStreamCtx);
1083/**
1084 * 16-bit signed short complex number signal NPP_CMP_LESS threshold with constant level.
1085 * \param pSrc \ref source_signal_pointer.
1086 * \param pDst \ref destination_signal_pointer.
1087 * \param nLength \ref length_specification.
1088 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
1089 * \return \ref signal_data_error_codes, \ref length_error_codes.
1090 */
1091NppStatus
1092nppsThreshold_LT_16sc(const Npp16sc * pSrc, Npp16sc * pDst, size_t nLength, Npp16s nLevel);
1093
1094/**
1095 * 16-bit in place signed short complex number signal NPP_CMP_LESS threshold with constant level.
1096 * \param pSrcDst \ref in_place_signal_pointer.
1097 * \param nLength \ref length_specification.
1098 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
1099 * \param nppStreamCtx \ref application_managed_stream_context.
1100 * \return \ref signal_data_error_codes, \ref length_error_codes.
1101 */
1102NppStatus
1103nppsThreshold_LT_16sc_I_Ctx(Npp16sc * pSrcDst, size_t nLength, Npp16s nLevel, NppStreamContext nppStreamCtx);
1104/**
1105 * 16-bit in place signed short complex number signal NPP_CMP_LESS threshold with constant level.
1106 * \param pSrcDst \ref in_place_signal_pointer.
1107 * \param nLength \ref length_specification.
1108 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
1109 * \return \ref signal_data_error_codes, \ref length_error_codes.
1110 */
1111NppStatus
1112nppsThreshold_LT_16sc_I(Npp16sc * pSrcDst, size_t nLength, Npp16s nLevel);
1113
1114/**
1115 * 32-bit floating point signal NPP_CMP_LESS threshold with constant level.
1116 * \param pSrc \ref source_signal_pointer.
1117 * \param pDst \ref destination_signal_pointer.
1118 * \param nLength \ref length_specification.
1119 * \param nLevel Constant threshold value to be used to limit each signal sample
1120 * \param nppStreamCtx \ref application_managed_stream_context.
1121 * \return \ref signal_data_error_codes, \ref length_error_codes.
1122 */
1123NppStatus
1124nppsThreshold_LT_32f_Ctx(const Npp32f * pSrc, Npp32f * pDst, size_t nLength, Npp32f nLevel, NppStreamContext nppStreamCtx);
1125/**
1126 * 32-bit floating point signal NPP_CMP_LESS threshold with constant level.
1127 * \param pSrc \ref source_signal_pointer.
1128 * \param pDst \ref destination_signal_pointer.
1129 * \param nLength \ref length_specification.
1130 * \param nLevel Constant threshold value to be used to limit each signal sample
1131 * \return \ref signal_data_error_codes, \ref length_error_codes.
1132 */
1133NppStatus
1134nppsThreshold_LT_32f(const Npp32f * pSrc, Npp32f * pDst, size_t nLength, Npp32f nLevel);
1135
1136/**
1137 * 32-bit in place floating point signal NPP_CMP_LESS threshold with constant level.
1138 * \param pSrcDst \ref in_place_signal_pointer.
1139 * \param nLength \ref length_specification.
1140 * \param nLevel Constant threshold value to be used to limit each signal sample
1141 * \param nppStreamCtx \ref application_managed_stream_context.
1142 * \return \ref signal_data_error_codes, \ref length_error_codes.
1143 */
1144NppStatus
1145nppsThreshold_LT_32f_I_Ctx(Npp32f * pSrcDst, size_t nLength, Npp32f nLevel, NppStreamContext nppStreamCtx);
1146/**
1147 * 32-bit in place floating point signal NPP_CMP_LESS threshold with constant level.
1148 * \param pSrcDst \ref in_place_signal_pointer.
1149 * \param nLength \ref length_specification.
1150 * \param nLevel Constant threshold value to be used to limit each signal sample
1151 * \return \ref signal_data_error_codes, \ref length_error_codes.
1152 */
1153NppStatus
1154nppsThreshold_LT_32f_I(Npp32f * pSrcDst, size_t nLength, Npp32f nLevel);
1155
1156/**
1157 * 32-bit floating point complex number signal NPP_CMP_LESS threshold with constant level.
1158 * \param pSrc \ref source_signal_pointer.
1159 * \param pDst \ref destination_signal_pointer.
1160 * \param nLength \ref length_specification.
1161 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
1162 * \param nppStreamCtx \ref application_managed_stream_context.
1163 * \return \ref signal_data_error_codes, \ref length_error_codes.
1164 */
1165NppStatus
1166nppsThreshold_LT_32fc_Ctx(const Npp32fc * pSrc, Npp32fc * pDst, size_t nLength, Npp32f nLevel, NppStreamContext nppStreamCtx);
1167/**
1168 * 32-bit floating point complex number signal NPP_CMP_LESS threshold with constant level.
1169 * \param pSrc \ref source_signal_pointer.
1170 * \param pDst \ref destination_signal_pointer.
1171 * \param nLength \ref length_specification.
1172 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
1173 * \return \ref signal_data_error_codes, \ref length_error_codes.
1174 */
1175NppStatus
1176nppsThreshold_LT_32fc(const Npp32fc * pSrc, Npp32fc * pDst, size_t nLength, Npp32f nLevel);
1177
1178/**
1179 * 32-bit in place floating point complex number signal NPP_CMP_LESS threshold with constant level.
1180 * \param pSrcDst \ref in_place_signal_pointer.
1181 * \param nLength \ref length_specification.
1182 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
1183 * \param nppStreamCtx \ref application_managed_stream_context.
1184 * \return \ref signal_data_error_codes, \ref length_error_codes.
1185 */
1186NppStatus
1187nppsThreshold_LT_32fc_I_Ctx(Npp32fc * pSrcDst, size_t nLength, Npp32f nLevel, NppStreamContext nppStreamCtx);
1188/**
1189 * 32-bit in place floating point complex number signal NPP_CMP_LESS threshold with constant level.
1190 * \param pSrcDst \ref in_place_signal_pointer.
1191 * \param nLength \ref length_specification.
1192 * \param nLevel Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample
1193 * \return \ref signal_data_error_codes, \ref length_error_codes.
1194 */
1195NppStatus
1196nppsThreshold_LT_32fc_I(Npp32fc * pSrcDst, size_t nLength, Npp32f nLevel);
1197
1198/**
1199 * 64-bit floating point signal NPP_CMP_LESS threshold with constant level.
1200 * \param pSrc \ref source_signal_pointer.
