NVIDIA 2D Image And Signal Performance Primitives (NPP)  Version 10.2.*.*
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
nppi_compression_functions.h
1  /* Copyright 2009-2019 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 
106 NppStatus
107 nppiQuantFwdRawTableInit_JPEG_8u(Npp8u * hpQuantRawTable, int nQualityFactor);
108 
129 NppStatus
130 nppiQuantFwdTableInit_JPEG_8u16u(const Npp8u * hpQuantRawTable, Npp16u * hpQuantFwdRawTable);
131 
150 NppStatus
151 nppiQuantInvTableInit_JPEG_8u16u(const Npp8u * hpQuantRawTable, Npp16u * hpQuantFwdRawTable);
152 
153 
176 NppStatus
177 nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R_Ctx(const Npp8u * pSrc, int nSrcStep,
178  Npp16s * pDst, int nDstStep,
179  const Npp16u * pQuantFwdTable, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
180 
181 NppStatus
182 nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R(const Npp8u * pSrc, int nSrcStep,
183  Npp16s * pDst, int nDstStep,
184  const Npp16u * pQuantFwdTable, NppiSize oSizeROI);
185 
208 NppStatus
209 nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R_Ctx(const Npp16s * pSrc, int nSrcStep,
210  Npp8u * pDst, int nDstStep,
211  const Npp16u * pQuantInvTable, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
212 
213 NppStatus
214 nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R(const Npp16s * pSrc, int nSrcStep,
215  Npp8u * pDst, int nDstStep,
216  const Npp16u * pQuantInvTable, NppiSize oSizeROI);
217 
218 
219 #if defined (__cplusplus)
220 struct NppiDCTState;
221 #else
222 typedef struct NppiDCTState NppiDCTState;
223 #endif
224 
225 
244 
246 
264 
289 NppStatus
290 nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R_NEW_Ctx(const Npp8u * pSrc, int nSrcStep,
291  Npp16s * pDst, int nDstStep,
292  const Npp8u * pQuantizationTable, NppiSize oSizeROI,
293  NppiDCTState* pState, NppStreamContext nppStreamCtx);
294 
295 NppStatus
296 nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R_NEW(const Npp8u * pSrc, int nSrcStep,
297  Npp16s * pDst, int nDstStep,
298  const Npp8u * pQuantizationTable, NppiSize oSizeROI,
299  NppiDCTState* pState);
300 
325 NppStatus
326 nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R_NEW_Ctx(const Npp16s * pSrc, int nSrcStep,
327  Npp8u * pDst, int nDstStep,
328  const Npp8u * pQuantizationTable, NppiSize oSizeROI,
329  NppiDCTState* pState, NppStreamContext nppStreamCtx);
330 
331 NppStatus
332 nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R_NEW(const Npp16s * pSrc, int nSrcStep,
333  Npp8u * pDst, int nDstStep,
334  const Npp8u * pQuantizationTable, NppiSize oSizeROI,
335  NppiDCTState* pState);
336 
361 NppStatus
362 nppiDCTQuant16Fwd8x8LS_JPEG_8u16s_C1R_NEW_Ctx(const Npp8u * pSrc, int nSrcStep,
363  Npp16s * pDst, int nDstStep,
364  const Npp16u * pQuantizationTable, NppiSize oSizeROI,
365  NppiDCTState* pState, NppStreamContext nppStreamCtx);
366 
367 NppStatus
368 nppiDCTQuant16Fwd8x8LS_JPEG_8u16s_C1R_NEW(const Npp8u * pSrc, int nSrcStep,
369  Npp16s * pDst, int nDstStep,
370  const Npp16u * pQuantizationTable, NppiSize oSizeROI,
371  NppiDCTState* pState);
372 
397 NppStatus
398 nppiDCTQuant16Inv8x8LS_JPEG_16s8u_C1R_NEW_Ctx(const Npp16s * pSrc, int nSrcStep,
399  Npp8u * pDst, int nDstStep,
400  const Npp16u * pQuantizationTable, NppiSize oSizeROI,
401  NppiDCTState* pState, NppStreamContext nppStreamCtx);
402 
403 NppStatus
404 nppiDCTQuant16Inv8x8LS_JPEG_16s8u_C1R_NEW(const Npp16s * pSrc, int nSrcStep,
405  Npp8u * pDst, int nDstStep,
406  const Npp16u * pQuantizationTable, NppiSize oSizeROI,
407  NppiDCTState* pState);
408 
411 #if defined (__cplusplus)
412 struct NppiDecodeHuffmanSpec;
413 #else
415 #endif
416 
425 NppStatus
427 
438 NppStatus
439 nppiDecodeHuffmanSpecInitHost_JPEG(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiDecodeHuffmanSpec *pHuffmanSpec);
440 
451 NppStatus
452 nppiDecodeHuffmanSpecInitAllocHost_JPEG(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiDecodeHuffmanSpec **ppHuffmanSpec);
453 
460 NppStatus
462 
489 NppStatus
491  Npp32s restartInterval, Npp32s Ss, Npp32s Se, Npp32s Ah, Npp32s Al,
492  Npp16s * pDst, Npp32s nDstStep,
493  NppiDecodeHuffmanSpec * pHuffmanTableDC,
494  NppiDecodeHuffmanSpec * pHuffmanTableAC,
495  NppiSize oSizeROI, NppStreamContext nppStreamCtx);
496 
497 NppStatus
499  Npp32s restartInterval, Npp32s Ss, Npp32s Se, Npp32s Ah, Npp32s Al,
500  Npp16s * pDst, Npp32s nDstStep,
501  NppiDecodeHuffmanSpec * pHuffmanTableDC,
502  NppiDecodeHuffmanSpec * pHuffmanTableAC,
503  NppiSize oSizeROI);
504 
531  NppStatus
533  Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl,
534  Npp16s * apDst[3], Npp32s aDstStep[3],
535  NppiDecodeHuffmanSpec * apHuffmanDCTable[3],
536  NppiDecodeHuffmanSpec * apHuffmanACTable[3],
537  NppiSize aSizeROI[3], NppStreamContext nppStreamCtx);
538 
539  NppStatus
541  Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl,
542  Npp16s * apDst[3], Npp32s aDstStep[3],
543  NppiDecodeHuffmanSpec * apHuffmanDCTable[3],
544  NppiDecodeHuffmanSpec * apHuffmanACTable[3],
545  NppiSize aSizeROI[3]);
546 
547 #if defined (__cplusplus)
548 struct NppiEncodeHuffmanSpec;
549 #else
551 #endif
552 
553 
562 NppStatus
564 
576 NppStatus
577 nppiEncodeHuffmanSpecInit_JPEG_Ctx(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec *pHuffmanSpec, NppStreamContext nppStreamCtx);
578 
579 NppStatus
580 nppiEncodeHuffmanSpecInit_JPEG(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec *pHuffmanSpec);
581 
593 NppStatus
594 nppiEncodeHuffmanSpecInitAlloc_JPEG_Ctx(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec **ppHuffmanSpec, NppStreamContext nppStreamCtx);
595 
596 NppStatus
597 nppiEncodeHuffmanSpecInitAlloc_JPEG(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec **ppHuffmanSpec);
598 
605 NppStatus
607 
636 NppStatus
638  Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl,
639  Npp8u * pDst, Npp32s* nLength,
640  NppiEncodeHuffmanSpec * pHuffmanTableDC,
641  NppiEncodeHuffmanSpec * pHuffmanTableAC,
642  NppiSize oSizeROI,
643  Npp8u* pTempStorage, NppStreamContext nppStreamCtx);
644 
645 NppStatus
646 nppiEncodeHuffmanScan_JPEG_8u16s_P1R(const Npp16s * pSrc, Npp32s nSrcStep,
647  Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl,
648  Npp8u * pDst, Npp32s* nLength,
649  NppiEncodeHuffmanSpec * pHuffmanTableDC,
650  NppiEncodeHuffmanSpec * pHuffmanTableAC,
651  NppiSize oSizeROI,
652  Npp8u* pTempStorage);
653 
682  NppStatus
684  Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl,
685  Npp8u * pDst, Npp32s* nLength,
686  NppiEncodeHuffmanSpec * apHuffmanDCTable[3],
687  NppiEncodeHuffmanSpec * apHuffmanACTable[3],
688  NppiSize aSizeROI[3],
689  Npp8u* pTempStorage, NppStreamContext nppStreamCtx);
690 
691 NppStatus
692  nppiEncodeHuffmanScan_JPEG_8u16s_P3R(Npp16s * apSrc[3], Npp32s aSrcStep[3],
693  Npp32s nRestartInterval, Npp32s nSs, Npp32s nSe, Npp32s nAh, Npp32s nAl,
694  Npp8u * pDst, Npp32s* nLength,
695  NppiEncodeHuffmanSpec * apHuffmanDCTable[3],
696  NppiEncodeHuffmanSpec * apHuffmanACTable[3],
697  NppiSize aSizeROI[3],
698  Npp8u* pTempStorage);
699 
732 NppStatus
734  Npp32s nRestartInterval, Npp32s nSs,
735  Npp32s nSe, Npp32s nAh, Npp32s nAl,
736  Npp8u * pDst, Npp32s * pLength,
737  Npp8u * hpCodesDC, Npp8u * hpTableDC,
738  Npp8u * hpCodesAC, Npp8u * hpTableAC,
739  NppiEncodeHuffmanSpec * pHuffmanDCTable,
740  NppiEncodeHuffmanSpec * pHuffmanACTable,
741  NppiSize oSizeROI, Npp8u * pTempStorage, NppStreamContext nppStreamCtx);
742 
743 NppStatus
745  Npp32s nRestartInterval, Npp32s nSs,
746  Npp32s nSe, Npp32s nAh, Npp32s nAl,
747  Npp8u * pDst, Npp32s * pLength,
748  Npp8u * hpCodesDC, Npp8u * hpTableDC,
749  Npp8u * hpCodesAC, Npp8u * hpTableAC,
750  NppiEncodeHuffmanSpec * pHuffmanDCTable,
751  NppiEncodeHuffmanSpec * pHuffmanACTable,
752  NppiSize oSizeROI, Npp8u * pTempStorage);
753 
786 NppStatus
788  Npp32s nRestartInterval, Npp32s nSs,
789  Npp32s nSe, Npp32s nAh, Npp32s nAl,
790  Npp8u * pDst, Npp32s * pLength,
791  Npp8u * hpCodesDC[3], Npp8u * hpTableDC[3],
792  Npp8u * hpCodesAC[3], Npp8u * hpTableAC[3],
793  NppiEncodeHuffmanSpec * apHuffmanDCTable[3],
794  NppiEncodeHuffmanSpec * apHuffmanACTable[3],
795  NppiSize oSizeROI[3], Npp8u * pTempStorage, NppStreamContext nppStreamCtx);
796 
797 NppStatus
799  Npp32s nRestartInterval, Npp32s nSs,
800  Npp32s nSe, Npp32s nAh, Npp32s nAl,
801  Npp8u * pDst, Npp32s * pLength,
802  Npp8u * hpCodesDC[3], Npp8u * hpTableDC[3],
803  Npp8u * hpCodesAC[3], Npp8u * hpTableAC[3],
804  NppiEncodeHuffmanSpec * apHuffmanDCTable[3],
805  NppiEncodeHuffmanSpec * apHuffmanACTable[3],
806  NppiSize oSizeROI[3], Npp8u * pTempStorage);
807 
827 NppStatus nppiEncodeHuffmanGetSize(NppiSize oSize, int nChannels, size_t * pBufSize);
828 
847 NppStatus nppiEncodeOptimizeHuffmanGetSize(NppiSize oSize, int nChannels, int * pBufSize);
848 
849 
861 
869 typedef struct {
872  NppiSize aComponentSubsampling[4];
873  Npp16s * apComponentBuffer[4];
880 
882 typedef struct {
884  Npp8u aComponentIdx[4];
886  Npp8u aComponentDcHtSel[4];
887  Npp8u aComponentAcHtSel[4];
888  const Npp8u * apRawDcHtTable[4];
892  const Npp8u * apRawAcHtTable[4];
900 
918  // SIMPLE can be split into:
924 
927 };
928 
936 typedef struct {
942 
948 #define NPPI_JPEG_DECODE_N_BUFFERS 3
949 
958 typedef struct {
959  const Npp8u * pCpuScan;
973  void * apCpuBuffer[NPPI_JPEG_DECODE_N_BUFFERS];
978  void * apGpuBuffer[NPPI_JPEG_DECODE_N_BUFFERS];
982 
999 NppStatus nppiJpegDecodeJobMemorySize(const NppiJpegDecodeJob * pJob, size_t * aSize);
1000 
1075 
1077 
1092 
1105 
1119 
1136 
1161 NppStatus nppiDCTInv4x4_WebP_16s_C1R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
1162 
1163 NppStatus nppiDCTInv4x4_WebP_16s_C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI);
1164 
1168 #ifdef __cplusplus
1169 } /* extern "C" */
1170 #endif
1171 
1172 #endif /* NV_NPPI_COMPRESSION_FUNCTIONS_H */
NppStatus nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R_Ctx(const Npp16s *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, const Npp16u *pQuantInvTable, NppiSize oSizeROI, NppStreamContext nppStreamCtx)
Inverse DCT, de-quantization and level shift part of the JPEG decoding.
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.
NppStatus nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R_NEW_Ctx(const Npp16s *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, const Npp8u *pQuantizationTable, NppiSize oSizeROI, NppiDCTState *pState, NppStreamContext nppStreamCtx)
Inverse DCT, de-quantization and level shift part of the JPEG decoding.
NppStatus nppiEncodeHuffmanScan_JPEG_8u16s_P1R_Ctx(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, NppStreamContext nppStreamCtx)
Huffman Encoding of the JPEG Encoding.
JPEG frame descriptor.
Definition: nppi_compression_functions.h:869
unsigned char Npp8u
8-bit unsigned chars
Definition: nppdefs.h:270
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)
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)
NppStatus nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P1R_Ctx(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, NppStreamContext nppStreamCtx)
Optimize Huffman Encoding of the JPEG Encoding.
NppStatus nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R_NEW(const Npp16s *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, const Npp8u *pQuantizationTable, NppiSize oSizeROI, NppiDCTState *pState)
Zeroing memory before decoding.
Definition: nppi_compression_functions.h:925
NppiJpegDecodeJobKind
Type of job to execute.
Definition: nppi_compression_functions.h:915
NppStatus
Error Status Codes.
Definition: nppdefs.h:170
NppStatus nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P3R_Ctx(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, NppStreamContext nppStreamCtx)
Optimize Huffman Encoding of the JPEG Encoding.
NppStatus nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R(const Npp16s *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, const Npp16u *pQuantInvTable, NppiSize oSizeROI)
Decode whole scan using a single job.
Definition: nppi_compression_functions.h:916
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)
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:937
NppStatus nppiDCTFree(NppiDCTState *pState)
Frees the additional resources of the DCT state structure.
NppStatus nppiEncodeHuffmanSpecInitAlloc_JPEG_Ctx(const Npp8u *pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec **ppHuffmanSpec, NppStreamContext nppStreamCtx)
Allocates memory and creates a Huffman table in a format that is suitable for the encoder...
NppStatus nppiDCTInv4x4_WebP_16s_C1R(const Npp16s *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, NppiSize oSizeROI)
NppStatus nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R(const Npp8u *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, const Npp16u *pQuantFwdTable, NppiSize oSizeROI)
NppStatus nppiDecodeHuffmanSpecGetBufSize_JPEG(int *pSize)
Returns the length of the NppiDecodeHuffmanSpec structure.
NppStatus nppiDCTQuant16Fwd8x8LS_JPEG_8u16s_C1R_NEW_Ctx(const Npp8u *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, const Npp16u *pQuantizationTable, NppiSize oSizeROI, NppiDCTState *pState, NppStreamContext nppStreamCtx)
Forward DCT, quantization and level shift part of the JPEG encoding, 16-bit short integer...
2D Size This struct typically represents the size of a a rectangular region in two space...
Definition: nppdefs.h:410
JPEG decode job used by nppiJpegDecodeJob (see that for more documentation)
Definition: nppi_compression_functions.h:936
NppStatus nppiJpegDecodeJob_Ctx(const NppiJpegDecodeJob *pJob, const NppiJpegDecodeJobMemory *pMemory, NppStreamContext nppStreamCtx)
Executes a job – part of decoding.
Memory buffers used by one decode job.
Definition: nppi_compression_functions.h:958
Npp8u nAh
Successive approximation bit position high.
Definition: nppi_compression_functions.h:895
NppStatus nppiDCTQuant16Fwd8x8LS_JPEG_8u16s_C1R_NEW(const Npp8u *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, const Npp16u *pQuantizationTable, NppiSize oSizeROI, NppiDCTState *pState)
NppStatus nppiJpegDecodeJobMemorySize(const NppiJpegDecodeJob *pJob, size_t *aSize)
Calculates sizes of additional buffers used by the job.
NppStatus nppiDCTQuant16Inv8x8LS_JPEG_16s8u_C1R_NEW_Ctx(const Npp16s *pSrc, int nSrcStep, Npp8u *pDst, int nDstStep, const Npp16u *pQuantizationTable, NppiSize oSizeROI, NppiDCTState *pState, NppStreamContext nppStreamCtx)
Inverse DCT, de-quantization and level shift part of the JPEG decoding, 16-bit short integer...
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)
NppiSize oSizeInBlocks
Size of component with 1x1 subsampling (usually luma) in DCT blocks.
Definition: nppi_compression_functions.h:871
NppStatus nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R_NEW_Ctx(const Npp8u *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, const Npp8u *pQuantizationTable, NppiSize oSizeROI, NppiDCTState *pState, NppStreamContext nppStreamCtx)
Forward DCT, quantization and level shift part of the JPEG encoding.
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)
Npp8u nSs
Start of spectral selection (index of first coefficient), 0-63.
Definition: nppi_compression_functions.h:893
Npp8u nAl
Successive approximation bit position low.
Definition: nppi_compression_functions.h:896
NppStatus nppiEncodeHuffmanSpecInit_JPEG_Ctx(const Npp8u *pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec *pHuffmanSpec, NppStreamContext nppStreamCtx)
Creates a Huffman table in a format that is suitable for the encoder.
int Npp32s
32-bit signed integers
Definition: nppdefs.h:275
NppStatus nppiDecodeHuffmanScanHost_JPEG_8u16s_P1R_Ctx(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, NppStreamContext nppStreamCtx)
Huffman Decoding of the JPEG decoding on the host.
NppStatus nppiJpegDecodeJob(const NppiJpegDecodeJob *pJob, const NppiJpegDecodeJobMemory *pMemory)
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])
Preprocessing scan on GPU.
Definition: nppi_compression_functions.h:920
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:222
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)
NppStatus nppiEncodeHuffmanSpecInitAlloc_JPEG(const Npp8u *pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec **ppHuffmanSpec)
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:959
unsigned short Npp16u
16-bit unsigned integers
Definition: nppdefs.h:272
NppStatus nppiJpegDecodeJobCreateFinalize(NppiJpegDecodeJob *pJob)
Initializes a job that has to be called at the end of decoding, in order to convert temporary represe...
NPP stream context structure must be filled in by application.
Definition: nppdefs.h:612
Npp32s restartInterval
Restart interval in MCUs.
Definition: nppi_compression_functions.h:897
Part of decoding run on CPU.
Definition: nppi_compression_functions.h:921
Change memory representation of DCT coefficients to final.
Definition: nppi_compression_functions.h:926
NppiJpegScanDescr * pScan
This field is never written.
Definition: nppi_compression_functions.h:938
JPEG scan descriptor.
Definition: nppi_compression_functions.h:882
NppiHuffmanTableType
Definition: nppdefs.h:584
short Npp16s
16-bit signed integers
Definition: nppdefs.h:273
Npp8u nComponents
Number of components in frame.
Definition: nppi_compression_functions.h:870
NppStatus nppiEncodeHuffmanSpecInit_JPEG(const Npp8u *pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec *pHuffmanSpec)
Npp8u nComponents
Number of components present in scan.
Definition: nppi_compression_functions.h:883
NppStatus nppiQuantFwdTableInit_JPEG_8u16u(const Npp8u *hpQuantRawTable, Npp16u *hpQuantFwdRawTable)
Initializes a quantization table for nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R().
NppStatus nppiDCTInitAlloc_Ctx(NppiDCTState **ppState, NppStreamContext nppStreamCtx)
Initializes DCT state structure and allocates additional resources.
#define NPPI_JPEG_DECODE_N_BUFFERS
Number of additional buffers that may be used by JPEG decode jobs.
Definition: nppi_compression_functions.h:948
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:550
NppStatus nppiDecodeHuffmanScanHost_JPEG_8u16s_P3R_Ctx(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], NppStreamContext nppStreamCtx)
Huffman Decoding of the JPEG decoding on the host.
Part of decoding run on GPU.
Definition: nppi_compression_functions.h:922
NppStatus nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R_Ctx(const Npp8u *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, const Npp16u *pQuantFwdTable, NppiSize oSizeROI, NppStreamContext nppStreamCtx)
Forward DCT, quantization and level shift part of the JPEG encoding.
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)
Npp8u nSe
End of spectral selection (index of first coefficient), 0-63.
Definition: nppi_compression_functions.h:894
NppStatus nppiEncodeHuffmanScan_JPEG_8u16s_P3R_Ctx(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, NppStreamContext nppStreamCtx)
Huffman Encoding of the JPEG Encoding.
NppStatus nppiDCTInv4x4_WebP_16s_C1R_Ctx(const Npp16s *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx)
Inverse DCT in WebP decoding.
Npp8u * pGpuScan
Pointer to device memory used for compressed scan data.
Definition: nppi_compression_functions.h:965
struct NppiDecodeHuffmanSpec NppiDecodeHuffmanSpec
Definition: nppi_compression_functions.h:414
Npp32s length
Length of compressed (encoded) scan data.
Definition: nppi_compression_functions.h:898
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)

Copyright © 2009-2019 NVIDIA Corporation