libpgf  7.15.32
PGF - Progressive Graphics File
PGFtypes.h File Reference

PGF definitions. More...

#include "PGFplatform.h"

Go to the source code of this file.

Classes

struct  PGFMagicVersion
 PGF identification and version. More...
 
struct  PGFPreHeader
 PGF pre-header. More...
 
struct  PGFVersionNumber
 version number stored in header since major version 7 More...
 
struct  PGFHeader
 PGF header. More...
 
struct  PGFPostHeader
 Optional PGF post-header. More...
 
union  ROIBlockHeader
 Block header used with ROI coding scheme. More...
 
struct  ROIBlockHeader::RBH
 Named ROI block header (part of the union) More...
 
struct  IOException
 PGF exception. More...
 
struct  PGFRect
 Rectangle. More...
 

Macros

#define PGFMajorNumber   7
 
#define PGFYear   15
 
#define PGFWeek   32
 
#define PPCAT_NX(A, B)   A ## B
 
#define PPCAT(A, B)   PPCAT_NX(A, B)
 
#define STRINGIZE_NX(A)   #A
 
#define STRINGIZE(A)   STRINGIZE_NX(A)
 
#define PGFCodecVersionID   PPCAT(PPCAT(PPCAT(0x0, PGFMajorNumber), PGFYear), PGFWeek)
 
#define PGFCodecVersion   STRINGIZE(PPCAT(PPCAT(PPCAT(PPCAT(PGFMajorNumber, .), PGFYear), .), PGFWeek))
 
#define PGFMagic   "PGF"
 PGF identification. More...
 
#define MaxLevel   30
 maximum number of transform levels More...
 
#define NSubbands   4
 number of subbands per level More...
 
#define MaxChannels   8
 maximum number of (color) channels More...
 
#define DownsampleThreshold   3
 if quality is larger than this threshold than downsampling is used More...
 
#define ColorTableLen   256
 size of color lookup table (clut) More...
 
#define Version2   2
 data structure PGFHeader of major version 2 More...
 
#define PGF32   4
 32 bit values are used -> allows at maximum 31 bits, otherwise 16 bit values are used -> allows at maximum 15 bits More...
 
#define PGFROI   8
 supports Regions Of Interest More...
 
#define Version5   16
 new coding scheme since major version 5 More...
 
#define Version6   32
 hSize in PGFPreHeader uses 32 bits instead of 16 bits More...
 
#define Version7   64
 Codec major and minor version number stored in PGFHeader. More...
 
#define PGFVersion   (Version2 | PGF32 | Version5 | Version6 | Version7)
 current standard version More...
 
#define BufferSize   16384
 must be a multiple of WordWidth, BufferSize <= UINT16_MAX More...
 
#define RLblockSizeLen   15
 block size length (< 16): ld(BufferSize) < RLblockSizeLen <= 2*ld(BufferSize) More...
 
#define LinBlockSize   8
 side length of a coefficient block in a HH or LL subband More...
 
#define InterBlockSize   4
 side length of a coefficient block in a HL or LH subband More...
 
#define MaxBitPlanes   31
 maximum number of bit planes of m_value: 32 minus sign bit More...
 
#define MaxBitPlanesLog   5
 number of bits to code the maximum number of bit planes (in 32 or 16 bit mode) More...
 
#define MaxQuality   MaxBitPlanes
 maximum quality More...
 
#define MagicVersionSize   sizeof(PGFMagicVersion)
 
#define PreHeaderSize   sizeof(PGFPreHeader)
 
#define HeaderSize   sizeof(PGFHeader)
 
#define ColorTableSize   (ColorTableLen*sizeof(RGBQUAD))
 
#define DataTSize   sizeof(DataT)
 
#define MaxUserDataSize   0x7FFFFFFF
 

Typedefs

typedef INT32 DataT
 
typedef void(* RefreshCB) (void *p)
 

Enumerations

enum  Orientation { LL = 0, HL = 1, LH = 2, HH = 3 }
 
enum  ProgressMode { PM_Relative, PM_Absolute }
 
enum  UserdataPolicy { UP_Skip = 0, UP_CachePrefix = 1, UP_CacheAll = 2 }
 

Detailed Description

PGF definitions.

Author
C. Stamm

Definition in file PGFtypes.h.

Macro Definition Documentation

#define BufferSize   16384

must be a multiple of WordWidth, BufferSize <= UINT16_MAX

Definition at line 84 of file PGFtypes.h.

#define ColorTableLen   256

size of color lookup table (clut)

Definition at line 66 of file PGFtypes.h.

#define ColorTableSize   (ColorTableLen*sizeof(RGBQUAD))

Definition at line 275 of file PGFtypes.h.

#define DataTSize   sizeof(DataT)

