Skip to content
forked from cth103/libdcp

Library for reading and writing Digital Cinema Packages (DCPs).

License

GPL-2.0, Unknown licenses found

Licenses found

GPL-2.0
COPYING
Unknown
LICENSE.OpenSSL
Notifications You must be signed in to change notification settings

tschiemer/libdcp

 
 

Repository files navigation

libdcp

Library for reading and writing Digital Cinema Packages (DCPs).

Acknowledgements

Wolfgang Woehl's cinemaslides was most informative on the nasty details of encryption.

libdcp is written by Carl Hetherington and Mart Jansink. Bugfixes were received from Philip Tschiemer.

Building

  ./waf configure
  ./waf
  sudo ./waf install

Dependencies

  • pkg-config (for build system)
  • boost (1.45 or above): filesystem, signals2, datetime and unit testing libraries
  • openssl
  • libsigc++
  • libxml++
  • xmlsec
  • ImageMagick or GraphicsMagick
  • sndfile
  • openjpeg (1.5.0 or above)
  • libasdcp-cth
  • libcxml
  • (optional) OpenMP
  • (optional) gcov (for tests)

Build options

  --target-windows      set up to do a cross-compile to Windows
  --enable-debug        build with debugging information and without optimisation
  --static              build libdcp statically, and link statically to openjpeg, cxml, asdcplib-cth
  --disable-tests       disable building of tests
  --disable-gcov        dont use gcov in tests
  --disable-examples    disable building of examples
  --enable-openmp       enable use of OpenMP
  --openmp=OPENMP       Specify OpenMP Library to use: omp, gomp (default), iomp..
  --jpeg=JPEG           specify JPEG library to build with: oj1 or oj2 for OpenJPEG 1.5.x or OpenJPEG 2.1.x respectively
  --force-cpp11         force use of C++11

A note on building for macOS

As goto solution, all dependencies can be installed using Homebrew. Make sure to add the respective PKG_CONFIG_PATH paths so the packages are indeed found.

## Default Homebrew paths
PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"
PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/pangomm/lib/pkgconfig"
PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/libffi/lib/pkgconfig" # needed by gobject2
PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/openssl/lib/pkgconfig"
PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/libxml2/lib/pkgconfig"

## Set as installed
# PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/path-to-your-install-folder/libasdcp-cth"
# PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/path-to-your-install-folder/libcxml"

export PKG_CONFIG_PATH

If you want support for OpenMP, the standard llvm compiler coming with Xcode (or rather its command line tools) does not support it such that you will have to override the compiler (using the CXX environment variable). The version provided through Homebrew will work (or any of your choice) along with --openmp=omp.

## Default Homebrew path
export CXX=/usr/local/opt/llvm/bin/clang++

Documentation

Run doxygen in the top-level directory and then see build/doc/html/index.html.

There are some examples in the examples/ directory.

About

Library for reading and writing Digital Cinema Packages (DCPs).

Resources

License

GPL-2.0, Unknown licenses found

Licenses found

GPL-2.0
COPYING
Unknown
LICENSE.OpenSSL

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.3%
  • Python 3.7%
  • Shell 1.0%