35 lines
1.1 KiB
C
35 lines
1.1 KiB
C
|
#ifndef __BLURHASH_DECODE_H__
|
||
|
|
||
|
#define __BLURHASH_DECODE_H__
|
||
|
|
||
|
#include <math.h>
|
||
|
#include <stdbool.h>
|
||
|
#include <string.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <stdint.h>
|
||
|
|
||
|
/*
|
||
|
decodeToArray : Decodes the blurhash and copies the pixels to pixelArray,
|
||
|
This method is suggested if you use an external memory allocator for pixelArray.
|
||
|
pixelArray should be of size : width * height * nChannels
|
||
|
Parameters :
|
||
|
blurhash : A string representing the blurhash to be decoded.
|
||
|
width : Width of the resulting image
|
||
|
height : Height of the resulting image
|
||
|
punch : The factor to improve the contrast, default = 1
|
||
|
nChannels : Number of channels in the resulting image array, 3 = RGB, 4 = RGBA
|
||
|
pixelArray : Pointer to memory region where pixels needs to be copied.
|
||
|
Returns : int, -1 if error 0 if successful
|
||
|
*/
|
||
|
int decodeToArray(uint8_t * blurhash, int width, int height, int punch, int nChannels, uint8_t * pixelArray);
|
||
|
|
||
|
/*
|
||
|
isValidBlurhash : Checks if the Blurhash is valid or not.
|
||
|
Parameters :
|
||
|
blurhash : A string representing the blurhash
|
||
|
Returns : bool (true if it is a valid blurhash, else false)
|
||
|
*/
|
||
|
bool isValidBlurhash(uint8_t * blurhash);
|
||
|
|
||
|
#endif
|