From: Carl Hetherington Date: Wed, 6 Nov 2013 23:07:41 +0000 (+0000) Subject: Various manual bits. X-Git-Tag: v2.0.48~1191 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=a44238ce4ce8f0ba29e093de92067b708454a876 Various manual bits. --- diff --git a/.gitignore b/.gitignore index 0fd802092..3dc9f50fb 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,9 @@ doc/design/*.log doc/design/*.aux doc/manual/diagrams/*.pdf doc/manual/diagrams/*.png +doc/manual/colour.pdf +doc/manual/colour.log +doc/manual/colour.aux .be/id-cache *.pyc GPATH diff --git a/doc/manual/Makefile b/doc/manual/Makefile index 991af212c..8be93db19 100644 --- a/doc/manual/Makefile +++ b/doc/manual/Makefile @@ -6,7 +6,9 @@ DIAGRAMS := file-structure.svg 3d-left-right.svg SCREENSHOTS := file-new.png video-new-film.png still-new-film.png video-select-content-file.png \ still-select-content-file.png examine-thumbs.png examine-content.png timing-tab.png \ - calculate-audio-gain.png prefs.png making-dcp.png filters.png video-tab.png audio-tab.png subtitles-tab.png \ + calculate-audio-gain.png \ + prefs-kdm-email.png prefs-colour-conversions.png prefs-metadata.png prefs-misc.png prefs-tms.png \ + making-dcp.png filters.png video-tab.png audio-tab.png subtitles-tab.png \ audio-plot.png audio-map-eg1.png audio-map-eg2.png audio-map-eg3.png kdm.png XML := dcpomatic.xml diff --git a/doc/manual/colour.tex b/doc/manual/colour.tex new file mode 100644 index 000000000..a742788fc --- /dev/null +++ b/doc/manual/colour.tex @@ -0,0 +1,59 @@ +\documentclass{article} + +\pagestyle{empty} +\usepackage{amsmath,mathtools} +\title{Colour conversion in DCP-o-matic} +\author{} +\date{} +\begin{document} +\maketitle + +Conversion from an RGB pixel $(r, g, b)$ is done in three steps. +First, the input gamma $\gamma_i$ is applied. This is done in one of +two ways, depending on the setting of the ``linearise input gamma +curve for low values'' option. If linearisation is disabled, we use: + +\begin{align*} +r' &= r^{\gamma_i} \\ +g' &= g^{\gamma_i} \\ +b' &= b^{\gamma_i} +\end{align*} + +otherwise, with linearisation enabled, we use: + +\begin{align*} +r' &= \begin{dcases} +\frac{r}{12.92} & r \leq 0.04045 \\ +\left(\frac{r + 0.055}{1.055}\right)^{\gamma_i} & r > 0.04045 +\end{dcases} +\end{align*} + +Next, the colour transformation matrix is used to convert to XYZ: + +\begin{align*} +\left[\begin{array}{c} +x \\ +y \\ +z +\end{array}\right] &= +\left[\begin{array}{ccc} +m_{11} & m_{12} & m_{13} \\ +m_{21} & m_{22} & m_{23} \\ +m_{31} & m_{32} & m_{33} +\end{array}\right] +\left[\begin{array}{c} +r' \\ +g' \\ +b' +\end{array}\right] +\end{align*} + +Finally, the output gamma $\gamma_o$ is applied to give our final XYZ values $(x', y', z')$: + +\begin{align*} +x' &= x^{1/\gamma_o} \\ +y' &= y^{1/\gamma_o} \\ +z' &= z^{1/\gamma_o} \\ +\end{align*} + +\end{document} diff --git a/doc/manual/dcpomatic.xml b/doc/manual/dcpomatic.xml index 29c69b443..3ff9cc155 100644 --- a/doc/manual/dcpomatic.xml +++ b/doc/manual/dcpomatic.xml @@ -8,7 +8,7 @@ %extensions; ]> - +