diff options
author | Oscar Mateo <oscar.mateo@intel.com> | 2013-06-11 10:29:31 +0100 |
---|---|---|
committer | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2013-08-27 11:16:44 +0200 |
commit | 8b788af13ab591567abe3cb0565a999bc9162395 (patch) | |
tree | 7e3feba20c962f111a1544e02d17514e4172fdba | |
parent | ddd5dff2a9c4addcfc1a7a2565925e0bd61f3129 (diff) | |
download | libva-8b788af13ab591567abe3cb0565a999bc9162395.tar.gz |
va: Allow attribute-by-attribute configuration of the TCC filter
A VA buffer can hold several total color correction attributes
by creating a VA buffer of the desired number of elements, in
such a way that you can independently modify the attribute or
attributes (out of R, G, B, C, M and Y) that you need.
Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
-rw-r--r-- | va/va_vpp.h | 59 |
1 files changed, 31 insertions, 28 deletions
diff --git a/va/va_vpp.h b/va/va_vpp.h index f4c5b2b..52c16bc 100644 --- a/va/va_vpp.h +++ b/va/va_vpp.h @@ -324,6 +324,25 @@ typedef enum _VAProcColorStandardType { VAProcColorStandardCount } VAProcColorStandardType; +/** \brief Total color correction types. */ +typedef enum _VAProcTotalColorCorrectionType { + VAProcTotalColorCorrectionNone = 0, + /** \brief Red Saturation. */ + VAProcTotalColorCorrectionRed, + /** \brief Green Saturation. */ + VAProcTotalColorCorrectionGreen, + /** \brief Blue Saturation. */ + VAProcTotalColorCorrectionBlue, + /** \brief Cyan Saturation. */ + VAProcTotalColorCorrectionCyan, + /** \brief Magenta Saturation. */ + VAProcTotalColorCorrectionMagenta, + /** \brief Yellow Saturation. */ + VAProcTotalColorCorrectionYellow, + /** \brief Number of color correction attributes. */ + VAProcTotalColorCorrectionCount +} VAProcTotalColorCorrectionType; + /** @name Video blending flags */ /**@{*/ /** \brief Global alpha blending. */ @@ -788,22 +807,14 @@ typedef struct _VAProcFilterParamterBufferFrameRateConversion { VASurfaceID *output_frames; } VAProcFilterParameterBufferFrameRateConversion; -/** \brief Total Color Correction filter parametrization. */ -typedef struct _VAProcFilterParamterBufferTotalColorCorrection { - /** \brief filter type. Shall be set to #VAProcFilterTotalColorCorrection. */ - VAProcFilterType type; - /** \brief TCC Red Saturation. */ - float red; - /** \brief TCC Green Saturation. */ - float green; - /** \brief TCC Blue Saturation. */ - float blue; - /** \brief TCC cyan Saturation. */ - float cyan; - /** \brief TCC Magenta Saturation. */ - float magenta; - /** \brief TCC Yello Saturation. */ - float yellow; +/** \brief Total color correction filter parametrization. */ +typedef struct _VAProcFilterParameterBufferTotalColorCorrection { + /** \brief Filter type. Shall be set to #VAProcFilterTotalColorCorrection. */ + VAProcFilterType type; + /** \brief Color to correct. */ + VAProcTotalColorCorrectionType attrib; + /** \brief Color correction value. */ + float value; } VAProcFilterParameterBufferTotalColorCorrection; /** \brief Non-Linear Anamorphic Scaling filter parametrization. */ @@ -845,18 +856,10 @@ typedef struct _VAProcFilterCapColorBalance { /** \brief Capabilities specification for the Total Color Correction filter. */ typedef struct _VAProcFilterCapTotalColorCorrection { - /** \brief Range of supported values for red saturation. */ - VAProcFilterValueRange red_range; - /** \brief Range of supported values for green saturation. */ - VAProcFilterValueRange green_range; - /** \brief Range of supported values for blue saturation. */ - VAProcFilterValueRange blue_range; - /** \brief Range of supported values for cyan saturation. */ - VAProcFilterValueRange cyan_range; - /** \brief Range of supported values for magenta saturation. */ - VAProcFilterValueRange magenta_range; - /** \brief Range of supported values for yellow saturation. */ - VAProcFilterValueRange yellow_range; + /** \brief Color to correct. */ + VAProcTotalColorCorrectionType type; + /** \brief Range of supported values for the specified color. */ + VAProcFilterValueRange range; } VAProcFilterCapTotalColorCorrection; /** \brief Capabilities specification for the Non-Linear Anamorphic Scaling filter. */ |