Files
libremetaverse/openjpeg-dotnet/dotnet/dotnet.h

39 lines
883 B
C
Raw Normal View History

#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);
#endif