From 71abbdaeb1bca1c62bbae4cb4d5ccbc1ecea014e Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Thu, 8 Jun 2017 00:06:26 +0200 Subject: Add man pages for most colour models MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- LIBCOLOUR_CIE1960UCS.7 | 67 +++++++++++++++++++++++++++++++++++++++++++ LIBCOLOUR_CIELAB.7 | 70 +++++++++++++++++++++++++++++++++++++++++++++ LIBCOLOUR_CIELUV.7 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ LIBCOLOUR_CIEUVW.7 | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ LIBCOLOUR_CIEXYY.7 | 64 +++++++++++++++++++++++++++++++++++++++++ LIBCOLOUR_CIEXYZ.7 | 65 ++++++++++++++++++++++++++++++++++++++++++ LIBCOLOUR_SRGB.7 | 75 ++++++++++++++++++++++++++++++++++++++++++++++++ LIBCOLOUR_YCGCO.7 | 61 +++++++++++++++++++++++++++++++++++++++ LIBCOLOUR_YDBDR.7 | 64 +++++++++++++++++++++++++++++++++++++++++ LIBCOLOUR_YIQ.7 | 65 ++++++++++++++++++++++++++++++++++++++++++ LIBCOLOUR_YPBPR.7 | 66 +++++++++++++++++++++++++++++++++++++++++++ LIBCOLOUR_YUV.7 | 64 +++++++++++++++++++++++++++++++++++++++++ Makefile | 28 ++++++++++++++++-- 13 files changed, 837 insertions(+), 3 deletions(-) create mode 100644 LIBCOLOUR_CIE1960UCS.7 create mode 100644 LIBCOLOUR_CIELAB.7 create mode 100644 LIBCOLOUR_CIELUV.7 create mode 100644 LIBCOLOUR_CIEUVW.7 create mode 100644 LIBCOLOUR_CIEXYY.7 create mode 100644 LIBCOLOUR_CIEXYZ.7 create mode 100644 LIBCOLOUR_SRGB.7 create mode 100644 LIBCOLOUR_YCGCO.7 create mode 100644 LIBCOLOUR_YDBDR.7 create mode 100644 LIBCOLOUR_YIQ.7 create mode 100644 LIBCOLOUR_YPBPR.7 create mode 100644 LIBCOLOUR_YUV.7 diff --git a/LIBCOLOUR_CIE1960UCS.7 b/LIBCOLOUR_CIE1960UCS.7 new file mode 100644 index 0000000..95dff79 --- /dev/null +++ b/LIBCOLOUR_CIE1960UCS.7 @@ -0,0 +1,67 @@ +.TH LIBCOLOUR_CIE1960UCS 7 libcolour +.SH NAME +LIBCOLOUR_CIE1960UCS - CIE 1960 UCS +.SH DESCRIPTION +CIE 1960 UCS +colours are presented with either of +.nf + + \fBtypedef struct libcolour_cie1960ucs_f libcolour_cie1960ucs_f_t;\fP + \fBtypedef struct libcolour_cie1960ucs_lf libcolour_cie1960ucs_lf_t;\fP + \fBtypedef struct libcolour_cie1960ucs_llf libcolour_cie1960ucs_llf_t;\fP + +.fi +These +.BR struct s +use +.BR float , +.BR double , +and +.BR long\ double , +respecitively, for the values stored in them, +and are otherwise identical. +.B struct libcolour_cie1960ucs_f +is defined as +.nf + + \fBstruct libcolour_cie1960ucs_f {\fP + \fBenum libcolour_model\fP \fImodel\fP\fB;\fP + \fBfloat\fP \fIu\fP\fB;\fP + \fBfloat\fP \fIv\fP\fB;\fP + \fBfloat\fP \fIY\fP\fB;\fP + \fB};\fP + +.fi +.I .model +shall be set to +.BR LIBCOLOUR_CIE1960UCS . +In +.BR union\ libcolour_colour_f , +.BR union\ libcolour_colour_lf , +and +.BR union\ libcolour_colour_llf , +.I .cie1960ucs +is used for CIE 1960 UCS colours. +.P +.IR .u , +.IR .v , +and +.I .Y +hold the u, v, and, Y (luma) values. +.P +Y is 0 in black and 1 in white. +u is defined as 4X / (X + 15Y + 3Z), and +v is defined as 6X / (X + 15Y + 3Z), where +X, Y, and Z are CIE 1931 XYZ values. +.P +The Y value is not part of CIE 1960 UCS, +but is added, and borrowed from CIE 1931 XYZ +and CIE xyY, so that colours of all lumas +can be specified. +.P +CIE 1960 UCS is not additive. +.SH SEE ALSO +.BR libcolour (7) +.SH AUTHORS +Mattias Andrée +.RI < maandree@kth.se > diff --git a/LIBCOLOUR_CIELAB.7 b/LIBCOLOUR_CIELAB.7 new file mode 100644 index 0000000..853a04f --- /dev/null +++ b/LIBCOLOUR_CIELAB.7 @@ -0,0 +1,70 @@ +.TH LIBCOLOUR_CIELAB 7 libcolour +.SH NAME +LIBCOLOUR_CIELAB - CIE L*a*b* +.SH DESCRIPTION +CIE L*a*b* +colours are presented with either of +.nf + + \fBtypedef struct libcolour_cielab_f libcolour_cielab_f_t;\fP + \fBtypedef struct libcolour_cielab_lf libcolour_cielab_lf_t;\fP + \fBtypedef struct libcolour_cielab_llf libcolour_cielab_llf_t;\fP + +.fi +These +.BR struct s +use +.BR float , +.BR double , +and +.BR long\ double , +respecitively, for the values stored in them, +and are otherwise identical. +.B struct libcolour_cielab_f +is defined as +.nf + + \fBstruct libcolour_cielab_f {\fP + \fBenum libcolour_model\fP \fImodel\fP\fB;\fP + \fBfloat\fP \fIL\fP\fB;\fP + \fBfloat\fP \fIa\fP\fB;\fP + \fBfloat\fP \fIb\fP\fB;\fP + \fB};\fP + +.fi +.I .model +shall be set to +.BR LIBCOLOUR_CIELAB . +In +.BR union\ libcolour_colour_f , +.BR union\ libcolour_colour_lf , +and +.BR union\ libcolour_colour_llf , +.I .cielab +is used for CIE L*a*b* colours. +.P +.IR .L , +.IR .a , +and +.I .b +hold the L*, a*, and b* values, respectively. +.P +L* is 0 in black and 100 in white. +Negative a* values are green, +positive a* values are red. +Negative b* values are blue, +positive b* values are yellow. +.P +CIE L*a*b* is not additive, since conversion from +CIE 1931 XYZ is non-linear. It’s white point is the +CIE Standard Illuminant D50. +.P +CIE L*a*b* approximates human colour perception with a +lightness parameter (L*) and two chromaticity parameters +(a* and b*), it is therefore useful in image +manipulation applications. +.SH SEE ALSO +.BR libcolour (7) +.SH AUTHORS +Mattias Andrée +.RI < maandree@kth.se > diff --git a/LIBCOLOUR_CIELUV.7 b/LIBCOLOUR_CIELUV.7 new file mode 100644 index 0000000..24d5d88 --- /dev/null +++ b/LIBCOLOUR_CIELUV.7 @@ -0,0 +1,77 @@ +.TH LIBCOLOUR_CIELUV 7 libcolour +.SH NAME +LIBCOLOUR_CIELUV - CIE 1976 (L*, u*, v*) +.SH DESCRIPTION +CIE 1976 (L*, u*, v*) (also known simply as CIE L*u*v*) +colours are presented with either of +.nf + + \fBtypedef struct libcolour_cieluv_f libcolour_cieluv_f_t;\fP + \fBtypedef struct libcolour_cieluv_lf libcolour_cieluv_lf_t;\fP + \fBtypedef struct libcolour_cieluv_llf libcolour_cieluv_llf_t;\fP + +.fi +These +.BR struct s +use +.BR float , +.BR double , +and +.BR long\ double , +respecitively, for the values stored in them, +and are otherwise identical. +.B struct libcolour_cieluv_f +is defined as +.nf + + \fBstruct libcolour_cieluv_f {\fP + \fBenum libcolour_model\fP \fImodel\fP\fB;\fP + \fBfloat\fP \fIL\fP\fB;\fP + \fBfloat\fP \fIu\fP\fB;\fP + \fBfloat\fP \fIv\fP\fB;\fP + \fBstruct libcolour_ciexyz\fP \fIwhite\fP\fB;\fP + \fB};\fP + +.fi +.I .model +shall be set to +.BR LIBCOLOUR_CIELUV . +In +.BR union\ libcolour_colour_f , +.BR union\ libcolour_colour_lf , +and +.BR union\ libcolour_colour_llf , +.I .cieluv +is used for CIE L*u*v* colours. +.P +.IR .L , +.IR .u , +and +.I .v +hold the L*, u*, and v* values, respectively, and +.I .white +holds the white point. +.P +L* is 0 in black and 100 in white. +.P +The call +.BI libcolour_proper(& c ) +on a +.B struct libcolour_cieluv_t +.I c +sets +.I c.white.model +to +.BR LIBCOLOUR_CIEXYZ . +Zero is always returned in this case. +.P +CIE L*u*v* is not additive, since conversion from +CIE 1931 XYZ is non-linear. +.P +CIE 1976 (L*, u*, v*) approximates +uniform human colour perception. +.SH SEE ALSO +.BR libcolour (7) +.SH AUTHORS +Mattias Andrée +.RI < maandree@kth.se > diff --git a/LIBCOLOUR_CIEUVW.7 b/LIBCOLOUR_CIEUVW.7 new file mode 100644 index 0000000..6cb42af --- /dev/null +++ b/LIBCOLOUR_CIEUVW.7 @@ -0,0 +1,74 @@ +.TH LIBCOLOUR_CIEUVW 7 libcolour +.SH NAME +LIBCOLOUR_CIEUVW - CIE 1964 (U*, V*, W*) +.SH DESCRIPTION +CIE 1964 (U*, V*, W*) (also known simply as CIE UVW) +colours are presented with either of +.nf + + \fBtypedef struct libcolour_cieuvw_f libcolour_cieuvw_f_t;\fP + \fBtypedef struct libcolour_cieuvw_lf libcolour_cieuvw_lf_t;\fP + \fBtypedef struct libcolour_cieuvw_llf libcolour_cieuvw_llf_t;\fP + +.fi +These +.BR struct s +use +.BR float , +.BR double , +and +.BR long\ double , +respecitively, for the values stored in them, +and are otherwise identical. +.B struct libcolour_cieuvw_f +is defined as +.nf + + \fBstruct libcolour_cieuvw_f {\fP + \fBenum libcolour_model\fP \fImodel\fP\fB;\fP + \fBfloat\fP \fIU\fP\fB;\fP + \fBfloat\fP \fIV\fP\fB;\fP + \fBfloat\fP \fIW\fP\fB;\fP + \fBfloat\fP \fIu0\fP\fB;\fP + \fBfloat\fP \fIv0\fP\fB;\fP + \fB};\fP + +.fi +.I .model +shall be set to +.BR LIBCOLOUR_CIEUVW . +In +.BR union\ libcolour_colour_f , +.BR union\ libcolour_colour_lf , +and +.BR union\ libcolour_colour_llf , +.I .cieuvw +is used for CIE 1964 (U*, V*, W*) colours. +.P +.IR .U , +.IR .V , +.IR .W , +.IR .u0 , +and +.I .v0 +hold the U*, V*, W*, u\(aq chromaticity coordinate of a +\(dqspecified white object\(dq and, v\(aq chromaticity +coordinate of a \(dqspecified white object\(dq, respectively. +.P +.I .u0 +and +.I .v0 +are not part of the colour, but rather part of the colour space. +.P +Y is 0 in black and 1 in white. +u\(aq is defined as 4X / (X + 15Y + 3Z), and +v\(aq is defined as 9X / (X + 15Y + 3Z), where +X, Y, and Z are CIE 1931 XYZ values of the +\(dqspecified white object\(dq. +.P +CIE 1964 (U*, V*, W*) is not additive. +.SH SEE ALSO +.BR libcolour (7) +.SH AUTHORS +Mattias Andrée +.RI < maandree@kth.se > diff --git a/LIBCOLOUR_CIEXYY.7 b/LIBCOLOUR_CIEXYY.7 new file mode 100644 index 0000000..989b170 --- /dev/null +++ b/LIBCOLOUR_CIEXYY.7 @@ -0,0 +1,64 @@ +.TH LIBCOLOUR_CIEXYY 7 libcolour +.SH NAME +LIBCOLOUR_CIEXYY - CIE xyY +.SH DESCRIPTION +CIE xyY colours are presented with either of +.nf + + \fBtypedef struct libcolour_ciexyy_f libcolour_ciexyy_f_t;\fP + \fBtypedef struct libcolour_ciexyy_lf libcolour_ciexyy_lf_t;\fP + \fBtypedef struct libcolour_ciexyy_llf libcolour_ciexyy_llf_t;\fP + +.fi +These +.BR struct s +use +.BR float , +.BR double , +and +.BR long\ double , +respecitively, for the values stored in them, +and are otherwise identical. +.B struct libcolour_ciexyy_f +is defined as +.nf + + \fBstruct libcolour_ciexyy_f {\fP + \fBenum libcolour_model\fP \fImodel\fP\fB;\fP + \fBfloat\fP \fIx\fP\fB;\fP + \fBfloat\fP \fIy\fP\fB;\fP + \fBfloat\fP \fIY\fP\fB;\fP + \fB};\fP + +.fi +.I .model +shall be set to +.BR LIBCOLOUR_CIEXYY . +In +.BR union\ libcolour_colour_f , +.BR union\ libcolour_colour_lf , +and +.BR union\ libcolour_colour_llf , +.I .ciexyy +is used for CIE xyY colours. +.P +.IR .x , +.IR .y , +and +.I .Y +hold the unscaled x, y, and Y values, respectively. +.P +CIE xyY is not additive, nor is it linearily +isomorphic to CIE 1931 XYZ. Rather, it is defined by +x = X/(X + Y + Z), y = Y/(X + Y + Z), where X, Y, and +Z are the CIE 1931 XYZ values (with the same names) +for the same colour. The value Y is the same in both +colour models. +.P +This colour model is derived from CIE 1931 XYZ and +is primarily used for representing chromaticities. +.SH SEE ALSO +.BR libcolour (7) +.SH AUTHORS +Mattias Andrée +.RI < maandree@kth.se > diff --git a/LIBCOLOUR_CIEXYZ.7 b/LIBCOLOUR_CIEXYZ.7 new file mode 100644 index 0000000..cb5cd31 --- /dev/null +++ b/LIBCOLOUR_CIEXYZ.7 @@ -0,0 +1,65 @@ +.TH LIBCOLOUR_CIEXYZ 7 libcolour +.SH NAME +LIBCOLOUR_CIEXYZ - CIE 1931 XYZ +.SH DESCRIPTION +CIE 1931 XYZ (also known simply as CIE XYZ) +colours are presented with either of +.nf + + \fBtypedef struct libcolour_ciexyz_f libcolour_ciexyz_f_t;\fP + \fBtypedef struct libcolour_ciexyz_lf libcolour_ciexyz_lf_t;\fP + \fBtypedef struct libcolour_ciexyz_llf libcolour_ciexyz_llf_t;\fP + +.fi +These +.BR struct s +use +.BR float , +.BR double , +and +.BR long\ double , +respecitively, for the values stored in them, +and are otherwise identical. +.B struct libcolour_ciexyz_f +is defined as +.nf + + \fBstruct libcolour_ciexyz_f {\fP + \fBenum libcolour_model\fP \fImodel\fP\fB;\fP + \fBfloat\fP \fIX\fP\fB;\fP + \fBfloat\fP \fIY\fP\fB;\fP + \fBfloat\fP \fIZ\fP\fB;\fP + \fB};\fP + +.fi +.I .model +shall be set to +.BR LIBCOLOUR_CIEXYZ . +In +.BR union\ libcolour_colour_f , +.BR union\ libcolour_colour_lf , +and +.BR union\ libcolour_colour_llf , +.I .ciexyz +is used for CIE 1931 XYZ colours. +.P +.IR .X , +.IR .Y , +and +.I .Z +hold the unscaled X, Y, and Z values, respectively. +.P +CIE 1931 XYZ is additive, since it is linearly +isomorphic to CIE 1931 RGB, which is additive because +it is an RGB colour space. +.P +This colour model is derived from CIE 1931 RGB and is +used as an intermediary representation when converting +between many colour spaces and colour models, making +it very useful for device independent colour +representation. +.SH SEE ALSO +.BR libcolour (7) +.SH AUTHORS +Mattias Andrée +.RI < maandree@kth.se > diff --git a/LIBCOLOUR_SRGB.7 b/LIBCOLOUR_SRGB.7 new file mode 100644 index 0000000..fd6f819 --- /dev/null +++ b/LIBCOLOUR_SRGB.7 @@ -0,0 +1,75 @@ +.TH LIBCOLOUR_SRGB 7 libcolour +.SH NAME +LIBCOLOUR_SRGB - Standard RGB +.SH DESCRIPTION +sRGB colours are presented with either of +.nf + + \fBtypedef struct libcolour_srgb_f libcolour_srgb_f_t;\fP + \fBtypedef struct libcolour_srgb_lf libcolour_srgb_lf_t;\fP + \fBtypedef struct libcolour_srgb_llf libcolour_srgb_llf_t;\fP + +.fi +These +.BR struct s +use +.BR float , +.BR double , +and +.BR long\ double , +respecitively, for the values stored in them, +and are otherwise identical. +.B struct libcolour_srgb_f +is defined as +.nf + + \fBstruct libcolour_srgb_f {\fP + \fBenum libcolour_model\fP \fImodel\fP\fB;\fP + \fBfloat\fP \fIR\fP\fB;\fP + \fBfloat\fP \fIG\fP\fB;\fP + \fBfloat\fP \fIB\fP\fB;\fP + \fBint\fP \fIwith_transfer\fP\fB;\fP + \fB};\fP + +.fi +.I .model +shall be set to +.BR LIBCOLOUR_SRGB . +In +.BR union\ libcolour_colour_f , +.BR union\ libcolour_colour_lf , +and +.BR union\ libcolour_colour_llf , +.I .srgb +is used for sRGB colours. +.P +.IR .R , +.IR .G , +and +.I .B +hold the red, green, and blue values, respectively, +and shall have a value between 0 and 1, inclusively, +for the colour to be in gamut. +.I .with_transfer +shall be set to a non-zero value if the sRGB transfer +function (\(dqgamma function\(dq) is applied, and zero +otherwise, meaning colours are linearly encoded. +.P +The RGB color model, of which sRGB is a specific colour +space, is an additive colour model, that is, without a +transfer function applied, linearily isomorphic to +CIE 1931 XYZ. +.P +This is the colour model and colour space normally +used on computers, it is however not the colour space +your monitor have, although it is close to it. sRGB +is designed after the human eye, but fails to take +into account how the brain process the input to figure +out which colour it actually receives. +.SH SEE ALSO +.BR libcolour (7), +.BR libcolour_srgb_encode (3), +.BR libcolour_srgb_decode (3) +.SH AUTHORS +Mattias Andrée +.RI < maandree@kth.se > diff --git a/LIBCOLOUR_YCGCO.7 b/LIBCOLOUR_YCGCO.7 new file mode 100644 index 0000000..095cb0a --- /dev/null +++ b/LIBCOLOUR_YCGCO.7 @@ -0,0 +1,61 @@ +.TH LIBCOLOUR_YCGCO 7 libcolour +.SH NAME +LIBCOLOUR_YCGCO - YCgCo +.SH DESCRIPTION +YCgCo colours are presented with either of +.nf + + \fBtypedef struct libcolour_ycgco_f libcolour_ycgco_f_t;\fP + \fBtypedef struct libcolour_ycgco_lf libcolour_ycgco_lf_t;\fP + \fBtypedef struct libcolour_ycgco_llf libcolour_ycgco_llf_t;\fP + +.fi +These +.BR struct s +use +.BR float , +.BR double , +and +.BR long\ double , +respecitively, for the values stored in them, +and are otherwise identical. +.B struct libcolour_ycgco_f +is defined as +.nf + + \fBstruct libcolour_ycgco_f {\fP + \fBenum libcolour_model\fP \fImodel\fP\fB;\fP + \fBfloat\fP \fIY\fP\fB;\fP + \fBfloat\fP \fICg\fP\fB;\fP + \fBfloat\fP \fICo\fP\fB;\fP + \fB};\fP + +.fi +.I .model +shall be set to +.BR LIBCOLOUR_YCGCO . +In +.BR union\ libcolour_colour_f , +.BR union\ libcolour_colour_lf , +and +.BR union\ libcolour_colour_llf , +.I .ycgco +is used for YCgCo colours. +.P +.IR .Y , +.IR .Cg , +and +.I .Co +hold the Y (luma), Cg (chrominance green), and +Co (chrominance orange) values, respectively. +.P +Y is 0 in black and 1 in white. +.P +YCgCo is additive, since it is linearly isomorphic +to CIE 1931 XYZ. It's white point is the +CIE Standard Illuminant D65. +.SH SEE ALSO +.BR libcolour (7) +.SH AUTHORS +Mattias Andrée +.RI < maandree@kth.se > diff --git a/LIBCOLOUR_YDBDR.7 b/LIBCOLOUR_YDBDR.7 new file mode 100644 index 0000000..6281813 --- /dev/null +++ b/LIBCOLOUR_YDBDR.7 @@ -0,0 +1,64 @@ +.TH LIBCOLOUR_YDBDR 7 libcolour +.SH NAME +LIBCOLOUR_YDBDR - YDbDr +.SH DESCRIPTION +YDbDr colours are presented with either of +.nf + + \fBtypedef struct libcolour_ydbdr_f libcolour_ydbdr_f_t;\fP + \fBtypedef struct libcolour_ydbdr_lf libcolour_ydbdr_lf_t;\fP + \fBtypedef struct libcolour_ydbdr_llf libcolour_ydbdr_llf_t;\fP + +.fi +These +.BR struct s +use +.BR float , +.BR double , +and +.BR long\ double , +respecitively, for the values stored in them, +and are otherwise identical. +.B struct libcolour_ydbdr_f +is defined as +.nf + + \fBstruct libcolour_ydbdr_f {\fP + \fBenum libcolour_model\fP \fImodel\fP\fB;\fP + \fBfloat\fP \fIY\fP\fB;\fP + \fBfloat\fP \fIDb\fP\fB;\fP + \fBfloat\fP \fIDr\fP\fB;\fP + \fB};\fP + +.fi +.I .model +shall be set to +.BR LIBCOLOUR_YDBDR . +In +.BR union\ libcolour_colour_f , +.BR union\ libcolour_colour_lf , +and +.BR union\ libcolour_colour_llf , +.I .ydbdr +is used for YDbDr colours. +.P +.IR .Y , +.IR .Db , +and +.I .Dr +hold the Y (luma), Db, and Dr values, respectively. +.P +Y is 0 in black and 1 in white. +Db is the difference (with a factor) between Y and blue. +Dr is the difference (with a factor) between Y and red. +.P +YDbDr is additive, since it is linearly isomorphic +to CIE 1931 XYZ. It's white point is the +CIE Standard Illuminant D65. Additionally, conversion +between YDbDr and YUV is done with a diagonal matrix +multiplication. +.SH SEE ALSO +.BR libcolour (7) +.SH AUTHORS +Mattias Andrée +.RI < maandree@kth.se > diff --git a/LIBCOLOUR_YIQ.7 b/LIBCOLOUR_YIQ.7 new file mode 100644 index 0000000..e618217 --- /dev/null +++ b/LIBCOLOUR_YIQ.7 @@ -0,0 +1,65 @@ +.TH LIBCOLOUR_YIQ 7 libcolour +.SH NAME +LIBCOLOUR_YIQ - YIQ +.SH DESCRIPTION +YIQ colours are presented with either of +.nf + + \fBtypedef struct libcolour_yiq_f libcolour_yiq_f_t;\fP + \fBtypedef struct libcolour_yiq_lf libcolour_yiq_lf_t;\fP + \fBtypedef struct libcolour_yiq_llf libcolour_yiq_llf_t;\fP + +.fi +These +.BR struct s +use +.BR float , +.BR double , +and +.BR long\ double , +respecitively, for the values stored in them, +and are otherwise identical. +.B struct libcolour_yiq_f +is defined as +.nf + + \fBstruct libcolour_yiq_f {\fP + \fBenum libcolour_model\fP \fImodel\fP\fB;\fP + \fBfloat\fP \fIY\fP\fB;\fP + \fBfloat\fP \fII\fP\fB;\fP + \fBfloat\fP \fIQ\fP\fB;\fP + \fB};\fP + +.fi +.I .model +shall be set to +.BR LIBCOLOUR_YIQ . +In +.BR union\ libcolour_colour_f , +.BR union\ libcolour_colour_lf , +and +.BR union\ libcolour_colour_llf , +.I .yiq +is used for YIQ colours. +.P +.IR .Y , +.IR .I , +and +.I .Q +hold the Y (luma), I (in-phase), and +Q (quadrature) values, respectively. +.P +Y is 0 in black and 1 in white. +Negative I values are blue, +positive I values are orange. +Negative Q values are green, +positive Q values are purple. +.P +YIQ is additive, since it is linearly isomorphic +to CIE 1931 XYZ. It's white point is the +CIE Standard Illuminant D65. +.SH SEE ALSO +.BR libcolour (7) +.SH AUTHORS +Mattias Andrée +.RI < maandree@kth.se > diff --git a/LIBCOLOUR_YPBPR.7 b/LIBCOLOUR_YPBPR.7 new file mode 100644 index 0000000..380e1e4 --- /dev/null +++ b/LIBCOLOUR_YPBPR.7 @@ -0,0 +1,66 @@ +.TH LIBCOLOUR_YPBPR 7 libcolour +.SH NAME +LIBCOLOUR_YPBPR - YPbPr +.SH DESCRIPTION +YPbPr [the \(aqb\(a and the \(aqr\(aq should be in subscript and capitalised] +colours are presented with either of +.nf + + \fBtypedef struct libcolour_ypbpr_f libcolour_ypbpr_f_t;\fP + \fBtypedef struct libcolour_ypbpr_lf libcolour_ypbpr_lf_t;\fP + \fBtypedef struct libcolour_ypbpr_llf libcolour_ypbpr_llf_t;\fP + +.fi +These +.BR struct s +use +.BR float , +.BR double , +and +.BR long\ double , +respecitively, for the values stored in them, +and are otherwise identical. +.B struct libcolour_ypbpr_f +is defined as +.nf + + \fBstruct libcolour_ypbpr_f {\fP + \fBenum libcolour_model\fP \fImodel\fP\fB;\fP + \fBfloat\fP \fIY\fP\fB;\fP + \fBfloat\fP \fIPb\fP\fB;\fP + \fBfloat\fP \fIPr\fP\fB;\fP + \fB};\fP + +.fi +.I .model +shall be set to +.BR LIBCOLOUR_YPBPR . +In +.BR union\ libcolour_colour_f , +.BR union\ libcolour_colour_lf , +and +.BR union\ libcolour_colour_llf , +.I .ypbpr +is used for YPbPr colours. +.P +.IR .Y , +.IR .Pb , +and +.I .Pr +hold the Y (luma), Pb [the \(aqb\(aq should be in +subscript and capitalised], and Pr [the \(aqr\(aq +should be in subscript and capitalised] values, +respectively. +.P +Y is 0 in black and 1 in white. +Pb is the difference between Y and blue. +Pr is the difference between Y and red. +.P +YPbPr is additive, since it is linearly isomorphic +to CIE 1931 XYZ. It's white point is the +CIE Standard Illuminant D65. +.SH SEE ALSO +.BR libcolour (7) +.SH AUTHORS +Mattias Andrée +.RI < maandree@kth.se > diff --git a/LIBCOLOUR_YUV.7 b/LIBCOLOUR_YUV.7 new file mode 100644 index 0000000..784a60b --- /dev/null +++ b/LIBCOLOUR_YUV.7 @@ -0,0 +1,64 @@ +.TH LIBCOLOUR_YUV 7 libcolour +.SH NAME +LIBCOLOUR_YUV - YUV +.SH DESCRIPTION +YUV colours are presented with either of +.nf + + \fBtypedef struct libcolour_yuv_f libcolour_yuv_f_t;\fP + \fBtypedef struct libcolour_yuv_lf libcolour_yuv_lf_t;\fP + \fBtypedef struct libcolour_yuv_llf libcolour_yuv_llf_t;\fP + +.fi +These +.BR struct s +use +.BR float , +.BR double , +and +.BR long\ double , +respecitively, for the values stored in them, +and are otherwise identical. +.B struct libcolour_yuv_f +is defined as +.nf + + \fBstruct libcolour_yuv_f {\fP + \fBenum libcolour_model\fP \fImodel\fP\fB;\fP + \fBfloat\fP \fIY\fP\fB;\fP + \fBfloat\fP \fIU\fP\fB;\fP + \fBfloat\fP \fIV\fP\fB;\fP + \fB};\fP + +.fi +.I .model +shall be set to +.BR LIBCOLOUR_YUV . +In +.BR union\ libcolour_colour_f , +.BR union\ libcolour_colour_lf , +and +.BR union\ libcolour_colour_llf , +.I .yuv +is used for YUV colours. +.P +.IR .Y , +.IR .U , +and +.I .V +hold the Y (luma), U, and V values, respectively. +.P +Y is 0 in black and 1 in white. +U is the difference (with a factor) between Y and blue. +V is the difference (with a factor) between Y and red. +.P +YUV is additive, since it is linearly isomorphic +to CIE 1931 XYZ. It's white point is the +CIE Standard Illuminant D65. Additionally, conversion +between YUV and YDbDr is done with a diagonal matrix +multiplication. +.SH SEE ALSO +.BR libcolour (7) +.SH AUTHORS +Mattias Andrée +.RI < maandree@kth.se > diff --git a/Makefile b/Makefile index 4ab5b6b..0b52b45 100644 --- a/Makefile +++ b/Makefile @@ -18,9 +18,31 @@ TEMPLATES =\ libcolour-template.c MAN7 =\ - libcolour.7 - -MAN3 = + libcolour.7\ + LIBCOLOUR_RGB.7\ + LIBCOLOUR_SRGB.7\ + LIBCOLOUR_CIEXYY.7\ + LIBCOLOUR_CIEXYZ.7\ + LIBCOLOUR_CIELAB.7\ + LIBCOLOUR_CIELUV.7\ + LIBCOLOUR_CIELCHUV.7\ + LIBCOLOUR_YIQ.7\ + LIBCOLOUR_YDBDR.7\ + LIBCOLOUR_YUV.7\ + LIBCOLOUR_YPBPR.7\ + LIBCOLOUR_YCGCO.7\ + LIBCOLOUR_CIE1960UCS.7\ + LIBCOLOUR_CIEUVW.7 + +MAN3 =\ + libcolour_convert.3\ + libcolour_srgb_encode.3\ + libcolour_srgb_decode.3\ + libcolour_delta_e.3\ + libcolour_proper.3\ + libcolour_get_rgb_colour_space.3\ + libcolour_marshal.3\ + libcolour_unmarshal.3 MAN3_SYMLINKS =\ libcolour_convert_f.3\ -- cgit v1.2.3-70-g09d2