Squashed 'rtengine/libraw/' content from commit cccb97647
git-subtree-dir: rtengine/libraw git-subtree-split: cccb97647fcee56801fa68231fa8a38aa8b52ef7
This commit is contained in:
83
RawSpeed3/rawspeed3_c_api/rawspeed3_capi.h
Normal file
83
RawSpeed3/rawspeed3_c_api/rawspeed3_capi.h
Normal file
@@ -0,0 +1,83 @@
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#ifdef RAWSPEED_BUILDLIB
|
||||
#define DllDef __declspec(dllexport)
|
||||
#else
|
||||
#define DllDef __declspec(dllimport)
|
||||
#endif
|
||||
#else
|
||||
#define DllDef
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
enum rawspeed3_error_codes
|
||||
{
|
||||
rawspeed_inited = -2,
|
||||
rawspeed3_param_error = -1,
|
||||
rawspeed3_ok = 0,
|
||||
rawspeed3_ok_warnings = 1,
|
||||
rawspeed3_not_inited = 2,
|
||||
rawspeed3_processing_error = 3,
|
||||
rawspeed3_no_decoder = 4,
|
||||
rawspeed3_not_supported = 5,
|
||||
};
|
||||
|
||||
typedef void *rawspeed3_handle_t;
|
||||
|
||||
/* RAW file parsing results */
|
||||
typedef struct
|
||||
{
|
||||
int status; /* -1: param error, 0 => OK, >=1 error code */
|
||||
uint16_t width, height, bpp, cpp;
|
||||
unsigned pitch, filters;
|
||||
const void *pixeldata;
|
||||
}rawspeed3_ret_t;
|
||||
|
||||
/* API calls */
|
||||
DllDef void rawspeed3_clearresult(rawspeed3_ret_t*);
|
||||
/*
|
||||
rawspeed3_init()
|
||||
Init rawspeed3 Camera, returns: 0 on failure, pointer to data block on success
|
||||
Cameradefs: cameras.xml in string (is_file == false) or file (is_file == true)
|
||||
*/
|
||||
DllDef rawspeed3_handle_t rawspeed3_init(const char* cameradefs, bool is_file);
|
||||
|
||||
/* init with built-in cameras.xml */
|
||||
DllDef rawspeed3_handle_t rawspeed3_initdefault();
|
||||
|
||||
/*
|
||||
rawspeed3_decodefile(..)
|
||||
parse/decode RAW file passed via memory
|
||||
Parameters:
|
||||
handle - rawspeed3_handle_t => handle created by rawspeed3_init()
|
||||
resultp -> pointer to rawspeed3_ret_t to be filled with
|
||||
data -> data buffer with raw file
|
||||
datasize -> size of this buffer
|
||||
allowunknown -> allow to process unknown cameras (not listed in cameras.xml)
|
||||
Return values:
|
||||
0 -> OK
|
||||
1 -> decode warnings (not fatal)
|
||||
>1 -> error code
|
||||
-1 -> Incorrect parameters passed (handle, or data, or datasize)
|
||||
*/
|
||||
DllDef int rawspeed3_decodefile(rawspeed3_handle_t handle, rawspeed3_ret_t* resultp,
|
||||
const void *data, size_t datasize, bool allowunknown);
|
||||
|
||||
/* release internal raw data buffer */
|
||||
DllDef void rawspeed3_release(rawspeed3_handle_t handle);
|
||||
|
||||
/* close handle: release all internal data */
|
||||
DllDef void rawspeed3_close(rawspeed3_handle_t handle);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* Extern C */
|
||||
#endif
|
Reference in New Issue
Block a user