• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

hardware/intel/libva


Commit MetaInfo

Revision2be38edfb40e06d3a8a4b513ff458d9260633d1d (tree)
Time2013-05-28 17:32:18
AuthorGwenole Beauchesne <gwenole.beauchesne@inte...>
CommiterXiang, Haihao

Log Message

vpp: allow input/output color primaries as requested.

XXX: this is still a complicated usage model. The color primary could
be a surface atttribute instead.

Change Summary

Incremental Difference

--- a/va/va_vpp.h
+++ b/va/va_vpp.h
@@ -160,7 +160,13 @@ extern "C" {
160160 * unsigned int num_forward_references;
161161 * VASurfaceID *backward_references;
162162 * unsigned int num_backward_references;
163+ * VAProcColorStandardType in_color_standards[VAProcColorStandardCount];
164+ * VAProcColorStandardType out_color_standards[VAProcColorStandardCount];
163165 *
166+ * pipeline_caps.input_color_standards = NULL;
167+ * pipeline_caps.num_input_color_standards = ARRAY_ELEMS(in_color_standards);
168+ * pipeline_caps.output_color_standards = NULL;
169+ * pipeline_caps.num_output_color_standards = ARRAY_ELEMS(out_color_standards);
164170 * vaQueryVideoProcPipelineCaps(va_dpy, vpp_ctx,
165171 * filter_bufs, num_filter_bufs,
166172 * &pipeline_caps
@@ -298,6 +304,8 @@ typedef enum _VAProcColorStandardType {
298304 VAProcColorStandardSMPTE240M,
299305 /** \brief Generic film. */
300306 VAProcColorStandardGenericFilm,
307+ /** \brief Max number of color standard types. */
308+ VAProcColorStandardCount
301309 } VAProcColorStandardType;
302310
303311 /** @name Video pipeline flags */
@@ -335,6 +343,14 @@ typedef struct _VAProcPipelineCaps {
335343 unsigned int num_forward_references;
336344 /** \brief Number of backward reference frames that are needed. */
337345 unsigned int num_backward_references;
346+ /** \brief List of color standards supported on input. */
347+ VAProcColorStandardType *input_color_standards;
348+ /** \brief Number of elements in \ref input_color_standards array. */
349+ unsigned int num_input_color_standards;
350+ /** \brief List of color standards supported on output. */
351+ VAProcColorStandardType *output_color_standards;
352+ /** \brief Number of elements in \ref output_color_standards array. */
353+ unsigned int num_output_color_standards;
338354 } VAProcPipelineCaps;
339355
340356 /** \brief Specification of values supported by the filter. */
@@ -397,6 +413,15 @@ typedef struct _VAProcPipelineParameterBuffer {
397413 */
398414 const VARectangle *surface_region;
399415 /**
416+ * \brief Requested input color primaries.
417+ *
418+ * Color primaries are implicitly converted throughout the processing
419+ * pipeline. The video processor chooses the best moment to apply
420+ * this conversion. The set of supported color primaries primaries
421+ * for input shall be queried with vaQueryVideoProcPipelineCaps().
422+ */
423+ VAProcColorStandardType surface_color_standard;
424+ /**
400425 * \brief Region within the output surface.
401426 *
402427 * Pointer to a #VARectangle defining the region within the output
@@ -424,6 +449,10 @@ typedef struct _VAProcPipelineParameterBuffer {
424449 */
425450 unsigned int output_background_color;
426451 /**
452+ * \brief Requested output color primaries.
453+ */
454+ VAProcColorStandardType output_color_standard;
455+ /**
427456 * \brief Pipeline filters. See video pipeline flags.
428457 *
429458 * Flags to control the pipeline, like whether to apply subpictures
@@ -679,12 +708,20 @@ vaQueryVideoProcFilterCaps(
679708 * \c filters array defines the video processing pipeline and is an array
680709 * of buffers holding filter parameters.
681710 *
711+ * Note: the #VAProcPipelineCaps structure contains user-provided arrays.
712+ * If non-NULL, the corresponding \c num_* fields shall be filled in on
713+ * input with the number of elements allocated. Upon successful return,
714+ * the actual number of elements will be overwritten into the \c num_*
715+ * fields. Otherwise, \c VA_STATUS_ERROR_MAX_NUM_EXCEEDED is returned
716+ * and \c num_* fields are adjusted to the number of elements that would
717+ * be returned if enough space was available.
718+ *
682719 * @param[in] dpy the VA display
683720 * @param[in] context the video processing context
684721 * @param[in] filters the array of VA buffers defining the video
685722 * processing pipeline
686723 * @param[in] num_filters the number of elements in filters
687- * @param[out] pipeline_caps the video processing pipeline capabilities
724+ * @param[in,out] pipeline_caps the video processing pipeline capabilities
688725 */
689726 VAStatus
690727 vaQueryVideoProcPipelineCaps(