21 #ifndef PRESSION_COMPRESSOR_H
22 #define PRESSION_COMPRESSOR_H
25 #include <pression/types.h>
26 #include <lunchbox/thread.h>
30 namespace detail {
class Compressor; }
39 typedef detail::Compressor*
const Compressor::*bool_t;
58 PRESSION_API
bool isGood()
const;
64 operator bool_t()
const {
return isGood() ? &Compressor::impl_ : 0; }
73 PRESSION_API
bool uses(
const uint32_t name )
const;
94 const uint32_t tokenType,
95 const float minQuality,
96 const bool ignoreMSE );
114 const float minQuality,
const bool ignoreMSE );
120 PRESSION_API
void clear();
129 PRESSION_API
void compress(
void*
const in,
const uint64_t inDims[2] );
139 PRESSION_API
void compress(
void*
const in,
const uint64_t pvp[4],
140 const uint64_t flags );
155 PRESSION_API
void getResult( const
unsigned i,
void** const out,
156 uint64_t* const outSize ) const LB_DEPRECATED;
159 Compressor( const Compressor& );
160 Compressor operator=( const Compressor& );
161 detail::Compressor* const impl_;
162 LB_TS_VAR( _thread );
165 #endif // PRESSION_COMPRESSOR_H
static PRESSION_API uint32_t choose(const PluginRegistry ®istry, const uint32_t tokenType, const float minQuality, const bool ignoreMSE)
Find the best compressor in all plugins for the given parameters.
Defines export visibility macros for library Pression.
PRESSION_API bool realloc()
Reallocate the current instance.
PRESSION_API Compressor()
Construct a new, invalid compressor instance.
Information about one compressor.
PRESSION_API CompressorResult getResult() const
PRESSION_API bool uses(const uint32_t name) const
virtual PRESSION_API ~Compressor()
Destruct the compressor.
A C++ class to handle one compressor plugin instance.
PRESSION_API const EqCompressorInfo & getInfo() const
PRESSION_API bool setup(PluginRegistry &from, const uint32_t name)
Set up a new, named compressor instance.
PRESSION_API void clear()
Reset to EQ_COMPRESSOR_NONE.
PRESSION_API void compress(void *const in, const uint64_t inDims[2])
Compress one-dimensional data.
PRESSION_API bool isGood() const
A structure to hold the results from one compress operation.
PRESSION_API unsigned getNumResults() const LB_DEPRECATED
A registry for loaded plugins.