Files
Yajbir Singh f1b860b25c
Some checks failed
check / markdownlint (push) Has been cancelled
check / spellchecker (push) Has been cancelled
updated
2025-12-11 19:03:17 +05:30

23 lines
821 B
C++

#include "../BgraFrame.h"
#include "../../Common/3dParty/heif/libheif/libheif/api/libheif/heif.h"
#include "../../UnicodeConverter/UnicodeConverter.h"
namespace NSHeif {
class GRAPHICS_DECL CHeifFile {
private:
CHeifFile() = delete;
public:
static bool isHeif(const std::wstring& fileName);
static bool isHeif(BYTE* buffer, DWORD size);
static bool Open(CBgraFrame* frame, const std::wstring& fileName, bool isRGBA);
static bool Open(CBgraFrame* frame, BYTE* buffer, DWORD size, bool isRGBA);
static bool Save(const BYTE* source, int width, int height, int sourceStride, const std::wstring& dstPath, bool isRGBA);
private:
static bool IsError(heif_error err);
static bool Decode(heif_context* ctx, CBgraFrame* frame, bool isRGBA);
static NSUnicodeConverter::CUnicodeConverter m_oConverter;
};
}