syoyo / tinydng

Header-only Tiny DNG/TIFF loader and writer in C++
MIT License
151 stars 30 forks source link

Implemented Lossless JPEG support for TinyDngWriter #23

Closed storyboardcreativity closed 1 year ago

storyboardcreativity commented 1 year ago
syoyo commented 1 year ago

Awesome! Is there an example to use LosslessJPEG compression? Simply replace SetImageData with SetImageDataJpeg?

syoyo commented 1 year ago

Anyway merged! Thanks!

BTW SetImageDataJpeg is confusing. I may change it to SetImageDataAsLosslessJpeg.

storyboardcreativity commented 1 year ago

Awesome! Is there an example to use LosslessJPEG compression? Simply replace SetImageData with SetImageDataJpeg?

Here is an example:

bool compressed = true;
tinydngwriter::DNGImage dng_image;

// ...

if (compressed)
    dng_image.SetCompression(tinydngwriter::COMPRESSION_NEW_JPEG);
else
    dng_image.SetCompression(tinydngwriter::COMPRESSION_NONE);

// ...

if (compressed)
    dng_image.SetImageDataJpeg(data, wdith, height, bpp);
else
    dng_image.SetImageDataPacked(data, count, bpp, big_endian);

You can see working code in my repo (ZRAW Video Converter): https://github.com/storyboardcreativity/zraw-parser/blob/2e32a9bc9be1d9ec91aeb633967cdf87e3e2972f/src/ZrawConverterThread.hpp#L215

syoyo commented 1 year ago

@storyboardcreativity Thanks!