JHOVE TIFF-hul ModuleHeader with 0x4D4D002A (if big-endian) or 0x49492A00 (if little-endian) at offset 0
// TIFF file header var = 0x4D4D; // big-endian endian "MM" instead of 0x4949 "II"
* buf++ = b; * buf++ = g; * buf++ = r;
reverse_bytes_order ( get_dng_header ( ), get_dng_header_size ( ) ); //including var = 0x2A ! write ( fd, get_dng_header ( ), get_dng_header_size ( ) ); write ( fd, thumbnail_buf, DNG_TH_WIDTH * DNG_TH_HEIGHT * 3 ); write ( fd, get_raw_image_addr ( ), hook_raw_size ( ) );
Ending with ONE dng_header_size (1536 bytes) instead of TWO hook_raw_size byte-reversing (31 272 480 bytes) !!! 20 360 faster !!!
BitsPerSampleSupported values are from 8 to 32 bits/sample. The depth must be the same for each sample if SamplesPerPixel is not equal to 1. If BitsPerSample is not equal to 8 or 16 or 32, then [b]the bits must be packed into bytes [/b] using the TIFF default FillOrder of 1 (big-endian), even if the TIFF file itself uses little-endian byte order.
TIFF Tag FillOrderDefault 1 (lower column values in higher order bits) The [b]logical order of bits within a byte[/b]. The specification defines these values: 1 = pixels with lower column values are stored in the higher-order bits of the byte.In practice, the use of FillOrder=2 is very uncommon, and is not recommended.
Concerning Chapter 3,Code: [Select]BitsPerSampleSupported values are from 8 to 32 bits/sample. The depth must be the same for each sample if SamplesPerPixel is not equal to 1. If BitsPerSample is not equal to 8 or 16 or 32, then [b]the bits must be packed into bytes [/b] using the TIFF default FillOrder of 1 (big-endian), even if the TIFF file itself uses little-endian byte order.This make restriction on bits within byte, not byte ordering, IMHO.
Started by mkmenuts Feature Requests
Started by kinematic « 1 2 » General Discussion and Assistance
Started by KayDat General Help and Assistance on using CHDK stable releases
Started by jtrue RAW Shooting and Processing
Started by ShahJahan « 1 2 » Script Writing