nppi_compression_functions.h
/* Copyright 2009-2016 NVIDIA Corporation. All rights reserved.
*
* NOTICE TO LICENSEE:
*
* The source code and/or documentation ("Licensed Deliverables") are
* subject to NVIDIA intellectual property rights under U.S. and
* international Copyright laws.
*
* The Licensed Deliverables contained herein are PROPRIETARY and
* CONFIDENTIAL to NVIDIA and are being provided under the terms and
* conditions of a form of NVIDIA software license agreement by and
* between NVIDIA and Licensee ("License Agreement") or electronically
* accepted by Licensee. Notwithstanding any terms or conditions to
* the contrary in the License Agreement, reproduction or disclosure
* of the Licensed Deliverables to any third party without the express
* written consent of NVIDIA is prohibited.
*
* NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
* LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
* SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. THEY ARE
* PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
* NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
* DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
* NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
* NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
* LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
* SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
* DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THESE LICENSED DELIVERABLES.
*
* U.S. Government End Users. These Licensed Deliverables are a
* "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
* 1995), consisting of "commercial computer software" and "commercial
* computer software documentation" as such terms are used in 48
* C.F.R. 12.212 (SEPT 1995) and are provided to the U.S. Government
* only as a commercial end item. Consistent with 48 C.F.R.12.212 and
* 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
* U.S. Government End Users acquire the Licensed Deliverables with
* only those rights set forth herein.
*
* Any use of the Licensed Deliverables in individual and commercial
* software must include, in the user documentation and internal
* comments to the code, the above Disclaimer and U.S. Government End
* Users Notice.
*/
#ifndef NV_NPPI_COMPRESSION_FUNCTIONS_H
#define NV_NPPI_COMPRESSION_FUNCTIONS_H
#include "nppdefs.h"
#ifdef __cplusplus
extern "C" {
#endif
NppStatus
nppiQuantFwdRawTableInit_JPEG_8u(Npp8u * hpQuantRawTable, int nQualityFactor);
NppStatus
nppiQuantFwdTableInit_JPEG_8u16u(const Npp8u * hpQuantRawTable, Npp16u * hpQuantFwdRawTable);
NppStatus
nppiQuantInvTableInit_JPEG_8u16u(const Npp8u * hpQuantRawTable, Npp16u * hpQuantFwdRawTable);
NppStatus
nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R(const Npp8u * pSrc, int nSrcStep,
Npp16s * pDst, int nDstStep,
const Npp16u * pQuantFwdTable, NppiSize oSizeROI);
NppStatus
nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R(const Npp16s * pSrc, int nSrcStep,
Npp8u * pDst, int nDstStep,
const Npp16u * pQuantInvTable, NppiSize oSizeROI);
#if defined (__cplusplus)
struct NppiDCTState;
#else
typedef struct NppiDCTState NppiDCTState;
#endif
NppStatus nppiDCTInitAlloc(NppiDCTState** ppState);
NppStatus nppiDCTFree(NppiDCTState* pState);
NppStatus
nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R_NEW(const Npp8u * pSrc, int nSrcStep,
Npp16s * pDst, int nDstStep,
const Npp8u * pQuantizationTable, NppiSize oSizeROI,
NppiDCTState* pState);
NppStatus
nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R_NEW(const Npp16s * pSrc, int nSrcStep,
Npp8u * pDst, int nDstStep,
const Npp8u * pQuantizationTable, NppiSize oSizeROI,
NppiDCTState* pState);
NppStatus
nppiDCTQuant16Fwd8x8LS_JPEG_8u16s_C1R_NEW(const Npp8u * pSrc, int nSrcStep,
Npp16s * pDst, int nDstStep,
const Npp16u * pQuantizationTable, NppiSize oSizeROI,
NppiDCTState* pState);
NppStatus
nppiDCTQuant16Inv8x8LS_JPEG_16s8u_C1R_NEW(const Npp16s * pSrc, int nSrcStep,
Npp8u * pDst, int nDstStep,
const Npp16u * pQuantizationTable, NppiSize oSizeROI,
NppiDCTState* pState);
#if defined (__cplusplus)
struct NppiDecodeHuffmanSpec;
#else
typedef struct NppiDecodeHuffmanSpec NppiDecodeHuffmanSpec;
#endif
NppStatus
nppiDecodeHuffmanSpecGetBufSize_JPEG(int* pSize);
NppStatus
nppiDecodeHuffmanSpecInitHost_JPEG(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiDecodeHuffmanSpec *pHuffmanSpec);
NppStatus
nppiDecodeHuffmanSpecInitAllocHost_JPEG(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiDecodeHuffmanSpec **ppHuffmanSpec);
NppStatus
nppiDecodeHuffmanSpecFreeHost_JPEG(NppiDecodeHuffmanSpec *pHuffmanSpec);
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
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]);
#if defined (__cplusplus)
struct NppiEncodeHuffmanSpec;
#else
typedef struct NppiEncodeHuffmanSpec NppiEncodeHuffmanSpec;
#endif
NppStatus
nppiEncodeHuffmanSpecGetBufSize_JPEG(int* pSize);
NppStatus
nppiEncodeHuffmanSpecInit_JPEG(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec *pHuffmanSpec);
NppStatus
nppiEncodeHuffmanSpecInitAlloc_JPEG(const Npp8u* pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec **ppHuffmanSpec);
NppStatus
nppiEncodeHuffmanSpecFree_JPEG(NppiEncodeHuffmanSpec *pHuffmanSpec);
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
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);
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);
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);
NppStatus nppiEncodeHuffmanGetSize(NppiSize oSize, int nChannels, size_t * pBufSize);
NppStatus nppiEncodeOptimizeHuffmanGetSize(NppiSize oSize, int nChannels, int * pBufSize);
typedef struct {
Npp8u nComponents;
NppiSize oSizeInBlocks;
NppiSize aComponentSubsampling[4];
Npp16s * apComponentBuffer[4];
} NppiJpegFrameDescr;
typedef struct {
Npp8u nComponents;
Npp8u aComponentIdx[4];
Npp8u aComponentDcHtSel[4];
Npp8u aComponentAcHtSel[4];
const Npp8u * apRawDcHtTable[4];
const Npp8u * apRawAcHtTable[4];
Npp8u nSs;
Npp8u nSe;
Npp8u nAh;
Npp8u nAl;
Npp32s restartInterval;
Npp32s length;
} NppiJpegScanDescr;
enum NppiJpegDecodeJobKind {
NPPI_JPEG_DECODE_SIMPLE,
// SIMPLE can be split into:
NPPI_JPEG_DECODE_PRE,
NPPI_JPEG_DECODE_CPU,
NPPI_JPEG_DECODE_GPU,
NPPI_JPEG_DECODE_MEMZERO,
NPPI_JPEG_DECODE_FINALIZE
};
typedef struct {
NppiJpegFrameDescr * pFrame;
NppiJpegScanDescr * pScan;
enum NppiJpegDecodeJobKind eKind;
} NppiJpegDecodeJob;
#define NPPI_JPEG_DECODE_N_BUFFERS 3
typedef struct {
const Npp8u * pCpuScan;
Npp8u * pGpuScan;
void * apCpuBuffer[NPPI_JPEG_DECODE_N_BUFFERS];
void * apGpuBuffer[NPPI_JPEG_DECODE_N_BUFFERS];
} NppiJpegDecodeJobMemory;
NppStatus nppiJpegDecodeJobMemorySize(const NppiJpegDecodeJob * pJob, size_t * aSize);
NppStatus nppiJpegDecodeJob(const NppiJpegDecodeJob * pJob, const NppiJpegDecodeJobMemory * pMemory);
NppStatus nppiJpegDecodeJobCreateMemzero(NppiJpegDecodeJob * pJob);
NppStatus nppiJpegDecodeJobCreateFinalize(NppiJpegDecodeJob * pJob);
size_t nppiJpegDecodeGetScanDeadzoneSize(void);
size_t nppiJpegDecodeGetDCTBufferSize(NppiSize oBlocks);
NppStatus nppiDCTInv4x4_WebP_16s_C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* NV_NPPI_COMPRESSION_FUNCTIONS_H */
nppiEncodeHuffmanSpecGetBufSize_JPEG
NppStatus nppiEncodeHuffmanSpecGetBufSize_JPEG(int *pSize)
Returns the length of the NppiEncodeHuffmanSpec structure.
nppiEncodeOptimizeHuffmanGetSize
NppStatus nppiEncodeOptimizeHuffmanGetSize(NppiSize oSize, int nChannels, int *pBufSize)
Calculates the size of the temporary buffer for optimize Huffman coding.
NppiJpegFrameDescr
JPEG frame descriptor.
Definition: nppi_compression_functions.h:697
Npp8u
unsigned char Npp8u
8-bit unsigned chars
Definition: nppdefs.h:276
nppiEncodeHuffmanScan_JPEG_8u16s_P1R
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.
nppiEncodeHuffmanSpecFree_JPEG
NppStatus nppiEncodeHuffmanSpecFree_JPEG(NppiEncodeHuffmanSpec *pHuffmanSpec)
Frees the memory allocated by nppiEncodeHuffmanSpecInitAlloc_JPEG.
nppiDCTQuant16Inv8x8LS_JPEG_16s8u_C1R_NEW
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...
nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R_NEW
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.
NPPI_JPEG_DECODE_MEMZERO
Zeroing memory before decoding.
Definition: nppi_compression_functions.h:751
NppiJpegDecodeJobKind
NppiJpegDecodeJobKind
Type of job to execute.
Definition: nppi_compression_functions.h:741
NppStatus
NppStatus
Error Status Codes.
Definition: nppdefs.h:152
nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R
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.
NPPI_JPEG_DECODE_SIMPLE
Decode whole scan using a single job.
Definition: nppi_compression_functions.h:742
nppiDecodeHuffmanSpecInitAllocHost_JPEG
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...
nppiDCTInitAlloc
NppStatus nppiDCTInitAlloc(NppiDCTState **ppState)
Initializes DCT state structure and allocates additional resources.
nppiJpegDecodeGetScanDeadzoneSize
size_t nppiJpegDecodeGetScanDeadzoneSize(void)
This function returns how much additional memory has to be available after the end of compressed scan...
NppiJpegDecodeJob::pFrame
NppiJpegFrameDescr * pFrame
This field and its contents are never written.
Definition: nppi_compression_functions.h:761
nppiDCTFree
NppStatus nppiDCTFree(NppiDCTState *pState)
Frees the additional resources of the DCT state structure.
nppiDCTInv4x4_WebP_16s_C1R
NppStatus nppiDCTInv4x4_WebP_16s_C1R(const Npp16s *pSrc, int nSrcStep, Npp16s *pDst, int nDstStep, NppiSize oSizeROI)
Inverse DCT in WebP decoding.
nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R
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.
nppiDecodeHuffmanSpecGetBufSize_JPEG
NppStatus nppiDecodeHuffmanSpecGetBufSize_JPEG(int *pSize)
Returns the length of the NppiDecodeHuffmanSpec structure.
NppiSize
2D Size This struct typically represents the size of a a rectangular region in two space...
Definition: nppdefs.h:416
NppiJpegDecodeJob
JPEG decode job used by nppiJpegDecodeJob (see that for more documentation)
Definition: nppi_compression_functions.h:760
NppiJpegDecodeJobMemory
Memory buffers used by one decode job.
Definition: nppi_compression_functions.h:780
NppiJpegScanDescr::nAh
Npp8u nAh
Successive approximation bit position high.
Definition: nppi_compression_functions.h:723
nppiDCTQuant16Fwd8x8LS_JPEG_8u16s_C1R_NEW
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...
nppiJpegDecodeJobMemorySize
NppStatus nppiJpegDecodeJobMemorySize(const NppiJpegDecodeJob *pJob, size_t *aSize)
Calculates sizes of additional buffers used by the job.
nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P1R
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.
NppiJpegFrameDescr::oSizeInBlocks
NppiSize oSizeInBlocks
Size of component with 1x1 subsampling (usually luma) in DCT blocks.
Definition: nppi_compression_functions.h:699
nppiDecodeHuffmanSpecFreeHost_JPEG
NppStatus nppiDecodeHuffmanSpecFreeHost_JPEG(NppiDecodeHuffmanSpec *pHuffmanSpec)
Frees the host memory allocated by nppiDecodeHuffmanSpecInitAllocHost_JPEG.
nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R_NEW
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.
NppiJpegScanDescr::nSs
Npp8u nSs
Start of spectral selection (index of first coefficient), 0-63.
Definition: nppi_compression_functions.h:721
NppiJpegScanDescr::nAl
Npp8u nAl
Successive approximation bit position low.
Definition: nppi_compression_functions.h:724
Npp32s
int Npp32s
32-bit signed integers
Definition: nppdefs.h:281
nppiJpegDecodeJob
NppStatus nppiJpegDecodeJob(const NppiJpegDecodeJob *pJob, const NppiJpegDecodeJobMemory *pMemory)
Executes a job – part of decoding.
nppiDecodeHuffmanScanHost_JPEG_8u16s_P3R
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.
NPPI_JPEG_DECODE_PRE
Preprocessing scan on GPU.
Definition: nppi_compression_functions.h:746
nppiQuantFwdRawTableInit_JPEG_8u
NppStatus nppiQuantFwdRawTableInit_JPEG_8u(Npp8u *hpQuantRawTable, int nQualityFactor)
Apply quality factor to raw 8-bit quantization table.
NppiDCTState
struct NppiDCTState NppiDCTState
Definition: nppi_compression_functions.h:195
nppiDecodeHuffmanScanHost_JPEG_8u16s_P1R
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.
nppiEncodeHuffmanSpecInitAlloc_JPEG
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...
nppiJpegDecodeGetDCTBufferSize
size_t nppiJpegDecodeGetDCTBufferSize(NppiSize oBlocks)
Returns how much memory has to be allocated for DCT coefficient buffers declared in NppiJpegDecodeJob...
NppiJpegDecodeJobMemory::pCpuScan
const Npp8u * pCpuScan
Pointer to host memory containing compressed scan data.
Definition: nppi_compression_functions.h:781
Npp16u
unsigned short Npp16u
16-bit unsigned integers
Definition: nppdefs.h:278
nppiJpegDecodeJobCreateFinalize
NppStatus nppiJpegDecodeJobCreateFinalize(NppiJpegDecodeJob *pJob)
Initializes a job that has to be called at the end of decoding, in order to convert temporary represe...
NppiJpegScanDescr::restartInterval
Npp32s restartInterval
Restart interval in MCUs.
Definition: nppi_compression_functions.h:725
NPPI_JPEG_DECODE_CPU
Part of decoding run on CPU.
Definition: nppi_compression_functions.h:747
NPPI_JPEG_DECODE_FINALIZE
Change memory representation of DCT coefficients to final.
Definition: nppi_compression_functions.h:752
NppiJpegDecodeJob::pScan
NppiJpegScanDescr * pScan
This field is never written.
Definition: nppi_compression_functions.h:762
NppiJpegScanDescr
JPEG scan descriptor.
Definition: nppi_compression_functions.h:710
NppiHuffmanTableType
NppiHuffmanTableType
Definition: nppdefs.h:590
Npp16s
short Npp16s
16-bit signed integers
Definition: nppdefs.h:279
NppiJpegFrameDescr::nComponents
Npp8u nComponents
Number of components in frame.
Definition: nppi_compression_functions.h:698
nppiEncodeHuffmanSpecInit_JPEG
NppStatus nppiEncodeHuffmanSpecInit_JPEG(const Npp8u *pRawHuffmanTable, NppiHuffmanTableType eTableType, NppiEncodeHuffmanSpec *pHuffmanSpec)
Creates a Huffman table in a format that is suitable for the encoder.
NppiJpegScanDescr::nComponents
Npp8u nComponents
Number of components present in scan.
Definition: nppi_compression_functions.h:711
nppiQuantFwdTableInit_JPEG_8u16u
NppStatus nppiQuantFwdTableInit_JPEG_8u16u(const Npp8u *hpQuantRawTable, Npp16u *hpQuantFwdRawTable)
Initializes a quantization table for nppiDCTQuantFwd8x8LS_JPEG_8u16s_C1R().
NPPI_JPEG_DECODE_N_BUFFERS
#define NPPI_JPEG_DECODE_N_BUFFERS
Number of additional buffers that may be used by JPEG decode jobs.
Definition: nppi_compression_functions.h:772
nppiJpegDecodeJobCreateMemzero
NppStatus nppiJpegDecodeJobCreateMemzero(NppiJpegDecodeJob *pJob)
Initializes a job that has to be called at the beginning of decoding.
NppiEncodeHuffmanSpec
struct NppiEncodeHuffmanSpec NppiEncodeHuffmanSpec
Definition: nppi_compression_functions.h:452
NPPI_JPEG_DECODE_GPU
Part of decoding run on GPU.
Definition: nppi_compression_functions.h:748
nppiDecodeHuffmanSpecInitHost_JPEG
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. ...
nppiQuantInvTableInit_JPEG_8u16u
NppStatus nppiQuantInvTableInit_JPEG_8u16u(const Npp8u *hpQuantRawTable, Npp16u *hpQuantFwdRawTable)
Initializes a quantization table for nppiDCTQuantInv8x8LS_JPEG_16s8u_C1R().
nppiEncodeHuffmanGetSize
NppStatus nppiEncodeHuffmanGetSize(NppiSize oSize, int nChannels, size_t *pBufSize)
Calculates the size of the temporary buffer for baseline Huffman encoding.
nppiEncodeHuffmanScan_JPEG_8u16s_P3R
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.
NppiJpegScanDescr::nSe
Npp8u nSe
End of spectral selection (index of first coefficient), 0-63.
Definition: nppi_compression_functions.h:722
NppiJpegDecodeJobMemory::pGpuScan
Npp8u * pGpuScan
Pointer to device memory used for compressed scan data.
Definition: nppi_compression_functions.h:787
NppiDecodeHuffmanSpec
struct NppiDecodeHuffmanSpec NppiDecodeHuffmanSpec
Definition: nppi_compression_functions.h:344
NppiJpegScanDescr::length
Npp32s length
Length of compressed (encoded) scan data.
Definition: nppi_compression_functions.h:726
nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P3R
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