238 typedef enum _VAProcFilterType {
239 VAProcFilterNone = 0,
263 typedef enum _VAProcDeinterlacingType {
264 VAProcDeinterlacingNone = 0,
278 typedef enum _VAProcColorBalanceType {
279 VAProcColorBalanceNone = 0,
306 typedef enum _VAProcColorStandardType {
307 VAProcColorStandardNone = 0,
419 typedef enum _VAProcTotalColorCorrectionType {
420 VAProcTotalColorCorrectionNone = 0,
438 typedef enum _VAProcHighDynamicRangeMetadataType {
439 VAProcHighDynamicRangeMetadataNone = 0,
447 typedef enum _VAProcMode {
469 #define VA_BLEND_GLOBAL_ALPHA 0x0001
471 #define VA_BLEND_PREMULTIPLIED_ALPHA 0x0002
473 #define VA_BLEND_LUMA_KEY 0x0010
477 typedef struct _VABlendState {
508 #define VA_PROC_PIPELINE_SUBPICTURES 0x00000001
519 #define VA_PROC_PIPELINE_FAST 0x00000002
525 #define VA_PROC_FILTER_MANDATORY 0x00000001
531 #define VA_PIPELINE_FLAG_END 0x00000004
538 #define VA_CHROMA_SITING_UNKNOWN 0x00
540 #define VA_CHROMA_SITING_VERTICAL_TOP 0x01
542 #define VA_CHROMA_SITING_VERTICAL_CENTER 0x02
544 #define VA_CHROMA_SITING_VERTICAL_BOTTOM 0x03
546 #define VA_CHROMA_SITING_HORIZONTAL_LEFT 0x04
548 #define VA_CHROMA_SITING_HORIZONTAL_CENTER 0x08
559 #define VA_SOURCE_RANGE_UNKNOWN 0
560 #define VA_SOURCE_RANGE_REDUCED 1
561 #define VA_SOURCE_RANGE_FULL 2
566 #define VA_TONE_MAPPING_HDR_TO_HDR 0x0001
568 #define VA_TONE_MAPPING_HDR_TO_SDR 0x0002
570 #define VA_TONE_MAPPING_HDR_TO_EDR 0x0004
572 #define VA_TONE_MAPPING_SDR_TO_HDR 0x0008
576 typedef struct _VAProcPipelineCaps {
661 #if defined(__AMD64__) || defined(__x86_64__) || defined(__amd64__) || defined(__LP64__)
662 uint32_t va_reserved[VA_PADDING_HIGH - 2];
664 uint32_t va_reserved[VA_PADDING_HIGH];
669 typedef struct _VAProcFilterValueRange {
683 typedef struct _VAProcColorProperties {
685 uint8_t chroma_sample_location;
715 uint8_t colour_primaries;
740 uint8_t transfer_characteristics;
746 uint8_t matrix_coefficients;
749 } VAProcColorProperties;
765 typedef struct _VAHdrMetaDataHDR10 {
774 uint16_t display_primaries_x[3];
783 uint16_t display_primaries_y[3];
821 uint16_t reserved[VA_PADDING_HIGH];
825 typedef struct _VAProcFilterCapHighDynamicRange {
837 uint16_t va_reserved[VA_PADDING_HIGH];
841 typedef struct _VAHdrMetaData {
886 typedef struct _VAProcPipelineParameterBuffer {
1131 #if defined(__AMD64__) || defined(__x86_64__) || defined(__amd64__)|| defined(__LP64__)
1132 uint32_t va_reserved[VA_PADDING_LARGE - 16];
1134 uint32_t va_reserved[VA_PADDING_LARGE - 13];
1145 typedef struct _VAProcFilterParameterBufferBase {
1156 typedef struct _VAProcFilterParameterBuffer {
1172 #define VA_DEINTERLACING_BOTTOM_FIELD_FIRST 0x0001
1177 #define VA_DEINTERLACING_BOTTOM_FIELD 0x0002
1182 #define VA_DEINTERLACING_ONE_FIELD 0x0004
1188 #define VA_DEINTERLACING_FMD_ENABLE 0x0008
1210 #define VA_DEINTERLACING_SCD_ENABLE 0x0010
1215 typedef struct _VAProcFilterParameterBufferDeinterlacing {
1267 typedef struct _VAProcFilterParameterBufferColorBalance {
1292 typedef struct _VAProcFilterParameterBufferTotalColorCorrection {
1307 #define VA_PROC_HVS_DENOISE_DEFAULT 0x0000
1312 #define VA_PROC_HVS_DENOISE_AUTO_BDRATE 0x0001
1317 #define VA_PROC_HVS_DENOISE_AUTO_SUBJECTIVE 0x0002
1322 #define VA_PROC_HVS_DENOISE_MANUAL 0x0003
1326 typedef struct _VAProcFilterParameterBufferHVSNoiseReduction {
1347 uint16_t va_reserved[VA_PADDING_HIGH - 1];
1351 typedef struct _VAProcFilterParameterBufferHDRToneMapping {
1363 uint32_t va_reserved[VA_PADDING_HIGH];
1369 #define VA_3DLUT_CHANNEL_UNKNOWN 0x00000000
1371 #define VA_3DLUT_CHANNEL_RGB_RGB 0x00000001
1373 #define VA_3DLUT_CHANNEL_YUV_RGB 0x00000002
1375 #define VA_3DLUT_CHANNEL_VUY_RGB 0x00000004
1403 typedef struct _VAProcFilterParameterBuffer3DLUT {
1420 uint16_t lut_stride[3];
1430 uint32_t va_reserved[VA_PADDING_HIGH];
1434 typedef struct _VAProcFilterCap3DLUT {
1438 uint16_t lut_stride[3];
1447 uint32_t va_reserved[VA_PADDING_HIGH];
1456 typedef struct _VAProcFilterCap {
1465 typedef struct _VAProcFilterCapDeinterlacing {
1474 typedef struct _VAProcFilterCapColorBalance {
1485 typedef struct _VAProcFilterCapTotalColorCorrection {
1522 unsigned int *num_filters
1550 unsigned int *num_filter_caps
1580 unsigned int num_filters,
VAGenericID VAContextID
Definition: va.h:1620
#define VA_PADDING_LOW
Definition: va.h:360
VAGenericID VABufferID
Definition: va.h:2019
void * VADisplay
Definition: va.h:260
VAStatus vaQueryVideoProcFilters(VADisplay dpy, VAContextID context, VAProcFilterType *filters, unsigned int *num_filters)
Queries video processing filters.
VAProcDeinterlacingType
Deinterlacing types.
Definition: va_vpp.h:263
VAProcHighDynamicRangeMetadataType
High Dynamic Range Metadata types.
Definition: va_vpp.h:438
VAStatus vaQueryVideoProcFilterCaps(VADisplay dpy, VAContextID context, VAProcFilterType type, void *filter_caps, unsigned int *num_filter_caps)
Queries video filter capabilities.
VAProcFilterType
Video filter types.
Definition: va_vpp.h:238
VAProcColorBalanceType
Color balance types.
Definition: va_vpp.h:278
VAProcMode
Video Processing Mode.
Definition: va_vpp.h:447
VAProcColorStandardType
Color standard types.
Definition: va_vpp.h:306
VAProcTotalColorCorrectionType
Total color correction types.
Definition: va_vpp.h:419
VAStatus vaQueryVideoProcPipelineCaps(VADisplay dpy, VAContextID context, VABufferID *filters, unsigned int num_filters, VAProcPipelineCaps *pipeline_caps)
Queries video processing pipeline capabilities.
@ VAProcDeinterlacingMotionAdaptive
Motion adaptive deinterlacing algorithm.
Definition: va_vpp.h:270
@ VAProcDeinterlacingMotionCompensated
Motion compensated deinterlacing algorithm.
Definition: va_vpp.h:272
@ VAProcDeinterlacingCount
Number of deinterlacing algorithms.
Definition: va_vpp.h:274
@ VAProcDeinterlacingWeave
Weave deinterlacing algorithm.
Definition: va_vpp.h:268
@ VAProcDeinterlacingBob
Bob deinterlacing algorithm.
Definition: va_vpp.h:266
@ VAProcHighDynamicRangeMetadataHDR10
Metadata type for HDR10.
Definition: va_vpp.h:441
@ VAProcHighDynamicRangeMetadataTypeCount
Number of Metadata type.
Definition: va_vpp.h:443
@ VAProcFilterSkinToneEnhancement
Skin Tone Enhancement.
Definition: va_vpp.h:249
@ VAProcFilterHVSNoiseReduction
Human Vision System(HVS) Noise reduction filter.
Definition: va_vpp.h:253
@ VAProcFilterCount
Number of video filters.
Definition: va_vpp.h:259
@ VAProcFilterNoiseReduction
Noise reduction filter.
Definition: va_vpp.h:241
@ VAProcFilterColorBalance
Color balance parameters.
Definition: va_vpp.h:247
@ VAProcFilterHighDynamicRangeToneMapping
High Dynamic Range Tone Mapping.
Definition: va_vpp.h:255
@ VAProcFilterSharpening
Sharpening filter.
Definition: va_vpp.h:245
@ VAProcFilterDeinterlacing
Deinterlacing filter.
Definition: va_vpp.h:243
@ VAProcFilterTotalColorCorrection
Total Color Correction.
Definition: va_vpp.h:251
@ VAProcFilter3DLUT
Three-Dimensional Look Up Table (3DLUT).
Definition: va_vpp.h:257
@ VAProcColorBalanceContrast
Contrast.
Definition: va_vpp.h:287
@ VAProcColorBalanceAutoContrast
Automatically adjusted contrast.
Definition: va_vpp.h:293
@ VAProcColorBalanceHue
Hue.
Definition: va_vpp.h:281
@ VAProcColorBalanceCount
Number of color balance attributes.
Definition: va_vpp.h:295
@ VAProcColorBalanceAutoBrightness
Automatically adjusted brightness.
Definition: va_vpp.h:291
@ VAProcColorBalanceSaturation
Saturation.
Definition: va_vpp.h:283
@ VAProcColorBalanceAutoSaturation
Automatically adjusted saturation.
Definition: va_vpp.h:289
@ VAProcColorBalanceBrightness
Brightness.
Definition: va_vpp.h:285
@ VAProcPerformanceMode
Performance Mode. In this mode, pipeline is optimized for performance.
Definition: va_vpp.h:463
@ VAProcDefaultMode
Default Mode. In this mode, pipeline is decided in driver to the appropriate mode....
Definition: va_vpp.h:453
@ VAProcPowerSavingMode
Power Saving Mode. In this mode, pipeline is optimized for power saving.
Definition: va_vpp.h:458
@ VAProcColorStandardXVYCC709
xvYCC709.
Definition: va_vpp.h:396
@ VAProcColorStandardBT2020
ITU-R BT.2020.
Definition: va_vpp.h:404
@ VAProcColorStandardBT709
ITU-R BT.709.
Definition: va_vpp.h:327
@ VAProcColorStandardGenericFilm
Generic film.
Definition: va_vpp.h:367
@ VAProcColorStandardBT470M
ITU-R BT.470-2 System M.
Definition: va_vpp.h:335
@ VAProcColorStandardBT470BG
ITU-R BT.470-2 System B, G.
Definition: va_vpp.h:343
@ VAProcColorStandardExplicit
Explicitly specified color properties.
Definition: va_vpp.h:413
@ VAProcColorStandardSMPTE170M
SMPTE-170M.
Definition: va_vpp.h:351
@ VAProcColorStandardSRGB
sRGB.
Definition: va_vpp.h:375
@ VAProcColorStandardXVYCC601
xvYCC601.
Definition: va_vpp.h:388
@ VAProcColorStandardSTRGB
stRGB.
Definition: va_vpp.h:380
@ VAProcColorStandardBT601
ITU-R BT.601.
Definition: va_vpp.h:319
@ VAProcColorStandardCount
Number of color standards.
Definition: va_vpp.h:415
@ VAProcColorStandardSMPTE240M
SMPTE-240M.
Definition: va_vpp.h:359
@ VAProcTotalColorCorrectionYellow
Yellow Saturation.
Definition: va_vpp.h:432
@ VAProcTotalColorCorrectionCount
Number of color correction attributes.
Definition: va_vpp.h:434
@ VAProcTotalColorCorrectionBlue
Blue Saturation.
Definition: va_vpp.h:426
@ VAProcTotalColorCorrectionMagenta
Magenta Saturation.
Definition: va_vpp.h:430
@ VAProcTotalColorCorrectionGreen
Green Saturation.
Definition: va_vpp.h:424
@ VAProcTotalColorCorrectionCyan
Cyan Saturation.
Definition: va_vpp.h:428
@ VAProcTotalColorCorrectionRed
Red Saturation.
Definition: va_vpp.h:422
Video blending state definition.
Definition: va_vpp.h:477
float max_luma
Maximum luma value.
Definition: va_vpp.h:502
unsigned int flags
Video blending flags.
Definition: va_vpp.h:479
float min_luma
Minimum luma value.
Definition: va_vpp.h:494
float global_alpha
Global alpha value.
Definition: va_vpp.h:486
Capabilities specification for the 3DLUT filter.
Definition: va_vpp.h:1434
uint16_t bit_depth
bit_depth is the number of bits for every channel R, G or B (or Y, U, V)
Definition: va_vpp.h:1440
uint32_t channel_mapping
channel_mapping defines the mapping of channels, could be some combination of VA_3DLUT_CHANNEL_XXX
Definition: va_vpp.h:1444
uint16_t lut_size
lut_size is the number of valid points on every dimension of the three dimensional look up table.
Definition: va_vpp.h:1436
uint16_t num_channel
num_channel is the number of channels
Definition: va_vpp.h:1442
Capabilities specification for the color balance filter.
Definition: va_vpp.h:1474
VAProcColorBalanceType type
Color balance operation.
Definition: va_vpp.h:1476
VAProcFilterValueRange range
Range of supported values for the specified operation.
Definition: va_vpp.h:1478
Capabilities specification for the deinterlacing filter.
Definition: va_vpp.h:1465
VAProcDeinterlacingType type
Deinterlacing algorithm.
Definition: va_vpp.h:1467
Capabilities specification for the High Dynamic Range filter.
Definition: va_vpp.h:825
uint16_t caps_flag
flag for high dynamic range tone mapping
Definition: va_vpp.h:835
VAProcHighDynamicRangeMetadataType metadata_type
high dynamic range type.
Definition: va_vpp.h:827
Capabilities specification for the Total Color Correction filter.
Definition: va_vpp.h:1485
VAProcFilterValueRange range
Range of supported values for the specified color.
Definition: va_vpp.h:1489
VAProcTotalColorCorrectionType type
Color to correct.
Definition: va_vpp.h:1487
Default filter cap specification (single range value).
Definition: va_vpp.h:1456
VAProcFilterValueRange range
Range of supported values for the filter.
Definition: va_vpp.h:1458
3DLUT filter parametrization.
Definition: va_vpp.h:1403
uint16_t lut_size
lut_size is the number of valid points on every dimension of the three dimensional look up table....
Definition: va_vpp.h:1414
VAProcFilterType type
Filter type. Shall be set to VAProcFilter3DLUT.
Definition: va_vpp.h:1405
uint16_t bit_depth
bit_depth is the number of bits for every channel R, G or B (or Y, U, V)
Definition: va_vpp.h:1422
VASurfaceID lut_surface
lut_surface contains 3DLUT data in the 3DLUT memory layout, must be linear
Definition: va_vpp.h:1408
uint32_t channel_mapping
channel_mapping defines the mapping of input and output channels, could be one of VA_3DLUT_CHANNEL_XX...
Definition: va_vpp.h:1427
uint16_t num_channel
num_channel is the number of channels
Definition: va_vpp.h:1424
Filter parameter buffer base.
Definition: va_vpp.h:1145
VAProcFilterType type
Filter type.
Definition: va_vpp.h:1147
Color balance filter parametrization.
Definition: va_vpp.h:1267
float value
Color balance value.
Definition: va_vpp.h:1285
VAProcFilterType type
Filter type. Shall be set to VAProcFilterColorBalance.
Definition: va_vpp.h:1269
VAProcColorBalanceType attrib
Color balance attribute.
Definition: va_vpp.h:1271
Deinterlacing filter parametrization.
Definition: va_vpp.h:1215
VAProcDeinterlacingType algorithm
Deinterlacing algorithm.
Definition: va_vpp.h:1219
uint32_t flags
Deinterlacing flags.
Definition: va_vpp.h:1221
VAProcFilterType type
Filter type. Shall be set to VAProcFilterDeinterlacing.
Definition: va_vpp.h:1217
High Dynamic Range(HDR) Tone Mapping filter parametrization.
Definition: va_vpp.h:1351
VAProcFilterType type
Filter type. Shall be set to VAProcFilterHighDynamicRangeToneMapping.
Definition: va_vpp.h:1353
VAHdrMetaData data
High Dynamic Range metadata, could be HDR10 etc.
Definition: va_vpp.h:1361
Human Vision System(HVS) Noise reduction filter parametrization.
Definition: va_vpp.h:1326
uint16_t strength
QP to Noise Reduction Strength Mode, used for Human Vision System Based Noise Reduction....
Definition: va_vpp.h:1339
VAProcFilterType type
Filter type. Shall be set to VAProcFilterHVSNoiseReduction.
Definition: va_vpp.h:1328
uint16_t mode
HVS Denoise Mode which controls denoise method. It is a value of VA_PROC_HVS_DENOISE_xxx....
Definition: va_vpp.h:1345
uint16_t qp
QP for encoding, used for HVS Denoise.
Definition: va_vpp.h:1330
Total color correction filter parametrization.
Definition: va_vpp.h:1292
VAProcTotalColorCorrectionType attrib
Color to correct.
Definition: va_vpp.h:1296
VAProcFilterType type
Filter type. Shall be set to VAProcFilterTotalColorCorrection.
Definition: va_vpp.h:1294
float value
Color correction value.
Definition: va_vpp.h:1298
Default filter parametrization.
Definition: va_vpp.h:1156
VAProcFilterType type
Filter type.
Definition: va_vpp.h:1158
float value
Value.
Definition: va_vpp.h:1160
Specification of values supported by the filter.
Definition: va_vpp.h:669
float min_value
Minimum value supported, inclusive.
Definition: va_vpp.h:671
float default_value
Default value.
Definition: va_vpp.h:675
float step
Step value that alters the filter behaviour in a sensible way.
Definition: va_vpp.h:677
float max_value
Maximum value supported, inclusive.
Definition: va_vpp.h:673
Video processing pipeline capabilities.
Definition: va_vpp.h:576
uint32_t blend_flags
Blend flags. See "Video blending flags".
Definition: va_vpp.h:621
uint32_t num_output_color_standards
Number of elements in output_color_standards array.
Definition: va_vpp.h:592
uint32_t num_input_color_standards
Number of elements in input_color_standards array.
Definition: va_vpp.h:588
uint32_t min_input_height
Min supported input height in pixels.
Definition: va_vpp.h:650
uint32_t max_input_height
Max supported input height in pixels.
Definition: va_vpp.h:646
VAProcColorStandardType * input_color_standards
List of color standards supported on input.
Definition: va_vpp.h:586
uint32_t max_output_width
Max supported output width in pixels.
Definition: va_vpp.h:653
uint32_t mirror_flags
Mirroring flags.
Definition: va_vpp.h:630
uint32_t num_additional_outputs
Number of additional output surfaces supported by the pipeline
Definition: va_vpp.h:632
uint32_t num_backward_references
Number of backward reference frames that are needed.
Definition: va_vpp.h:584
uint32_t rotation_flags
Rotation flags.
Definition: va_vpp.h:619
uint32_t * input_pixel_format
List of input pixel formats in fourcc.
Definition: va_vpp.h:637
uint32_t filter_flags
Extra filter flags. See VAProcPipelineParameterBuffer::filter_flags.
Definition: va_vpp.h:580
VAProcColorStandardType * output_color_standards
List of color standards supported on output.
Definition: va_vpp.h:590
uint32_t min_input_width
Min supported input width in pixels.
Definition: va_vpp.h:648
uint32_t max_input_width
Max supported input width in pixels.
Definition: va_vpp.h:644
uint32_t * output_pixel_format
List of output pixel formats in fourcc.
Definition: va_vpp.h:641
uint32_t min_output_height
Min supported output height in pixels.
Definition: va_vpp.h:659
uint32_t max_output_height
Max supported output height in pixels.
Definition: va_vpp.h:655
uint32_t num_forward_references
Number of forward reference frames that are needed.
Definition: va_vpp.h:582
uint32_t num_input_pixel_formats
Number of elements in input_pixel_format array.
Definition: va_vpp.h:635
uint32_t num_output_pixel_formats
Number of elements in output_pixel_format array.
Definition: va_vpp.h:639
uint32_t pipeline_flags
Pipeline flags. See VAProcPipelineParameterBuffer::pipeline_flags.
Definition: va_vpp.h:578
uint32_t min_output_width
Min supported output width in pixels.
Definition: va_vpp.h:657
Video processing pipeline configuration.
Definition: va_vpp.h:886
VASurfaceID * forward_references
Array of forward reference frames (past frames).
Definition: va_vpp.h:993
VAProcColorProperties input_color_properties
Input Color Properties. See "VAProcColorProperties".
Definition: va_vpp.h:1114
VAProcColorStandardType surface_color_standard
Requested input color standard.
Definition: va_vpp.h:914
const VARectangle * surface_region
Region within the source surface to be processed.
Definition: va_vpp.h:902
uint32_t num_filters
Actual number of filters.
Definition: va_vpp.h:991
VASurfaceID * backward_references
Array of backward reference frames (future frames).
Definition: va_vpp.h:997
uint32_t num_additional_outputs
Number of additional output surfaces.
Definition: va_vpp.h:1055
uint32_t num_forward_references
Number of forward reference frames that were supplied.
Definition: va_vpp.h:995
uint32_t mirror_state
mirroring state. See "Mirroring directions".
Definition: va_vpp.h:1051
uint32_t pipeline_flags
Pipeline filters. See video pipeline flags.
Definition: va_vpp.h:956
const VARectangle * output_region
Region within the output surface.
Definition: va_vpp.h:925
uint32_t output_background_color
Background color.
Definition: va_vpp.h:941
VAProcColorProperties output_color_properties
Output Color Properties. See "VAProcColorProperties".
Definition: va_vpp.h:1118
VASurfaceID surface
Source surface ID.
Definition: va_vpp.h:894
uint32_t rotation_state
Rotation state. See rotation angles.
Definition: va_vpp.h:1024
uint32_t filter_flags
Extra filter flags. See vaPutSurface() flags.
Definition: va_vpp.h:976
VAProcColorStandardType output_color_standard
Requested output color standard.
Definition: va_vpp.h:948
VABufferID * filters
Array of filters to apply to the surface.
Definition: va_vpp.h:989
VAHdrMetaData * output_hdr_metadata
Output High Dynamic Metadata.
Definition: va_vpp.h:1128
VAProcMode processing_mode
Processing mode. See "VAProcMode".
Definition: va_vpp.h:1122
uint32_t num_backward_references
Number of backward reference frames that were supplied.
Definition: va_vpp.h:999
const VABlendState * blend_state
blending state. See "Video blending state definition".
Definition: va_vpp.h:1043
VASurfaceID * additional_outputs
Array of additional output surfaces.
Definition: va_vpp.h:1053
uint32_t input_surface_flag
Flag to indicate the input surface flag.
Definition: va_vpp.h:1093
uint32_t output_surface_flag
Flag to indicate the output surface flag.
Definition: va_vpp.h:1110
Structure to describe rectangle.
Definition: va.h:406