Definition at line 276 of file PGFtypes.h.

#define DownsampleThreshold   3

if quality is larger than this threshold than downsampling is used

Definition at line 65 of file PGFtypes.h.

#define HeaderSize   sizeof(PGFHeader)

Definition at line 274 of file PGFtypes.h.

#define InterBlockSize   4

side length of a coefficient block in a HL or LH subband

Definition at line 87 of file PGFtypes.h.

#define LinBlockSize   8

side length of a coefficient block in a HH or LL subband

Definition at line 86 of file PGFtypes.h.

#define MagicVersionSize   sizeof(PGFMagicVersion)

Definition at line 272 of file PGFtypes.h.

#define MaxBitPlanes   31

maximum number of bit planes of m_value: 32 minus sign bit

Definition at line 89 of file PGFtypes.h.

#define MaxBitPlanesLog   5

number of bits to code the maximum number of bit planes (in 32 or 16 bit mode)

Definition at line 93 of file PGFtypes.h.

#define MaxChannels   8

maximum number of (color) channels

Definition at line 64 of file PGFtypes.h.

#define MaxLevel   30

maximum number of transform levels

Definition at line 62 of file PGFtypes.h.

#define MaxQuality   MaxBitPlanes

maximum quality

Definition at line 94 of file PGFtypes.h.

#define MaxUserDataSize   0x7FFFFFFF

Definition at line 277 of file PGFtypes.h.

#define NSubbands   4

number of subbands per level

Definition at line 63 of file PGFtypes.h.

#define PGF32   4

32 bit values are used -> allows at maximum 31 bits, otherwise 16 bit values are used -> allows at maximum 15 bits

Definition at line 69 of file PGFtypes.h.

#define PGFCodecVersion   STRINGIZE(PPCAT(PPCAT(PPCAT(PPCAT(PGFMajorNumber, .), PGFYear), .), PGFWeek))

Definition at line 56 of file PGFtypes.h.

#define PGFCodecVersionID   PPCAT(PPCAT(PPCAT(0x0, PGFMajorNumber), PGFYear), PGFWeek)

Definition at line 54 of file PGFtypes.h.

#define PGFMagic   "PGF"

PGF identification.

Definition at line 61 of file PGFtypes.h.

#define PGFMajorNumber   7

Definition at line 44 of file PGFtypes.h.

#define PGFROI   8

supports Regions Of Interest

Definition at line 70 of file PGFtypes.h.

#define PGFVersion   (Version2 | PGF32 | Version5 | Version6 | Version7)

current standard version

Definition at line 76 of file PGFtypes.h.

#define PGFWeek   32

Definition at line 46 of file PGFtypes.h.

#define PGFYear   15

Definition at line 45 of file PGFtypes.h.

#define PPCAT (   A,
 
)    PPCAT_NX(A, B)

Definition at line 49 of file PGFtypes.h.

#define PPCAT_NX (   A,
 
)    A ## B

Definition at line 48 of file PGFtypes.h.

#define PreHeaderSize   sizeof(PGFPreHeader)

Definition at line 273 of file PGFtypes.h.

#define RLblockSizeLen   15

block size length (< 16): ld(BufferSize) < RLblockSizeLen <= 2*ld(BufferSize)

Definition at line 85 of file PGFtypes.h.

#define STRINGIZE (   A)    STRINGIZE_NX(A)

Definition at line 51 of file PGFtypes.h.

#define STRINGIZE_NX (   A)    #A

Definition at line 50 of file PGFtypes.h.

#define Version2   2

data structure PGFHeader of major version 2

Definition at line 68 of file PGFtypes.h.

#define Version5   16

new coding scheme since major version 5

Definition at line 71 of file PGFtypes.h.

#define Version6   32

hSize in PGFPreHeader uses 32 bits instead of 16 bits

Definition at line 72 of file PGFtypes.h.

#define Version7   64

Codec major and minor version number stored in PGFHeader.

Definition at line 73 of file PGFtypes.h.

Typedef Documentation

typedef INT32 DataT

Definition at line 262 of file PGFtypes.h.

typedef void(* RefreshCB) (void *p)

Definition at line 267 of file PGFtypes.h.

Enumeration Type Documentation

Enumerator
LL 
HL 
LH 
HH 

Definition at line 99 of file PGFtypes.h.

99 { LL = 0, HL = 1, LH = 2, HH = 3 };
Definition: PGFtypes.h:99
Definition: PGFtypes.h:99
Definition: PGFtypes.h:99
Definition: PGFtypes.h:99
Enumerator
PM_Relative 
PM_Absolute 

Definition at line 100 of file PGFtypes.h.

Enumerator
UP_Skip 
UP_CachePrefix 
UP_CacheAll 

Definition at line 101 of file PGFtypes.h.