Implement the DCTDecode (JPEG) passthrough filter with marker validation and /ColorTransform metadata parsing. Changes: - Add StreamInvalidJpeg diagnostic code for missing SOI/EOI markers - Implement DCTDecoder struct with: - SOI (0xFFD8) marker validation - EOI (0xFFD9) marker validation - /ColorTransform parameter parsing - Raw byte passthrough with bomb limit enforcement - Replace PassthroughDecoder with DCTDecoder in get_decoder() - Add comprehensive test coverage (6 test cases) The decoder validates JPEG markers but passes through data even when markers are missing (INV-8 error recovery). Diagnostics are emitted for missing markers but currently dropped due to trait limitations (future enhancement will add diagnostics buffer to StreamDecoder). Closes: pdftract-66dd8 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| pdftract-cer-diff | ||
| pdftract-cli | ||
| pdftract-core | ||
| pdftract-libpdftract | ||
| pdftract-py | ||