/** * Possible color range values. These constants are defined for 8 bit color * values and can be scaled for other bit depths.
*/ enum spa_video_color_range {
SPA_VIDEO_COLOR_RANGE_UNKNOWN = 0, /**< unknown range */
SPA_VIDEO_COLOR_RANGE_0_255, /**< [0..255] for 8 bit components */
SPA_VIDEO_COLOR_RANGE_16_235 /**< [16..235] for 8 bit components. Chroma has
[16..240] range. */
};
/** * The color matrix is used to convert between Y'PbPr and * non-linear RGB (R'G'B')
*/ enum spa_video_color_matrix {
SPA_VIDEO_COLOR_MATRIX_UNKNOWN = 0, /**< unknown matrix */
SPA_VIDEO_COLOR_MATRIX_RGB, /**< identity matrix */
SPA_VIDEO_COLOR_MATRIX_FCC, /**< FCC color matrix */
SPA_VIDEO_COLOR_MATRIX_BT709, /**< ITU BT.709 color matrix */
SPA_VIDEO_COLOR_MATRIX_BT601, /**< ITU BT.601 color matrix */
SPA_VIDEO_COLOR_MATRIX_SMPTE240M, /**< SMTPE 240M color matrix */
SPA_VIDEO_COLOR_MATRIX_BT2020, /**< ITU-R BT.2020 color matrix. since 1.6. */
};
/** * The video transfer function defines the formula for converting between * non-linear RGB (R'G'B') and linear RGB
*/ enum spa_video_transfer_function {
SPA_VIDEO_TRANSFER_UNKNOWN = 0, /**< unknown transfer function */
SPA_VIDEO_TRANSFER_GAMMA10, /**< linear RGB, gamma 1.0 curve */
SPA_VIDEO_TRANSFER_GAMMA18, /**< Gamma 1.8 curve */
SPA_VIDEO_TRANSFER_GAMMA20, /**< Gamma 2.0 curve */
SPA_VIDEO_TRANSFER_GAMMA22, /**< Gamma 2.2 curve */
SPA_VIDEO_TRANSFER_BT709, /**< Gamma 2.2 curve with a linear segment in the lower range */
SPA_VIDEO_TRANSFER_SMPTE240M, /**< Gamma 2.2 curve with a linear segment in the lower range */
SPA_VIDEO_TRANSFER_SRGB, /**< Gamma 2.4 curve with a linear segment in the lower range */
SPA_VIDEO_TRANSFER_GAMMA28, /**< Gamma 2.8 curve */
SPA_VIDEO_TRANSFER_LOG100, /**< Logarithmic transfer characteristic 100:1 range */
SPA_VIDEO_TRANSFER_LOG316, /**< Logarithmic transfer characteristic 316.22777:1 range */
SPA_VIDEO_TRANSFER_BT2020_12, /**< Gamma 2.2 curve with a linear segment in the lower * range. Used for BT.2020 with 12 bits per
* component. \since 1.6. */
SPA_VIDEO_TRANSFER_ADOBERGB, /**< Gamma 2.19921875. \since 1.8 */
};
/** * The color primaries define the how to transform linear RGB values to and from * the CIE XYZ colorspace.
*/ enum spa_video_color_primaries {
SPA_VIDEO_COLOR_PRIMARIES_UNKNOWN = 0, /**< unknown color primaries */
SPA_VIDEO_COLOR_PRIMARIES_BT709, /**< BT709 primaries */
SPA_VIDEO_COLOR_PRIMARIES_BT470M, /**< BT470M primaries */
SPA_VIDEO_COLOR_PRIMARIES_BT470BG, /**< BT470BG primaries */
SPA_VIDEO_COLOR_PRIMARIES_SMPTE170M, /**< SMPTE170M primaries */
SPA_VIDEO_COLOR_PRIMARIES_SMPTE240M, /**< SMPTE240M primaries */
SPA_VIDEO_COLOR_PRIMARIES_FILM, /**< Generic film */
SPA_VIDEO_COLOR_PRIMARIES_BT2020, /**< BT2020 primaries. \since 1.6. */
SPA_VIDEO_COLOR_PRIMARIES_ADOBERGB, /**< Adobe RGB primaries. \since 1.8 */
};
/** * spa_video_colorimetry: * * Structure describing the color info.
*/ struct spa_video_colorimetry { enum spa_video_color_range range; /**< The color range. This is the valid range for the * samples. It is used to convert the samples to Y'PbPr
* values. */ enum spa_video_color_matrix matrix; /**< the color matrix. Used to convert between Y'PbPr and
* non-linear RGB (R'G'B') */ enum spa_video_transfer_function transfer; /**< The transfer function. Used to convert between
* R'G'B' and RGB */ enum spa_video_color_primaries primaries; /**< Color primaries. Used to convert between R'G'B'
* and CIE XYZ */
};
/** * \}
*/
#ifdef __cplusplus
} /* extern "C" */ #endif
#endif/* SPA_VIDEO_COLOR_H */
Messung V0.5
¤ Dauer der Verarbeitung: 0.17 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.