Swiftgram/submodules/TelegramUI/third-party/bc1/TextureCompression.cpp
2019-06-23 10:30:48 +02:00

14 lines
558 B
C++

#import "TextureCompression.h"
#import "BC1Compression.h"
void compressRGBAToBC1(uint8_t const * _Nonnull argb, int width, int height, uint8_t * _Nonnull bc1) {
DTX1CompressorDecompressor::BC1Compression compression;
DTX1CompressorDecompressor::BMPImage image;
image.InitWithData((unsigned char *)argb, width, height);
image.m_ownData = false;
DTX1CompressorDecompressor::BC1DDSImage ddsImage;
compression.Compress(image, ddsImage);
int numBlocks = width * height / (4 * 4);
memcpy(bc1, ddsImage.GetData(), numBlocks * 8);
}