Ptex
PtexUtils Namespace Reference

Classes

struct  VecAccum
 
struct  VecAccum< T, 0 >
 
struct  VecAccumN
 
struct  VecMult
 
struct  VecMult< T, 0 >
 
struct  VecMultN
 

Typedefs

typedef void ReduceFn(const void *src, int sstride, int ures, int vres, void *dst, int dstride, DataType dt, int nchannels)
 
typedef void(* ApplyConstFn) (float weight, float *dst, void *data, int nChan)
 

Functions

bool isConstant (const void *data, int stride, int ures, int vres, int pixelSize)
 
void interleave (const void *src, int sstride, int uw, int vw, void *dst, int dstride, DataType dt, int nchan)
 
void deinterleave (const void *src, int sstride, int uw, int vw, void *dst, int dstride, DataType dt, int nchan)
 
void encodeDifference (void *data, int size, DataType dt)
 
void decodeDifference (void *data, int size, DataType dt)
 
void reduce (const void *src, int sstride, int uw, int vw, void *dst, int dstride, DataType dt, int nchan)
 
void reduceu (const void *src, int sstride, int uw, int vw, void *dst, int dstride, DataType dt, int nchan)
 
void reducev (const void *src, int sstride, int uw, int vw, void *dst, int dstride, DataType dt, int nchan)
 
void reduceTri (const void *src, int sstride, int w, int, void *dst, int dstride, DataType dt, int nchan)
 
void fill (const void *src, void *dst, int dstride, int ures, int vres, int pixelsize)
 
void copy (const void *src, int sstride, void *dst, int dstride, int vres, int rowlen)
 
void blend (const void *src, float weight, void *dst, bool flip, int rowlen, DataType dt, int nchan)
 
void average (const void *src, int sstride, int uw, int vw, void *dst, DataType dt, int nchan)
 
void multalpha (void *data, int npixels, DataType dt, int nchannels, int alphachan)
 
void divalpha (void *data, int npixels, DataType dt, int nchannels, int alphachan)
 
void genRfaceids (const FaceInfo *faces, int nfaces, uint32_t *rfaceids, uint32_t *faceids)
 
bool isPowerOfTwo (int x)
 
uint32_t ones (uint32_t x)
 
uint32_t floor_log2 (uint32_t x)
 
uint32_t ceil_log2 (uint32_t x)
 
float reciprocalPow2 (int power)
 
int calcResFromWidth (float w)
 
float smoothstep (float x, float a, float b)
 
float qsmoothstep (float x, float a, float b)
 
template<typename T>
abs (T x)
 
float abs (float x)
 
template<typename T>
min (T a, T b)
 
template<typename T>
max (T a, T b)
 
template<typename T>
clamp (T x, T lo, T hi)
 
template<typename T>
halve (T val)
 
float halve (float val)
 
PtexHalf halve (PtexHalf val)
 
template<typename T>
quarter (T val)
 
float quarter (float val)
 
PtexHalf quarter (PtexHalf val)
 
void applyConst (float weight, float *dst, void *data, Ptex::DataType dt, int nChan)
 

Variables

ApplyConstFn applyConstFunctions [20]
 

Typedef Documentation

◆ ApplyConstFn

typedef void(* PtexUtils::ApplyConstFn) (float weight, float *dst, void *data, int nChan)

Definition at line 277 of file PtexUtils.h.

◆ ReduceFn

typedef void PtexUtils::ReduceFn(const void *src, int sstride, int ures, int vres, void *dst, int dstride, DataType dt, int nchannels)

Definition at line 185 of file PtexUtils.h.

Function Documentation

◆ abs() [1/2]

float PtexUtils::abs ( float x)
inline

Definition at line 136 of file PtexUtils.h.

◆ abs() [2/2]

template<typename T>
T PtexUtils::abs ( T x)
inline

◆ applyConst()

void PtexUtils::applyConst ( float weight,
float * dst,
void * data,
Ptex::DataType dt,
int nChan )
inline

◆ average()

void PtexUtils::average ( const void * src,
int sstride,
int uw,
int vw,
void * dst,
DataType dt,
int nchan )

Definition at line 522 of file PtexUtils.cpp.

References average().

Referenced by average(), PtexMainWriter::storeConstValue(), and PtexIncrWriter::writeFace().

◆ blend()

void PtexUtils::blend ( const void * src,
float weight,
void * dst,
bool flip,
int rowlen,
DataType dt,
int nchan )

Definition at line 480 of file PtexUtils.cpp.

References blend().

Referenced by blend().

◆ calcResFromWidth()

int PtexUtils::calcResFromWidth ( float w)
inline

◆ ceil_log2()

uint32_t PtexUtils::ceil_log2 ( uint32_t x)
inline

Definition at line 80 of file PtexUtils.h.

References isPowerOfTwo(), and ones().

◆ clamp()

template<typename T>
T PtexUtils::clamp ( T x,
T lo,
T hi )
inline

◆ copy()

void PtexUtils::copy ( const void * src,
int sstride,
void * dst,
int dstride,
int vres,
int rowlen )

◆ decodeDifference()

void PtexUtils::decodeDifference ( void * data,
int size,
DataType dt )

Definition at line 271 of file PtexUtils.cpp.

References decodeDifference().

Referenced by decodeDifference(), and PtexReader::readFaceData().

◆ deinterleave()

void PtexUtils::deinterleave ( const void * src,
int sstride,
int uw,
int vw,
void * dst,
int dstride,
DataType dt,
int nchan )

Definition at line 226 of file PtexUtils.cpp.

References deinterleave().

Referenced by deinterleave(), and PtexWriterBase::writeFaceBlock().

◆ divalpha()

