FILES.txt this file Makefile Makefile for Linux and MinGW winsdk.bat script to initialize Windows SDK 7.0 variables for python extension compilation vs2015/ Solution and Project files to compile craw2 python extension for python 3.6 64bits with Visual Studio 2015 pycraw2_demo.py to demonstrate craw2 Python extension samples_list_rggb.txt auto test corpus samples_list_yuv.txt auto test corpus cr2_database.sh create CR2 database (raw dimensions, RGB borders, jpeg properties) dng_info.sh extract color conversion matrixes from DNG converted files test_recomp.sh auto test scripts. compare results with dcraw tohex.c used by dng_info.sh grep_tiff.c diff_sraw.c used by test_recomp.sh diff_color.c diff_file.c experimental: test_recompress.c a tentative to recompress sensor data with better DHT tables. But I did not manage to encode DHT data in jpeg header in src/ bits.c bits manipulation functions. Used by lljpeg functions bits.h bits manipulation functions lljpeg.c lossles jpeg functions lljpeg.h craw2.c Canon Raw v2 format functions. craw2.h libcraw2 C API craw2tool.c CLI tool to handle Canon Raw v2 files rgb.c image functions (RGGB or RGB) rgb.h yuv.c YCbCr functions yuv.h tiff.c TIFF file format functions tiff.h utils.c utility functions utils.h PyCraw2.c Python extension setup.py to compile the craw2 extension under Linux and Windows SDK 7.0 dataflow is 1. opening a Canon Raw image, parse TIFF tags and image data: craw2.c and tiff.c 2. decoding lossless jpeg into RGGB or YUV data: lljpeg.c and bits.c 3. creating an image (determining RGGB borders): rgb.c 4. interpolate / demosaicing: rgb.c or yuv.c 5. export to TIFF: tiff.c