Encode values immediately
This currently avoids buffering the collection, but not buffering them individually where we still format it into a byte vector. The main drive here is making the DirectoryEncoder less dependent on the values. That is, it should be concerned with the Entry representation of values only. A few decoders expect all values to strictly follow the image directory and the data layout of such files should be controllable by the user. This could be achieved by encoding dummy entries which are later corrected once the actual item is known by seeking back and writing the directory anew. By no longer assuming values to be available on finishing a directory we also prepare an interface that encodes an existing directory.
This commit is contained in:
1 parent
525bb2b9b1
commit
f6e2aeffe5
2 files changed
+13
-15
No files matched your search
@@ -57,7 +57,7 @@ fn encode_decode() {
|
||||
),
|
||||
(Tag::Compression, ifd::Value::Short(1)),
|
||||
(Tag::PhotometricInterpretation, ifd::Value::Short(2)),
|
||||
(Tag::StripOffsets, ifd::Value::Unsigned(8)),
|
||||
(Tag::StripOffsets, ifd::Value::Unsigned(47)),
|
||||
(Tag::SamplesPerPixel, ifd::Value::Short(3)),
|
||||
(Tag::RowsPerStrip, ifd::Value::Unsigned(3334)),
|
||||
(Tag::StripByteCounts, ifd::Value::Unsigned(30000)),
|
||||
@@ -137,7 +137,7 @@ fn encode_decode_big() {
|
||||
),
|
||||
(Tag::Compression, ifd::Value::Short(1)),
|
||||
(Tag::PhotometricInterpretation, ifd::Value::Short(2)),
|
||||
(Tag::StripOffsets, ifd::Value::UnsignedBig(16)),
|
||||
(Tag::StripOffsets, ifd::Value::UnsignedBig(27)),
|
||||
(Tag::SamplesPerPixel, ifd::Value::Short(3)),
|
||||
(Tag::RowsPerStrip, ifd::Value::Unsigned(3334)),
|
||||
(Tag::StripByteCounts, ifd::Value::UnsignedBig(30000)),
|
||||
|
||||
Reference in new issue
Block a user