ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4JpegCoder Class Reference

#include <geant4/tree/geant4-10.6-release/source/visualization/RayTracer/include/G4RTJpegCoder.hh>

+ Collaboration diagram for G4JpegCoder:

Public Member Functions

 G4JpegCoder (u_char *colorR, u_char *colorG, u_char *colorB)
 
 ~G4JpegCoder (void)
 
void GetJpegData (char **aJpegData, int &size)
 
void SetJpegProperty (const G4JpegProperty &aProperty)
 
int DoCoding (void)
 

Protected Member Functions

void CodeMCU ()
 
void makeYCC (int ux, int uy)
 
void CodeHuffman (int cs)
 
void ForwardDCT (int *picData)
 
void Quantization (int cs)
 
void WriteHeader (void)
 
void WriteEOI (void)
 

Protected Attributes

u_charmRgb [3]
 
int mYBlock [4][64]
 
int mCbBlock [64]
 
int mCrBlock [64]
 
double mCosT [8][8]
 
int mDCTData [64]
 
int mPreDC [3]
 
G4JpegProperty mProperty
 
int mNumVUnits
 
int mNumHUnits
 
G4OutBitStreammOBSP
 

Detailed Description

Definition at line 50 of file G4RTJpegCoder.hh.

View newest version in sPHENIX GitHub at line 50 of file G4RTJpegCoder.hh

Constructor & Destructor Documentation

G4JpegCoder::G4JpegCoder ( u_char colorR,
u_char colorG,
u_char colorB 
)

Definition at line 42 of file G4RTJpegCoder.cc.

View newest version in sPHENIX GitHub at line 42 of file G4RTJpegCoder.cc

References mCosT, mOBSP, mPreDC, mRgb, n, and PaiDiv16.

G4JpegCoder::~G4JpegCoder ( void  )

Definition at line 56 of file G4RTJpegCoder.cc.

View newest version in sPHENIX GitHub at line 56 of file G4RTJpegCoder.cc

Member Function Documentation

void G4JpegCoder::CodeHuffman ( int  cs)
protected

Definition at line 186 of file G4RTJpegCoder.cc.

View newest version in sPHENIX GitHub at line 186 of file G4RTJpegCoder.cc

References kdfinder::abs(), CAcHuffmanT, CDcHuffmanT, CEOBidx, G4HuffmanCodeTable::CodeT, CZRLidx, mDCTData, mOBSP, mPreDC, n, G4HuffmanCodeTable::numOfElement, G4OutBitStream::SetBits(), G4HuffmanCodeTable::SizeT, v, YAcHuffmanT, YDcHuffmanT, YEOBidx, YZRLidx, and Zigzag.

Referenced by CodeMCU().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4JpegCoder::CodeMCU ( void  )
protected

Definition at line 115 of file G4RTJpegCoder.cc.

View newest version in sPHENIX GitHub at line 115 of file G4RTJpegCoder.cc

References CodeHuffman(), ForwardDCT(), mCbBlock, mCrBlock, mYBlock, n, and Quantization().

Referenced by DoCoding().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int G4JpegCoder::DoCoding ( void  )

Definition at line 74 of file G4RTJpegCoder.cc.

View newest version in sPHENIX GitHub at line 74 of file G4RTJpegCoder.cc

References CodeMCU(), M_NoError, M_RuntimeError, makeYCC(), mCbBlock, mCrBlock, mNumHUnits, mNumVUnits, mOBSP, mProperty, G4JpegProperty::nColumn, G4JpegProperty::nRow, WriteEOI(), and WriteHeader().

Referenced by G4RTJpegMaker::CreateFigureFile().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4JpegCoder::ForwardDCT ( int picData)
protected

Definition at line 257 of file G4RTJpegCoder.cc.

View newest version in sPHENIX GitHub at line 257 of file G4RTJpegCoder.cc

References DisSqrt2, int(), mCosT, mDCTData, sum, Acts::UnitConstants::u, v, x, and y.

Referenced by CodeMCU().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4JpegCoder::GetJpegData ( char **  aJpegData,
int size 
)

Definition at line 60 of file G4RTJpegCoder.cc.

View newest version in sPHENIX GitHub at line 60 of file G4RTJpegCoder.cc

References G4OutBitStream::GetStreamAddress(), G4OutBitStream::GetStreamSize(), and mOBSP.

Referenced by G4RTJpegMaker::CreateFigureFile().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4JpegCoder::makeYCC ( int  ux,
int  uy 
)
protected

Definition at line 132 of file G4RTJpegCoder.cc.

View newest version in sPHENIX GitHub at line 132 of file G4RTJpegCoder.cc

References b, incremental_prev_tag::idx, int(), mCbBlock, mCrBlock, mProperty, mRgb, mYBlock, n, G4JpegProperty::nColumn, G4JpegProperty::nRow, Acts::UnitConstants::u, x, and y.

Referenced by DoCoding().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4JpegCoder::Quantization ( int  cs)
protected

Definition at line 247 of file G4RTJpegCoder.cc.

View newest version in sPHENIX GitHub at line 247 of file G4RTJpegCoder.cc

References CQuantumT, mDCTData, and YQuantumT.