void PtexUtils::divalpha ( void * data,
int npixels,
DataType dt,
int nchannels,
int alphachan )

Definition at line 618 of file PtexUtils.cpp.

References divalpha().

Referenced by divalpha(), PtexMainWriter::storeConstValue(), and PtexIncrWriter::writeFace().

◆ encodeDifference()

void PtexUtils::encodeDifference ( void * data,
int size,
DataType dt )

Definition at line 251 of file PtexUtils.cpp.

References encodeDifference().

Referenced by encodeDifference(), and PtexWriterBase::writeFaceBlock().

◆ fill()

void PtexUtils::fill ( const void * src,
void * dst,
int dstride,
int ures,
int vres,
int pixelsize )

◆ floor_log2()

uint32_t PtexUtils::floor_log2 ( uint32_t x)
inline

Definition at line 69 of file PtexUtils.h.

References ones().

Referenced by PtexWriterBase::calcTileRes().

◆ genRfaceids()

void PtexUtils::genRfaceids ( const FaceInfo * faces,
int nfaces,
uint32_t * rfaceids,
uint32_t * faceids )

Definition at line 630 of file PtexUtils.cpp.

Referenced by PtexMainWriter::generateReductions(), and PtexReader::readFaceInfo().

◆ halve() [1/3]

float PtexUtils::halve ( float val)
inline

Definition at line 159 of file PtexUtils.h.

◆ halve() [2/3]

PtexHalf PtexUtils::halve ( PtexHalf val)
inline

Definition at line 160 of file PtexUtils.h.

◆ halve() [3/3]

template<typename T>
T PtexUtils::halve ( T val)
inline

Definition at line 157 of file PtexUtils.h.

◆ interleave()

void PtexUtils::interleave ( const void * src,
int sstride,
int uw,
int vw,
void * dst,
int dstride,
DataType dt,
int nchan )

Definition at line 189 of file PtexUtils.cpp.

References interleave().

Referenced by interleave(), and PtexReader::readFaceData().

◆ isConstant()

bool PtexUtils::isConstant ( const void * data,
int stride,
int ures,
int vres,
int pixelSize )

◆ isPowerOfTwo()

bool PtexUtils::isPowerOfTwo ( int x)
inline

Definition at line 53 of file PtexUtils.h.

Referenced by ceil_log2().

◆ max()

◆ min()

◆ multalpha()

void PtexUtils::multalpha ( void * data,
int npixels,
DataType dt,
int nchannels,
int alphachan )

◆ ones()

uint32_t PtexUtils::ones ( uint32_t x)
inline

Definition at line 58 of file PtexUtils.h.

Referenced by ceil_log2(), and floor_log2().

◆ qsmoothstep()

float PtexUtils::qsmoothstep ( float x,
float a,
float b )
inline

Definition at line 124 of file PtexUtils.h.

◆ quarter() [1/3]

float PtexUtils::quarter ( float val)
inline

Definition at line 165 of file PtexUtils.h.

◆ quarter() [2/3]

PtexHalf PtexUtils::quarter ( PtexHalf val)
inline

Definition at line 166 of file PtexUtils.h.

◆ quarter() [3/3]

template<typename T>
T PtexUtils::quarter ( T val)
inline

Definition at line 163 of file PtexUtils.h.

◆ reciprocalPow2()

float PtexUtils::reciprocalPow2 ( int power)
inline

◆ reduce()

void PtexUtils::reduce ( const void * src,
int sstride,
int uw,
int vw,
void * dst,
int dstride,
DataType dt,
int nchan )

Definition at line 299 of file PtexUtils.cpp.

References reduce().

Referenced by PtexWriterBase::PtexWriterBase(), and reduce().

◆ reduceTri()

void PtexUtils::reduceTri ( const void * src,
int sstride,
int w,
int ,
void * dst,
int dstride,
DataType dt,
int nchan )

Definition at line 406 of file PtexUtils.cpp.

References reduceTri().

Referenced by PtexReader::getData(), PtexWriterBase::PtexWriterBase(), and reduceTri().

◆ reduceu()

void PtexUtils::reduceu ( const void * src,
int sstride,
int uw,
int vw,
void * dst,
int dstride,
DataType dt,
int nchan )

Definition at line 333 of file PtexUtils.cpp.

References reduceu().

Referenced by PtexReader::getData(), and reduceu().

◆ reducev()

void PtexUtils::reducev ( const void * src,
int sstride,
int uw,
int vw,
void * dst,
int dstride,
DataType dt,
int nchan )

Definition at line 366 of file PtexUtils.cpp.

References reducev().

Referenced by PtexReader::getData(), and reducev().

◆ smoothstep()

float PtexUtils::smoothstep ( float x,
float a,
float b )
inline

Definition at line 116 of file PtexUtils.h.

Variable Documentation

◆ applyConstFunctions

ApplyConstFn PtexUtils::applyConstFunctions
Initial value:
= {
ApplyConstN<uint8_t>, ApplyConstN<uint16_t>, ApplyConstN<PtexHalf>, ApplyConstN<float>,
ApplyConst<uint8_t,1>, ApplyConst<uint16_t,1>, ApplyConst<PtexHalf,1>, ApplyConst<float,1>,
ApplyConst<uint8_t,2>, ApplyConst<uint16_t,2>, ApplyConst<PtexHalf,2>, ApplyConst<float,2>,
ApplyConst<uint8_t,3>, ApplyConst<uint16_t,3>, ApplyConst<PtexHalf,3>, ApplyConst<float,3>,
ApplyConst<uint8_t,4>, ApplyConst<uint16_t,4>, ApplyConst<PtexHalf,4>, ApplyConst<float,4>,
}

Definition at line 668 of file PtexUtils.cpp.

Referenced by applyConst().