NVIDIA Performance Primitives (NPP)  Version 10.0
nppi_compression_functions.h
1  /* Copyright 2009-2016 NVIDIA Corporation. 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_NPPI_COMPRESSION_FUNCTIONS_H
49 #define NV_NPPI_COMPRESSION_FUNCTIONS_H
50 
56 #include "nppdefs.h"
57 
58 #ifdef __cplusplus
59 extern "C" {
60 #endif
61 
98 NppStatus
99 nppiQuantFwdRawTableInit_JPEG_8u(Npp8u * hpQuantRawTable, int nQualityFactor);
100 
119 NppStatus
120 nppiQuantFwdTableInit_JPEG_8u16u(const Npp8u * hpQuantRawTable, Npp16u * hpQuantFwdRawTable);
121 
138 NppStatus
139 nppiQuantInvTableInit_JPEG_8u16u(const Npp8u * hpQuantRawTable, Npp16u * hpQuantFwdRawTable);
140 
141 
161 NppStatus
162 nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R(const Npp8u * pSrc, int nSrcStep,
163  Npp16s * pDst, int nDstStep,
164  const Npp16u * pQuantFwdTable, NppiSize oSizeROI);
165 
185 NppStatus
186 nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R(const Npp16s * pSrc, int nSrcStep,
187  Npp8u * pDst, int nDstStep,
188  const Npp16u * pQuantInvTable, NppiSize oSizeROI);
189 
190 
191 
192 #if defined (__cplusplus)
193 struct NppiDCTState;
194 #else
195 typedef struct NppiDCTState NppiDCTState;
196 #endif
197 
198 
214 
230 
252 NppStatus
253 nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R_NEW(const Npp8u * pSrc, int nSrcStep,
254  Npp16s * pDst, int nDstStep,
255  const Npp8u * pQuantizationTable, NppiSize oSizeROI,
256  NppiDCTState* pState);
257 
279 NppStatus
280 nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R_NEW(const Npp16s * pSrc, int nSrcStep,
281  Npp8u * pDst, int nDstStep,
282  const Npp8u * pQuantizationTable, NppiSize oSizeROI,
283  NppiDCTState* pState);
284 
306 NppStatus
307 nppiDCTQuant16Fwd8x8LS_JPEG_8u16s_C1R_NEW(const Npp8u * pSrc, int nSrcStep,
308  Npp16s * pDst, int nDstStep,
309  const Npp16u * pQuantizationTable, NppiSize oSizeROI,
310  NppiDCTState* pState);
311 
333 NppStatus
334 nppiDCTQuant16Inv8x8LS_JPEG_16s8u_C1R_NEW(const Npp16s * pSrc, int nSrcStep,
335  Npp8u * pDst, int nDstStep,
336  const Npp16u * pQuantizationTable, NppiSize oSizeROI,
337  NppiDCTState* pState);
338 
341 #if defined (__cplusplus)
342 struct NppiDecodeHuffmanSpec;
343 #else
345 #endif
346 
353 NppStatus
355 
364 NppStatus
365 nppiDecodeHuffmanSpecInitHost_JPEG(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiDecodeHuffmanSpec *pHuffmanSpec);
366 
375 NppStatus
376 nppiDecodeHuffmanSpecInitAllocHost_JPEG(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiDecodeHuffmanSpec **ppHuffmanSpec);
377 
383 NppStatus
385 
409 NppStatus
411  Npp32s restartInterval, Npp32s Ss, Npp32s Se, Npp32s Ah, Npp32s Al,
412  Npp16s * pDst, Npp32s nDstStep,
413  NppiDecodeHuffmanSpec * pHuffmanTableDC,
414  NppiDecodeHuffmanSpec * pHuffmanTableAC,
415  NppiSize oSizeROI);
416 
417 
441  NppStatus
443  Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl,
444  Npp16s * apDst[3], Npp32s aDstStep[3],
445  NppiDecodeHuffmanSpec * apHuffmanDCTable[3],
446  NppiDecodeHuffmanSpec * apHuffmanACTable[3],
447  NppiSize aSizeROI[3]);
448 
449 #if defined (__cplusplus)
450 struct NppiEncodeHuffmanSpec;
451 #else
453 #endif
454 
455 
462 NppStatus
464 
473 NppStatus
474 nppiEncodeHuffmanSpecInit_JPEG(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec *pHuffmanSpec);
475 
484 NppStatus
485 nppiEncodeHuffmanSpecInitAlloc_JPEG(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec **ppHuffmanSpec);
486 
492 NppStatus
494 
520 NppStatus
521 nppiEncodeHuffmanScan_JPEG_8u16s_P1R(const Npp16s * pSrc, Npp32s nSrcStep,
522  Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl,
523  Npp8u * pDst, Npp32s* nLength,
524  NppiEncodeHuffmanSpec * pHuffmanTableDC,
525  NppiEncodeHuffmanSpec * pHuffmanTableAC,
526  NppiSize oSizeROI,
527  Npp8u* pTempStorage);
528 
529 
555  NppStatus
556  nppiEncodeHuffmanScan_JPEG_8u16s_P3R(Npp16s * apSrc[3], Npp32s aSrcStep[3],
557  Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl,
558  Npp8u * pDst, Npp32s* nLength,
559  NppiEncodeHuffmanSpec * apHuffmanDCTable[3],
560  NppiEncodeHuffmanSpec * apHuffmanACTable[3],
561  NppiSize aSizeROI[3],
562  Npp8u* pTempStorage);
563 
593 NppStatus
595  Npp32s nRestartInterval, Npp32s nSs,
596  Npp32s nSe, Npp32s nAh, Npp32s nAl,
597  Npp8u * pDst, Npp32s * pLength,
598  Npp8u * hpCodesDC, Npp8u * hpTableDC,
599  Npp8u * hpCodesAC, Npp8u * hpTableAC,
600  NppiEncodeHuffmanSpec * pHuffmanDCTable,
601  NppiEncodeHuffmanSpec * pHuffmanACTable,
602  NppiSize oSizeROI, Npp8u * pTempStorage);
603 
633 NppStatus
635  Npp32s nRestartInterval, Npp32s nSs,
636  Npp32s nSe, Npp32s nAh, Npp32s nAl,
637  Npp8u * pDst, Npp32s * pLength,
638  Npp8u * hpCodesDC[3], Npp8u * hpTableDC[3],
639  Npp8u * hpCodesAC[3], Npp8u * hpTableAC[3],
640  NppiEncodeHuffmanSpec * apHuffmanDCTable[3],
641  NppiEncodeHuffmanSpec * apHuffmanACTable[3],
642  NppiSize oSizeROI[3], Npp8u * pTempStorage);
643 
661 NppStatus nppiEncodeHuffmanGetSize(NppiSize oSize, int nChannels, size_t * pBufSize);
662 
679 NppStatus nppiEncodeOptimizeHuffmanGetSize(NppiSize oSize, int nChannels, int * pBufSize);
680 
681 
691 
697 typedef struct {
700  NppiSize aComponentSubsampling[4];
701  Npp16s * apComponentBuffer[4];
708 
710 typedef struct {
712  Npp8u aComponentIdx[4];
714  Npp8u aComponentDcHtSel[4];
715  Npp8u aComponentAcHtSel[4];
716  const Npp8u * apRawDcHtTable[4];
720  const Npp8u * apRawAcHtTable[4];
728 
744  // SIMPLE can be split into:
750 
753 };
754 
760 typedef struct {
766 
772 #define NPPI_JPEG_DECODE_N_BUFFERS 3
773 
780 typedef struct {
781  const Npp8u * pCpuScan;
795  void * apCpuBuffer[NPPI_JPEG_DECODE_N_BUFFERS];
800  void * apGpuBuffer[NPPI_JPEG_DECODE_N_BUFFERS];
804 
819 NppStatus nppiJpegDecodeJobMemorySize(const NppiJpegDecodeJob * pJob, size_t * aSize);
820 
892 
905 
916 
928 
943 
965 NppStatus nppiDCTInv4x4_WebP_16s_C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI);
966 
970 #ifdef __cplusplus
971 } /* extern "C" */
972 #endif
973 
974 #endif /* NV_NPPI_COMPRESSION_FUNCTIONS_H */
NppStatus nppiEncodeHuffmanSpecGetBufSize_JPEG(int *pSize)
Returns the length of the NppiEncodeHuffmanSpec structure.
NppStatus nppiEncodeOptimizeHuffmanGetSize(NppiSize oSize, int nChannels, int *pBufSize)
Calculates the size of the temporary buffer for optimize Huffman coding.
JPEG frame descriptor.
Definition: nppi_compression_functions.h:697
unsigned char Npp8u
8-bit unsigned chars
Definition: nppdefs.h:278
NppStatus nppiEncodeHuffmanScan_JPEG_8u16s_P1R(const Npp16s *pSrc, Npp32s nSrcStep, Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl, Npp8u *pDst, Npp32s *nLength, NppiEncodeHuffmanSpec *pHuffmanTableDC, NppiEncodeHuffmanSpec *pHuffmanTableAC, NppiSize oSizeROI, Npp8u *pTempStorage)
Huffman Encoding of the JPEG Encoding.
NppStatus nppiEncodeHuffmanSpecFree_JPEG(NppiEncodeHuffmanSpec *pHuffmanSpec)
Frees the memory allocated by nppiEncodeHuffmanSpecInitAlloc_JPEG.
NppStatus nppiDCTQuant16Inv8x8LS_JPEG_16s8u_C1R_NEW(const Npp16s *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, const Npp16u *pQuantizationTable, NppiSize oSizeROI, NppiDCTState *pState)
Inverse DCT, de-quantization and level shift part of the JPEG decoding, 16-bit short integer...
NppStatus nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R_NEW(const Npp16s *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, const Npp8u *pQuantizationTable, NppiSize oSizeROI, NppiDCTState *pState)
Inverse DCT, de-quantization and level shift part of the JPEG decoding.
Zeroing memory before decoding.
Definition: nppi_compression_functions.h:751
NppiJpegDecodeJobKind
Type of job to execute.
Definition: nppi_compression_functions.h:741
NppStatus
Error Status Codes.
Definition: nppdefs.h:152
NppStatus nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R(const Npp16s *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, const Npp16u *pQuantInvTable, NppiSize oSizeROI)
Inverse DCT, de-quantization and level shift part of the JPEG decoding.
Decode whole scan using a single job.
Definition: nppi_compression_functions.h:742
NppStatus nppiDecodeHuffmanSpecInitAllocHost_JPEG(const Npp8u *pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiDecodeHuffmanSpec **ppHuffmanSpec)
Allocates memory and creates a Huffman table in a format that is suitable for the decoder on the host...
NppStatus nppiDCTInitAlloc(NppiDCTState **ppState)
Initializes DCT state structure and allocates additional resources.
size_t nppiJpegDecodeGetScanDeadzoneSize(void)
This function returns how much additional memory has to be available after the end of compressed scan...
NppiJpegFrameDescr * pFrame
This field and its contents are never written.
Definition: nppi_compression_functions.h:761
NppStatus nppiDCTFree(NppiDCTState *pState)
Frees the additional resources of the DCT state structure.
NppStatus nppiDCTInv4x4_WebP_16s_C1R(const Npp16s *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, NppiSize oSizeROI)
Inverse DCT in WebP decoding.
NppStatus nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R(const Npp8u *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, const Npp16u *pQuantFwdTable, NppiSize oSizeROI)
Forward DCT, quantization and level shift part of the JPEG encoding.
NppStatus nppiDecodeHuffmanSpecGetBufSize_JPEG(int *pSize)
Returns the length of the NppiDecodeHuffmanSpec structure.
2D Size This struct typically represents the size of a a rectangular region in two space...
Definition: nppdefs.h:418
JPEG decode job used by nppiJpegDecodeJob (see that for more documentation)
Definition: nppi_compression_functions.h:760
Memory buffers used by one decode job.
Definition: nppi_compression_functions.h:780
Npp8u nAh
Successive approximation bit position high.
Definition: nppi_compression_functions.h:723
NppStatus nppiDCTQuant16Fwd8x8LS_JPEG_8u16s_C1R_NEW(const Npp8u *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, const Npp16u *pQuantizationTable, NppiSize oSizeROI, NppiDCTState *pState)
Forward DCT, quantization and level shift part of the JPEG encoding, 16-bit short integer...
NppStatus nppiJpegDecodeJobMemorySize(const NppiJpegDecodeJob *pJob, size_t *aSize)
Calculates sizes of additional buffers used by the job.
NppStatus nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P1R(const Npp16s *pSrc, Npp32s nSrcStep, Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl, Npp8u *pDst, Npp32s *pLength, Npp8u *hpCodesDC, Npp8u *hpTableDC, Npp8u *hpCodesAC, Npp8u *hpTableAC, NppiEncodeHuffmanSpec *pHuffmanDCTable, NppiEncodeHuffmanSpec *pHuffmanACTable, NppiSize oSizeROI, Npp8u *pTempStorage)
Optimize Huffman Encoding of the JPEG Encoding.
NppiSize oSizeInBlocks
Size of component with 1x1 subsampling (usually luma) in DCT blocks.
Definition: nppi_compression_functions.h:699
NppStatus nppiDecodeHuffmanSpecFreeHost_JPEG(NppiDecodeHuffmanSpec *pHuffmanSpec)
Frees the host memory allocated by nppiDecodeHuffmanSpecInitAllocHost_JPEG.
NppStatus nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R_NEW(const Npp8u *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, const Npp8u *pQuantizationTable, NppiSize oSizeROI, NppiDCTState *pState)
Forward DCT, quantization and level shift part of the JPEG encoding.
Npp8u nSs
Start of spectral selection (index of first coefficient), 0-63.
Definition: nppi_compression_functions.h:721
Npp8u nAl
Successive approximation bit position low.
Definition: nppi_compression_functions.h:724
int Npp32s
32-bit signed integers
Definition: nppdefs.h:283
NppStatus nppiJpegDecodeJob(const NppiJpegDecodeJob *pJob, const NppiJpegDecodeJobMemory *pMemory)
Executes a job – part of decoding.
NppStatus nppiDecodeHuffmanScanHost_JPEG_8u16s_P3R(const Npp8u *pSrc, Npp32s nLength, Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl, Npp16s *apDst[3], Npp32s aDstStep[3], NppiDecodeHuffmanSpec *apHuffmanDCTable[3], NppiDecodeHuffmanSpec *apHuffmanACTable[3], NppiSize aSizeROI[3])
Huffman Decoding of the JPEG decoding on the host.
Preprocessing scan on GPU.
Definition: nppi_compression_functions.h:746
NppStatus nppiQuantFwdRawTableInit_JPEG_8u(Npp8u *hpQuantRawTable, int nQualityFactor)
Apply quality factor to raw 8-bit quantization table.
struct NppiDCTState NppiDCTState
Definition: nppi_compression_functions.h:195
NppStatus nppiDecodeHuffmanScanHost_JPEG_8u16s_P1R(const Npp8u *pSrc, Npp32s nLength, Npp32s restartInterval, Npp32s Ss, Npp32s Se, Npp32s Ah, Npp32s Al, Npp16s *pDst, Npp32s nDstStep, NppiDecodeHuffmanSpec *pHuffmanTableDC, NppiDecodeHuffmanSpec *pHuffmanTableAC, NppiSize oSizeROI)
Huffman Decoding of the JPEG decoding on the host.
NppStatus nppiEncodeHuffmanSpecInitAlloc_JPEG(const Npp8u *pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec **ppHuffmanSpec)
Allocates memory and creates a Huffman table in a format that is suitable for the encoder...
size_t nppiJpegDecodeGetDCTBufferSize(NppiSize oBlocks)
Returns how much memory has to be allocated for DCT coefficient buffers declared in NppiJpegDecodeJob...
const Npp8u * pCpuScan
Pointer to host memory containing compressed scan data.
Definition: nppi_compression_functions.h:781
unsigned short Npp16u
16-bit unsigned integers
Definition: nppdefs.h:280
NppStatus nppiJpegDecodeJobCreateFinalize(NppiJpegDecodeJob *pJob)
Initializes a job that has to be called at the end of decoding, in order to convert temporary represe...
Npp32s restartInterval
Restart interval in MCUs.
Definition: nppi_compression_functions.h:725
Part of decoding run on CPU.
Definition: nppi_compression_functions.h:747
Change memory representation of DCT coefficients to final.
Definition: nppi_compression_functions.h:752
NppiJpegScanDescr * pScan
This field is never written.
Definition: nppi_compression_functions.h:762
JPEG scan descriptor.
Definition: nppi_compression_functions.h:710
NppiHuffmanTableType
Definition: nppdefs.h:592
short Npp16s
16-bit signed integers
Definition: nppdefs.h:281
Npp8u nComponents
Number of components in frame.
Definition: nppi_compression_functions.h:698
NppStatus nppiEncodeHuffmanSpecInit_JPEG(const Npp8u *pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec *pHuffmanSpec)
Creates a Huffman table in a format that is suitable for the encoder.
Npp8u nComponents
Number of components present in scan.
Definition: nppi_compression_functions.h:711
NppStatus nppiQuantFwdTableInit_JPEG_8u16u(const Npp8u *hpQuantRawTable, Npp16u *hpQuantFwdRawTable)
Initializes a quantization table for nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R().
#define NPPI_JPEG_DECODE_N_BUFFERS
Number of additional buffers that may be used by JPEG decode jobs.
Definition: nppi_compression_functions.h:772
NppStatus nppiJpegDecodeJobCreateMemzero(NppiJpegDecodeJob *pJob)
Initializes a job that has to be called at the beginning of decoding.
struct NppiEncodeHuffmanSpec NppiEncodeHuffmanSpec
Definition: nppi_compression_functions.h:452
Part of decoding run on GPU.
Definition: nppi_compression_functions.h:748
NppStatus nppiDecodeHuffmanSpecInitHost_JPEG(const Npp8u *pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiDecodeHuffmanSpec *pHuffmanSpec)
Creates a Huffman table in a format that is suitable for the decoder on the host. ...
NppStatus nppiQuantInvTableInit_JPEG_8u16u(const Npp8u *hpQuantRawTable, Npp16u *hpQuantFwdRawTable)
Initializes a quantization table for nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R().
NppStatus nppiEncodeHuffmanGetSize(NppiSize oSize, int nChannels, size_t *pBufSize)
Calculates the size of the temporary buffer for baseline Huffman encoding.
NppStatus nppiEncodeHuffmanScan_JPEG_8u16s_P3R(Npp16s *apSrc[3], Npp32s aSrcStep[3], Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl, Npp8u *pDst, Npp32s *nLength, NppiEncodeHuffmanSpec *apHuffmanDCTable[3], NppiEncodeHuffmanSpec *apHuffmanACTable[3], NppiSize aSizeROI[3], Npp8u *pTempStorage)
Huffman Encoding of the JPEG Encoding.
Npp8u nSe
End of spectral selection (index of first coefficient), 0-63.
Definition: nppi_compression_functions.h:722
Npp8u * pGpuScan
Pointer to device memory used for compressed scan data.
Definition: nppi_compression_functions.h:787
struct NppiDecodeHuffmanSpec NppiDecodeHuffmanSpec
Definition: nppi_compression_functions.h:344
Npp32s length
Length of compressed (encoded) scan data.
Definition: nppi_compression_functions.h:726
NppStatus nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P3R(Npp16s *apSrc[3], Npp32s aSrcStep[3], Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl, Npp8u *pDst, Npp32s *pLength, Npp8u *hpCodesDC[3], Npp8u *hpTableDC[3], Npp8u *hpCodesAC[3], Npp8u *hpTableAC[3], NppiEncodeHuffmanSpec *apHuffmanDCTable[3], NppiEncodeHuffmanSpec *apHuffmanACTable[3], NppiSize oSizeROI[3], Npp8u *pTempStorage)
Optimize Huffman Encoding of the JPEG Encoding.

Copyright © 2009-2017 NVIDIA Corporation