20 #ifndef LUNCHBOX_DECOMPRESSOR_H
21 #define LUNCHBOX_DECOMPRESSOR_H
25 #include <lunchbox/thread.h>
29 namespace detail {
class Decompressor; }
38 typedef detail::Decompressor*
const Decompressor::*bool_t;
57 LUNCHBOX_API
bool isGood()
const;
63 operator bool_t()
const {
return isGood() ? &Decompressor::impl_ : 0; }
72 LUNCHBOX_API
bool uses(
const uint32_t name )
const;
88 LUNCHBOX_API
void clear();
101 LUNCHBOX_API
void decompress(
const void*
const* in,
102 const uint64_t*
const inSizes,
103 const unsigned numInputs,
void*
const out,
104 uint64_t outDim[2] );
119 void*
const out, uint64_t pvpOut[4],
120 const uint64_t flags );
121 LUNCHBOX_API
void decompress(
const void*
const* in,
122 const uint64_t*
const inSizes,
123 const unsigned numInputs,
void*
const out,
124 uint64_t pvpOut[4],
const uint64_t flags )
128 detail::Decompressor*
const impl_;
129 LB_TS_VAR( _thread );
132 #endif // LUNCHBOX_DECOMPRESSOR_H
A registry for loaded plugins.
Defines export visibility macros for Lunchbox.
Basic type definitions not provided by the operating system.
LUNCHBOX_API void clear()
Reset to EQ_COMPRESSOR_NONE.
LUNCHBOX_API bool setup(PluginRegistry &from, const uint32_t name)
Set up a new, named decompressor instance.
LUNCHBOX_API void decompress(const void *const *in, const uint64_t *const inSizes, const unsigned numInputs, void *const out, uint64_t outDim[2])
Decompress one-dimensional data.
Information about one compressor.
virtual LUNCHBOX_API ~Decompressor()
Destruct this decompressor.
A C++ class to handle one decompressor plugin instance.
LUNCHBOX_API bool isGood() const
LUNCHBOX_API const EqCompressorInfo & getInfo() const
LUNCHBOX_API Decompressor()
Construct a new, invalid decompressor instance.
LUNCHBOX_API bool uses(const uint32_t name) const
A structure to hold the results from one compress operation.