1- # Version 0.10.4 (unreleased)
1+ # Version 0.11.0
22
33- ` Directory ` now implements ` FromIterator<(Tag, Value)> ` .
44
@@ -10,6 +10,45 @@ Changes:
1010 as unspecified relation. Previously, these may have been interpreted as
1111 alpha by the total sample count (e.g. RgbA if 4 samples under a photometric
1212 interpretation of RGB).
13+ - The decoder handles planar data, current limited to non-subsampled channels.
14+ The ` Decoder::read_image ` method return planes one-after-another depending on
15+ the size of the buffer that was passed.
16+ - ` Decoder::read_image_to_buffer ` now takes ` &mut DecodingResult ` and resizes
17+ it according to the required layout. Previously, a borrowed ` DecodingBuffer `
18+ was passed which can be replaced by calling ` as_bytes_mut ` and
19+ ` read_image_bytes ` .
20+ - Several methods of tags are now ` const ` . Note that does not guarantee any
21+ particular value when calling these methods.
22+
23+ Fixes:
24+ - Fix a bug in the uncompressed encoder that could lead to short writes, i.e.
25+ data silently dropped when the underlying writer did not accept all data in a
26+ single write call.
27+ - Encoding YCbCr data now writes the ` ChromaSubsampling ` tag as ` (1, 1) ` to
28+ indicate no subsampling, instead of leaving it at its default of ` (2, 2) ` .
29+ - The decoder will reject subsampled YCbCr data as there is no upsampling
30+ routine, except for JPEG compressed images where the JPEG decoders handles
31+ this. Since the buffer in that case indicates a full-sized plane for all
32+ color samples any future support for the tag will upsample all planes (at
33+ least within this major version).
34+
35+ Additions:
36+ - Added support for the ` CieLab ` color type.
37+ - Added ` DecodingResult::resize_to ` to create a buffer with a matching sample
38+ type and dimensions.
39+ - Added ` ByteOrder::native ` to access the platform's native endianness.
40+ - Added ` ByteOrder::convert ` to change the byte-order of values in a byte
41+ buffer, depending on their ` Type ` as described at runtime.
42+ - Added ` DirectoryOffset::new ` to encode a directory whose offset is known to
43+ the caller but that has not been written through the encoder itself.
44+ - Added ` Encoder::extra_samples ` to encode images with more samples than their
45+ color's trait implementation would otherwise suggest.
46+ - Added ` DirectoryEncoder::extend_from ` to encode multiple tag entries from a
47+ directory whose values were written to the file by means outside the
48+ encoder's control.
49+ - Added ` Decoder::read_coding_unit_bytes ` to retrieve data of corresponding
50+ coordinates from potentially planar data, which is encoded in multiple chunks
51+ of the file.
1352
1453# Version 0.10.3
1554
0 commit comments