Referenced by CodeMCU().

+ Here is the caller graph for this function:

void G4JpegCoder::SetJpegProperty ( const G4JpegProperty aProperty)

Definition at line 366 of file G4RTJpegCoder.cc.

View newest version in sPHENIX GitHub at line 366 of file G4RTJpegCoder.cc

References G4JpegProperty::Dimension, G4JpegProperty::Format, G4JpegProperty::HThumbnail, G4JpegProperty::MajorRevisions, G4JpegProperty::MinorRevisions, mProperty, G4JpegProperty::SamplePrecision, and G4JpegProperty::VThumbnail.

Referenced by G4RTJpegMaker::CreateFigureFile().

+ Here is the caller graph for this function:

void G4JpegCoder::WriteEOI ( void  )
protected

Definition at line 358 of file G4RTJpegCoder.cc.

View newest version in sPHENIX GitHub at line 358 of file G4RTJpegCoder.cc

References M_EOI, M_Marker, mOBSP, and G4OutBitStream::SetByte().

Referenced by DoCoding().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4JpegCoder::WriteHeader ( void  )
protected

Definition at line 274 of file G4RTJpegCoder.cc.

View newest version in sPHENIX GitHub at line 274 of file G4RTJpegCoder.cc

References AcDhtLength, CAcDht, CDcDht, G4JpegProperty::Comment, G4OutBitStream::CopyByte(), CQuantumT, CSampleF, DcDhtLength, G4JpegProperty::Dimension, G4JpegProperty::HDensity, JFIF, JFIFLength, JFIFVersion, BTOF::length, M_APP0, M_COM, M_DQT, M_Marker, M_SOF0, M_SOI, M_SOS, mOBSP, mProperty, G4JpegProperty::nColumn, G4JpegProperty::nRow, G4JpegProperty::SamplePrecision, G4OutBitStream::SetByte(), G4OutBitStream::SetWord(), G4JpegProperty::Units, G4JpegProperty::VDensity, YAcDht, YDcDht, YQuantumT, YSampleF, and Zigzag.

Referenced by DoCoding().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

int G4JpegCoder::mCbBlock[64]
protected

Definition at line 66 of file G4RTJpegCoder.hh.

View newest version in sPHENIX GitHub at line 66 of file G4RTJpegCoder.hh

Referenced by CodeMCU(), DoCoding(), and makeYCC().

double G4JpegCoder::mCosT[8][8]
protected

Definition at line 68 of file G4RTJpegCoder.hh.

View newest version in sPHENIX GitHub at line 68 of file G4RTJpegCoder.hh

Referenced by ForwardDCT(), and G4JpegCoder().

int G4JpegCoder::mCrBlock[64]
protected

Definition at line 67 of file G4RTJpegCoder.hh.

View newest version in sPHENIX GitHub at line 67 of file G4RTJpegCoder.hh

Referenced by CodeMCU(), DoCoding(), and makeYCC().

int G4JpegCoder::mDCTData[64]
protected

Definition at line 69 of file G4RTJpegCoder.hh.

View newest version in sPHENIX GitHub at line 69 of file G4RTJpegCoder.hh

Referenced by CodeHuffman(), ForwardDCT(), and Quantization().

int G4JpegCoder::mNumHUnits
protected

Definition at line 74 of file G4RTJpegCoder.hh.

View newest version in sPHENIX GitHub at line 74 of file G4RTJpegCoder.hh

Referenced by DoCoding().

int G4JpegCoder::mNumVUnits
protected

Definition at line 73 of file G4RTJpegCoder.hh.

View newest version in sPHENIX GitHub at line 73 of file G4RTJpegCoder.hh

Referenced by DoCoding().

G4OutBitStream* G4JpegCoder::mOBSP
protected

Definition at line 76 of file G4RTJpegCoder.hh.

View newest version in sPHENIX GitHub at line 76 of file G4RTJpegCoder.hh

Referenced by CodeHuffman(), DoCoding(), G4JpegCoder(), GetJpegData(), WriteEOI(), and WriteHeader().

int G4JpegCoder::mPreDC[3]
protected

Definition at line 70 of file G4RTJpegCoder.hh.

View newest version in sPHENIX GitHub at line 70 of file G4RTJpegCoder.hh

Referenced by CodeHuffman(), and G4JpegCoder().

G4JpegProperty G4JpegCoder::mProperty
protected

Definition at line 72 of file G4RTJpegCoder.hh.

View newest version in sPHENIX GitHub at line 72 of file G4RTJpegCoder.hh

Referenced by DoCoding(), makeYCC(), SetJpegProperty(), and WriteHeader().

u_char* G4JpegCoder::mRgb[3]
protected

Definition at line 64 of file G4RTJpegCoder.hh.

View newest version in sPHENIX GitHub at line 64 of file G4RTJpegCoder.hh

Referenced by G4JpegCoder(), and makeYCC().

int G4JpegCoder::mYBlock[4][64]
protected

Definition at line 65 of file G4RTJpegCoder.hh.

View newest version in sPHENIX GitHub at line 65 of file G4RTJpegCoder.hh

Referenced by CodeMCU(), and makeYCC().


The documentation for this class was generated from the following files: