Commit Briefs

ac2e672650 Pompolic

WIP commit, declare ARULEs, add sof0 header length field (DCTDecode)


d1b596e501 Pompolic

WIP commit, rules for JPG structure


867feca822 Pompolic

WIP commit, more marker segments


486bf01f6c Pompolic

Remove "jpgmagic" from marker segment definitions

Also making naming consistent: app0_marker instead of app0marker


fddef8f7e9 Pompolic

DCTDecode filter function


6a46c04128 Pompolic

WIP commit, H_RULE()s for JPG format


11ecff401f Pompolic

Mark dead code for deletion


d02fed1044 Pompolic

Remove superfluous fprintf


2a9a5eb1d0 Pompolic

Style fix



Branches

Tags

This repository contains no tags

Tree

.gitignorecommits | blame
LICENSEcommits | blame
Makefilecommits | blame
READMEcommits | blame
TODOcommits | blame
lzw-ab-license.txtcommits | blame
lzw-lib.ccommits | blame
lzw-lib.hcommits | blame
pdf.ccommits | blame
t/

README

Beginnings of a PDF parser in Hammer
====================================

 - Currently needs a custom Hammer branch. You'll need to build against this:

   https://gitlab.special-circumstanc.es/pesco/hammer/tree/pdf

   For detailed build instructions, see README.md in that repository.

 - Help the default Makefile find Hammer

       $ ln -s ../hammer/src hammer         # needed for building pdf, include files
       $ ln -s ../hammer/build/opt/src lib  # needed for running pdf, to locate libhammer.so

 - Notes for 2020-04-27 release:

    The release branch has been tested to build with the 2020-04-27_RELEASE` branch located at https://gitlab.special-circumstanc.es/pesco/hammer/tree/2020-04-27_RELEASE

 - Build:

       $ pushd ../hammer; scons; popd       # build Hammer
       $ make pdf

 - Usage:

       $ export LD_LIBRARY_PATH=./lib       # see Troubleshooting section below to see if this is needed
       $ ldd ./pdf | grep libhammer         # verify that libhammer.so was found
       $ ./pdf <filename>

       # place some test files in the t/ directory...
       $ make test

 - Troubleshooting:

       libhammer.so not found:

           If Hammer is not installed as a system library, ld may fail to locate libhammer.so. The quick fix for this is altering LD_LIBRARY_PATH before running pdf:

           $ export LD_LIBRARY_PATH=./lib
           $ make test

           The second solution is executing "scons install" when building Hammer, which will install it in ld's usual search path:

           $ pushd ../hammer; scons install; popd
           # ... Update ldconfig cache if needed
           $ make pdf
           $ make test

 - Evaluating test results:
 
   For every file in the t/ directory, the pdf parser is executed. On successful parse, a message of the following form is displayed:

   OK: t/<filename>

   In case of a non-fatal parse error, error messages may be displayed, but presence of the "OK" indicates pdf exited successfully. On a failed test run, only parse error messages are displayed.

 - Copyright:

  - pesco 2019,2020
  - pompolic 2020
  - Paul Vines 2020
  - David Bryant (modified lzw-ab code)

  See LICENSE and lzw-ab-license.txt for full copyright and licensing notice.