資源簡介
基于英偉達(dá)的jpegNPP工程,分離實(shí)現(xiàn)獨(dú)立的JPEG壓縮。

代碼片段和文件信息
/*
*?Copyright?1993-2015?NVIDIA?Corporation.??All?rights?reserved.
*
*?NOTICE?TO?USER:
*
*?This?source?code?is?subject?to?NVIDIA?ownership?rights?under?U.S.?and
*?international?Copyright?laws.
*
*?NVIDIA?MAKES?NO?REPRESENTATION?ABOUT?THE?SUITABILITY?OF?THIS?SOURCE
*?CODE?FOR?ANY?PURPOSE.??IT?IS?PROVIDED?“AS?IS“?WITHOUT?EXPRESS?OR
*?IMPLIED?WARRANTY?OF?ANY?KIND.??NVIDIA?DISCLAIMS?ALL?WARRANTIES?WITH
*?REGARD?TO?THIS?SOURCE?CODE?INCLUDING?ALL?IMPLIED?WARRANTIES?OF
*?MERCHANTABILITY?NONINFRINGEMENT?AND?FITNESS?FOR?A?PARTICULAR?PURPOSE.
*?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?THIS?SOURCE?CODE.
*
*?U.S.?Government?End?Users.??This?source?code?is?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?is?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
*?source?code?with?only?those?rights?set?forth?herein.
*/
//?This?sample?needs?at?least?CUDA?5.5?and?a?GPU?that?has?at?least?Compute?Capability?2.0
//?This?sample?demonstrates?a?simple?image?processing?pipeline.
//?First?a?JPEG?file?is?huffman?decoded?and?inverse?DCT?transformed?and?dequantized.
//?Then?the?different?planes?are?resized.?Finally?the?resized?image?is?quantized?forward
//?DCT?transformed?and?huffman?encoded.
#include?“cuda_functions.h“
#include?
#include?
#include?
#include?“Endianess.h“
#include?
#include?
#include?
#include?
#include?
#include?
using?namespace?std;
struct?frameHeader
{
????unsigned?char?nSamplePrecision;
????unsigned?short?nHeight;
????unsigned?short?nWidth;
????unsigned?char?nComponents;
????unsigned?char?aComponentIdentifier[3];
????unsigned?char?aSamplingFactors[3];
????unsigned?char?aQuantizationTableSelector[3];
};
struct?ScanHeader
{
????unsigned?char?nComponents;
????unsigned?char?aComponentSelector[3];
????unsigned?char?aHuffmanTablesSelector[3];
????unsigned?char?nSs;
????unsigned?char?nSe;
????unsigned?char?nA;
};
struct?QuantizationTable
{
????unsigned?char?nPrecisionAndIdentifier;
????unsigned?char?aTable[64];
};
struct?HuffmanTable
{
????unsigned?char?nClassAndIdentifier;
????unsigned?char?aCodes[16];
????unsigned?char?aTable[256];
};
int?DivUp(int?x?int?d)
{
????return?(x?+?d?-?1)?/?d;
}
template
void?writeAndAdvance(unsigned?char?*&p
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????2032??2016-11-01?07:39??jpegNPP編碼\Endianess.h
?????文件????????5189??2017-08-08?15:17??jpegNPP編碼\RGB2YUV.cu
?????文件?????????639??2017-08-08?15:19??jpegNPP編碼\cuda_functions.h
?????文件???????20207??2017-08-08?15:18??jpegNPP編碼\jpegNPP.cpp
?????目錄???????????0??2017-08-08?15:17??jpegNPP編碼\
評(píng)論
共有 條評(píng)論