Files
libremetaverse/openjpeg-dotnet/dotnet/dotnet.h
Latif Khalifa 9183efecf2 Revert the last commit
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3102 52acb1d6-8a22-11de-b505-999d5b087335
2009-08-22 22:12:28 +00:00

45 lines
1.2 KiB
C

#ifndef LIBSL_H
#define LIBSL_H
#include "../libopenjpeg/openjpeg.h"
struct MarshalledImage
{
unsigned char* encoded;
int length;
int dummy; // padding for 64-bit alignment
unsigned char* decoded;
int width;
int height;
int layers;
int resolutions;
int components;
int packet_count;
opj_packet_info_t* packets;
};
#ifdef WIN32
#define DLLEXPORT extern "C" __declspec(dllexport)
#else
#define DLLEXPORT extern "C"
#endif
// uncompresed images are raw RGBA 8bit/channel
DLLEXPORT bool DotNetEncode(MarshalledImage* image, bool lossless);
DLLEXPORT bool DotNetDecode(MarshalledImage* image);
DLLEXPORT bool DotNetDecodeWithInfo(MarshalledImage* image);
DLLEXPORT bool DotNetAllocEncoded(MarshalledImage* image);
DLLEXPORT bool DotNetAllocDecoded(MarshalledImage* image);
DLLEXPORT void DotNetFree(MarshalledImage* image);
DLLEXPORT bool DotNetEncode64(MarshalledImage* image, bool lossless);
DLLEXPORT bool DotNetDecode64(MarshalledImage* image);
DLLEXPORT bool DotNetDecodeWithInfo64(MarshalledImage* image);
DLLEXPORT bool DotNetAllocEncoded64(MarshalledImage* image);
DLLEXPORT bool DotNetAllocDecoded64(MarshalledImage* image);
DLLEXPORT void DotNetFree64(MarshalledImage* image);
#endif