VA-API
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
va_vpp.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2007-2011 Intel Corporation. All Rights Reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the
6  * "Software"), to deal in the Software without restriction, including
7  * without limitation the rights to use, copy, modify, merge, publish,
8  * distribute, sub license, and/or sell copies of the Software, and to
9  * permit persons to whom the Software is furnished to do so, subject to
10  * the following conditions:
11  *
12  * The above copyright notice and this permission notice (including the
13  * next paragraph) shall be included in all copies or substantial portions
14  * of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
19  * IN NO EVENT SHALL INTEL AND/OR ITS SUPPLIERS BE LIABLE FOR
20  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23  */
24 
32 #ifndef VA_VPP_H
33 #define VA_VPP_H
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
238 typedef enum _VAProcFilterType {
239  VAProcFilterNone = 0,
250  VAProcFilterCount
252 
254 typedef enum _VAProcDeinterlacingType {
255  VAProcDeinterlacingNone = 0,
267 
269 typedef enum _VAProcColorBalanceType {
270  VAProcColorBalanceNone = 0,
288 
290 typedef enum _VAProcColorStandardType {
291  VAProcColorStandardNone = 0,
309 
313 #define VA_PROC_PIPELINE_SUBPICTURES 0x00000001
314 
324 #define VA_PROC_PIPELINE_FAST 0x00000002
325 
330 #define VA_PROC_FILTER_MANDATORY 0x00000001
331 
336 #define VA_PIPELINE_FLAG_END 0x00000004
337 
340 typedef struct _VAProcPipelineCaps {
342  unsigned int pipeline_flags;
344  unsigned int filter_flags;
358 
360 typedef struct _VAProcFilterValueRange {
362  float min_value;
364  float max_value;
368  float step;
370 
401 typedef struct _VAProcPipelineParameterBuffer {
409  VASurfaceID surface;
417  const VARectangle *surface_region;
437  const VARectangle *output_region;
465  unsigned int pipeline_flags;
482  unsigned int filter_flags;
501  unsigned int num_filters;
503  VASurfaceID *forward_references;
507  VASurfaceID *backward_references;
511 
519 typedef struct _VAProcFilterParameterBufferBase {
523 
530 typedef struct _VAProcFilterParameterBuffer {
534  float value;
536 
543 #define VA_DEINTERLACING_BOTTOM_FIELD_FIRST 0x0001
544 
548 #define VA_DEINTERLACING_BOTTOM_FIELD 0x0002
549 
553 #define VA_DEINTERLACING_ONE_FIELD 0x0004
554 
557 typedef struct _VAProcFilterParameterBufferDeinterlacing {
563  unsigned int flags;
565 
606 typedef struct _VAProcFilterParameterBufferColorBalance {
624  float value;
626 
633 typedef struct _VAProcFilterCap {
637 
639 typedef struct _VAProcFilterCapDeinterlacing {
643 
645 typedef struct _VAProcFilterCapColorBalance {
651 
677 VAStatus
679  VADisplay dpy,
680  VAContextID context,
681  VAProcFilterType *filters,
682  unsigned int *num_filters
683 );
684 
704 VAStatus
706  VADisplay dpy,
707  VAContextID context,
708  VAProcFilterType type,
709  void *filter_caps,
710  unsigned int *num_filter_caps
711 );
712 
735 VAStatus
737  VADisplay dpy,
738  VAContextID context,
739  VABufferID *filters,
740  unsigned int num_filters,
741  VAProcPipelineCaps *pipeline_caps
742 );
743 
746 #ifdef __cplusplus
747 }
748 #endif
749 
750 #endif /* VA_VPP_H */
Brightness.
Definition: va_vpp.h:276
VAProcColorStandardType * input_color_standards
List of color standards supported on input.
Definition: va_vpp.h:350
unsigned int pipeline_flags
Pipeline flags. See VAProcPipelineParameterBuffer::pipeline_flags.
Definition: va_vpp.h:342
Default filter parametrization.
Definition: va_vpp.h:530
unsigned int flags
Deinterlacing flags.
Definition: va_vpp.h:563
Color balance parameters.
Definition: va_vpp.h:247
unsigned int num_forward_references
Number of forward reference frames that were supplied.
Definition: va_vpp.h:505
ITU-R BT.601.
Definition: va_vpp.h:293
Contrast.
Definition: va_vpp.h:278
ITU-R BT.709.
Definition: va_vpp.h:295
Motion adaptive deinterlacing algorithm.
Definition: va_vpp.h:261
VAProcColorStandardType surface_color_standard
Requested input color primaries.
Definition: va_vpp.h:426
unsigned int num_backward_references
Number of backward reference frames that were supplied.
Definition: va_vpp.h:509
VAGenericID VAContextID
Definition: va.h:636
Weave deinterlacing algorithm.
Definition: va_vpp.h:259
Capabilities specification for the color balance filter.
Definition: va_vpp.h:645
Deinterlacing filter parametrization.
Definition: va_vpp.h:557
Generic film.
Definition: va_vpp.h:305
unsigned int num_input_color_standards
Number of elements in input_color_standards array.
Definition: va_vpp.h:352
Filter parameter buffer base.
Definition: va_vpp.h:519
Capabilities specification for the deinterlacing filter.
Definition: va_vpp.h:639
VAProcFilterValueRange range
Range of supported values for the filter.
Definition: va_vpp.h:635
SMPTE-240M.
Definition: va_vpp.h:303
Automatically adjusted brightness.
Definition: va_vpp.h:282
Automatically adjusted contrast.
Definition: va_vpp.h:284
VAProcDeinterlacingType algorithm
Deinterlacing algorithm.
Definition: va_vpp.h:561
Default filter cap specification (single range value).
Definition: va_vpp.h:633
Automatically adjusted saturation.
Definition: va_vpp.h:280
VAProcDeinterlacingType type
Deinterlacing algorithm.
Definition: va_vpp.h:641
Bob deinterlacing algorithm.
Definition: va_vpp.h:257
float value
Value.
Definition: va_vpp.h:534
VAProcFilterType type
Filter type.
Definition: va_vpp.h:521
VAProcFilterType type
Filter type.
Definition: va_vpp.h:532
float max_value
Maximum value supported, inclusive.
Definition: va_vpp.h:364
SMPTE-170M.
Definition: va_vpp.h:301
unsigned int filter_flags
Extra filter flags. See VAProcPipelineParameterBuffer::filter_flags.
Definition: va_vpp.h:344
VAProcColorBalanceType attrib
Color balance attribute.
Definition: va_vpp.h:610
Video processing pipeline configuration.
Definition: va_vpp.h:401
VAStatus vaQueryVideoProcFilters(VADisplay dpy, VAContextID context, VAProcFilterType *filters, unsigned int *num_filters)
Queries video processing filters.
VAGenericID VABufferID
Definition: va.h:920
Skin Tone Enhancement.
Definition: va_vpp.h:249
VAProcColorBalanceType type
Color balance operation.
Definition: va_vpp.h:647
const VARectangle * surface_region
Region within the source surface to be processed.
Definition: va_vpp.h:417
Motion compensated deinterlacing algorithm.
Definition: va_vpp.h:263
VABufferID * filters
Array of filters to apply to the surface.
Definition: va_vpp.h:499
float default_value
Default value.
Definition: va_vpp.h:366
const VARectangle * output_region
Region within the output surface.
Definition: va_vpp.h:437
float min_value
Minimum value supported, inclusive.
Definition: va_vpp.h:362
unsigned int pipeline_flags
Pipeline filters. See video pipeline flags.
Definition: va_vpp.h:465
Specification of values supported by the filter.
Definition: va_vpp.h:360
unsigned int output_background_color
Background color.
Definition: va_vpp.h:453
Saturation.
Definition: va_vpp.h:274
Number of deinterlacing algorithms.
Definition: va_vpp.h:265
Deinterlacing filter.
Definition: va_vpp.h:243
VAStatus vaQueryVideoProcPipelineCaps(VADisplay dpy, VAContextID context, VABufferID *filters, unsigned int num_filters, VAProcPipelineCaps *pipeline_caps)
Queries video processing pipeline capabilities.
VAProcFilterType type
Filter type. Shall be set to VAProcFilterColorBalance.
Definition: va_vpp.h:608
VAStatus vaQueryVideoProcFilterCaps(VADisplay dpy, VAContextID context, VAProcFilterType type, void *filter_caps, unsigned int *num_filter_caps)
Queries video filter capabilities.
unsigned int filter_flags
Extra filter flags. See vaPutSurface() flags.
Definition: va_vpp.h:482
Hue.
Definition: va_vpp.h:272
VAProcFilterType
Video filter types.
Definition: va_vpp.h:238
unsigned int num_backward_references
Number of backward reference frames that are needed.
Definition: va_vpp.h:348
VAProcColorStandardType
Color standard types.
Definition: va_vpp.h:290
float value
Color balance value.
Definition: va_vpp.h:624
VASurfaceID * forward_references
Array of forward reference frames.
Definition: va_vpp.h:503
VASurfaceID surface
Source surface ID.
Definition: va_vpp.h:409
unsigned int num_filters
Actual number of filters.
Definition: va_vpp.h:501
Number of color balance attributes.
Definition: va_vpp.h:286
Color balance filter parametrization.
Definition: va_vpp.h:606
void * VADisplay
Definition: va.h:140
VAProcColorBalanceType
Color balance types.
Definition: va_vpp.h:269
unsigned int num_output_color_standards
Number of elements in output_color_standards array.
Definition: va_vpp.h:356
VAProcFilterValueRange range
Range of supported values for the specified operation.
Definition: va_vpp.h:649
float step
Step value that alters the filter behaviour in a sensible way.
Definition: va_vpp.h:368
ITU-R BT.470-2 System M.
Definition: va_vpp.h:297
Noise reduction filter.
Definition: va_vpp.h:241
VASurfaceID * backward_references
Array of backward reference frames.
Definition: va_vpp.h:507
Number of color standards.
Definition: va_vpp.h:307
ITU-R BT.470-2 System B, G.
Definition: va_vpp.h:299
unsigned int num_forward_references
Number of forward reference frames that are needed.
Definition: va_vpp.h:346
Video processing pipeline capabilities.
Definition: va_vpp.h:340
VAProcFilterType type
Filter type. Shall be set to VAProcFilterDeinterlacing.
Definition: va_vpp.h:559
VAProcColorStandardType output_color_standard
Requested output color primaries.
Definition: va_vpp.h:457
Sharpening filter.
Definition: va_vpp.h:245
VAProcColorStandardType * output_color_standards
List of color standards supported on output.
Definition: va_vpp.h:354
VAProcDeinterlacingType
Deinterlacing types.
Definition: va_vpp.h:254