View on GitHub

Vistle

Distributed Data-parallel Scientific Visualization in VR

Namespaces | Macros | Typedefs | Functions
depthquant.cpp File Reference
#include "depthquant.h"
#include "predict.h"
#include <vistle/util/buffer.h>
#include <algorithm>
#include <iostream>
#include <cmath>
#include <cassert>
Include dependency graph for depthquant.cpp:

Namespaces

namespace  vistle
 

Macros

#define NOCHECK
 
#define LOOP_BODY
 

Typedefs

typedef unsigned char uchar
 

Functions

template<>
uint32_t vistle::getdepth< DepthQuantize16 > (const DepthQuantize16 &q, int idx)
 
template<>
uint32_t vistle::getdepth< DepthQuantize24 > (const DepthQuantize24 &q, int idx)
 
template<>
uint32_t vistle::getdepth< MinMaxDepth16 > (const MinMaxDepth16 &q, int idx)
 
template<>
uint32_t vistle::getdepth< MinMaxDepth24 > (const MinMaxDepth24 &q, int idx)
 
size_t vistle::depthquant_size (DepthFormat format, int depthps, int width, int height)
 return size required by depthquant for quantized image More...
 
template<typename ZType >
void vistle::set_z (ZType &z, uint32_t val)
 
template<>
void vistle::set_z< uint16_t > (uint16_t &z, uint32_t val)
 
template<>
void vistle::set_z< uint32_t > (uint32_t &z, uint32_t val)
 
template<>
void vistle::set_z< float > (float &z, uint32_t val)
 
template<class Quant , class MinMaxDepth , typename ZType >
static void vistle::depthdequant_t (ZType *zbuf, const Quant *quantbuf, const MinMaxDepth *mmdepth, DepthFormat format, int dx, int dy, int width, int height, int stride)
 
void vistle::depthdequant (char *zbuf, const char *quantbuf, DepthFormat format, int depthps, int tx, int dy, int width, int height, int stride=-1)
 reverse transformation done by depthquant More...
 
void vistle::depthdequant_planar (char *zbuf, const char *quantbuf, DepthFormat format, int depthps, int dx, int dy, int width, int height, int stride)
 
template<int num>
static void vistle::sort (const uint32_t *depths, uint32_t *orders, uint32_t Far, uint32_t &maxidx)
 
template<int size, uint32_t Far>
static void vistle::findgap (const uint32_t *depths, uint32_t midval, uint32_t &lowermid, uint32_t &uppermid)
 
template<int bpp, class Quant , class MinMaxDepth , DepthFormat format>
static void vistle::depthquant_t (const uchar *inimg, Quant *quantbuf, MinMaxDepth *mmdepth, int x0, int y0, int w, int h, int stride)
 dxt-like compression for depth values More...
 
void vistle::depthquant (char *quantbuf, const char *zbuf, DepthFormat format, int depthps, int x, int y, int width, int height, int stride=-1)
 transform depth buffer into quantized values on 4x4 pixel tiles More...
 
void vistle::depthquant_planar (char *quantbufS, const char *zbufS, DepthFormat format, int depthps, int x, int y, int width, int height, int stride)
 

Macro Definition Documentation

◆ LOOP_BODY

#define LOOP_BODY
Value:
const uint32_t d = get_depth<format, bpp>(inimg, x, y, stride, h); \
depths[idx] = d; \
if (d >= Far) { \
haveFar = true; \
} else { \
if (d < mindepth) \
mindepth = d; \
if (d > maxdepth) \
maxdepth = d; \
}

◆ NOCHECK

#define NOCHECK

Typedef Documentation

◆ uchar

typedef unsigned char uchar