Dustin Oprea
81079a77d6
exif: Added EXIF header builder and unit-test.
2018-04-29 02:48:52 -04:00
Dustin Oprea
d06a3c8963
ifd_builder: Implemented NewBuilderTagFromConfig() BT factory for testing.
...
- Updated IfdByteEncoder tests to use it instead of hacking-together
their own BT's (makes for more standardized, consistent testing).
- Universally refactored all core IFD knowledge implemented upon a
single IFD name to instead work with IfdIdentity instances, instead,
in order to validate that we only recognize the IFDs only in the
context of the correct parents in the hierarchy.
- Implemented standard testing byte-order (assigned to
TestDefaultByteOrder).
2018-04-27 03:42:59 -04:00
Dustin Oprea
50eafa98d6
ifd_enumerate: Added tests.
...
- Refactored (IfdTagEntry).ValueBytes() to handle managed undefined
values.
2018-04-22 02:35:33 -04:00
Dustin Oprea
f1f23dca82
General intuitivity refactor. Imp'd (IfdTagEntry).ValueBytes().
...
- Added some assertions and constants. Renamed from variable so it'd be easy to
tell if the byte-arrays, even though they come directly from the EXIF, which
specific offsets they start at (so no remove for confusion during enumeration
and building).
2018-04-21 20:54:56 -04:00
Dustin Oprea
a909226514
type_decode: Implemented immediate remaining 'unknown'-type tags.
...
- Except for MakerNote. We're just going to have to skip that when
writing, for now.
2018-04-21 03:40:33 -04:00
Dustin Oprea
00a5a5ad5b
ifd_builder: Fixed so will compile.
2018-04-21 00:24:54 -04:00
Dustin Oprea
88333d9088
ifd_builder: Added main flow and allocation.
...
- We still need to implement the size calculations and tag encoding.
2018-04-20 11:45:32 -04:00
Dustin Oprea
f99faad160
builder: Added full IFD-building functionality.
...
- There are still some placeholders for things that we need to figure
out.
- Still needs tests.
2018-04-19 02:43:17 -04:00
Dustin Oprea
52dafd070a
collect: Added a massive test for collected structure.
2018-04-19 01:02:03 -04:00
Dustin Oprea
679ea19d6c
ifd_enumerate. The IFD tree and content can now be collected.
...
- Collected into a static structure in addition to scanned (which is
- only a visitor pattern).
- Test still has be finished.
2018-04-18 07:58:05 -04:00
Dustin Oprea
acbda6d1e1
ifd_enumerate: Refactored for reusability from a collector loop.
2018-04-18 06:28:12 -04:00
Dustin Oprea
f1521d4bac
documentation: Added documentation and reader-tool for testing.
2018-04-16 01:57:30 -04:00
Dustin Oprea
42e678f6c2
type: Implemented workflow for undefined-type tags.
...
- Implemented for the straightforward tags. Noted what had to be done
for the rest.
2018-04-16 00:30:39 -04:00
Dustin Oprea
172013e0f0
ifd: Implemented recursion. Refactored IFD seeking.
...
- tags.yaml: Uncommented previously-unhandleable tags.
2018-04-15 23:13:25 -04:00
Dustin Oprea
1511788a4e
ifd: Implemented several layers of value processing. Done.
...
- It's going to be laborious to write unit-tests for, though.
2018-04-15 01:25:30 -04:00
Dustin Oprea
315ca60f03
ifd: Formalized visitor implementation.
2018-04-14 20:32:02 -04:00
Dustin Oprea
05fe72f929
Added tag lookup. Only a minimal number of tags are currently known.
2018-04-14 20:04:35 -04:00
Dustin Oprea
685d801489
Initial commit.
...
- Parsing works.
- Not yet resolving values.
- Not yet resolving the actual IDs.
- Not yet able to make changes.
2018-04-14 14:38:35 -04:00