Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  color.h

  Sprache: C
 

/* Simple Plugin API */
/* SPDX-FileCopyrightText: Copyright © 2018 Wim Taymans */
/* SPDX-License-Identifier: MIT */

#ifndef SPA_VIDEO_COLOR_H
#define SPA_VIDEO_COLOR_H

#ifdef __cplusplus
extern "C" {
#endif

/**
 * \addtogroup spa_param
 * \{
 */


/**
 * 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 in Prozent
C=99 H=100 G=99

¤ Dauer der Verarbeitung: 0.14 Sekunden  (vorverarbeitet am  2026-08-26) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=655579