00001 00032 #ifndef LL_LLIMAGEJ2COJ_H 00033 #define LL_LLIMAGEJ2COJ_H 00034 00035 #include "llimagej2c.h" 00036 00037 class LLImageJ2COJ : public LLImageJ2CImpl 00038 { 00039 public: 00040 LLImageJ2COJ(); 00041 virtual ~LLImageJ2COJ(); 00042 00043 protected: 00044 /*virtual*/ BOOL getMetadata(LLImageJ2C &base); 00045 /*virtual*/ BOOL decodeImpl(LLImageJ2C &base, LLImageRaw &raw_image, F32 decode_time, S32 first_channel, S32 max_channel_count); 00046 /*virtual*/ BOOL encodeImpl(LLImageJ2C &base, const LLImageRaw &raw_image, const char* comment_text, F32 encode_time=0.0, 00047 BOOL reversible = FALSE); 00048 int ceildivpow2(int a, int b) 00049 { 00050 // Divide a by b to the power of 2 and round upwards. 00051 return (a + (1 << b) - 1) >> b; 00052 } 00053 00054 // Temporary variables for in-progress decodes... 00055 LLImageRaw *mRawImagep; 00056 }; 00057 00058 #endif