VA-API  2.22.0
va_fei.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2007-2017 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 
30 #ifndef VA_FEI_H
31 #define VA_FEI_H
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 #include <stdint.h>
38 
62 #define VA_FEI_FUNCTION_ENC 0x00000001
64 #define VA_FEI_FUNCTION_PAK 0x00000002
66 #define VA_FEI_FUNCTION_ENC_PAK 0x00000004
67 
71 typedef union _VAConfigAttribValStats {
72  struct {
78  uint32_t num_outputs : 3;
80  uint32_t interlaced : 1;
81  uint32_t reserved : 20;
82  } bits;
83  uint32_t value;
85 
86 typedef struct _VAPictureStats {
87  VASurfaceID picture_id;
88  /*
89  * see flags below.
90  */
91  uint32_t flags;
92 } VAPictureStats;
93 /* flags in VAPictureStats could be one of the following */
94 #define VA_PICTURE_STATS_INVALID 0x00000001
95 #define VA_PICTURE_STATS_PROGRESSIVE 0x00000000
96 #define VA_PICTURE_STATS_TOP_FIELD 0x00000002
97 #define VA_PICTURE_STATS_BOTTOM_FIELD 0x00000004
102 #define VA_PICTURE_STATS_CONTENT_UPDATED 0x00000010
103 
107 typedef struct _VAStatsStatisticsParameter {
109  VAPictureStats input;
110 
112  VAPictureStats *past_references;
113 
116 
126 
128  VAPictureStats *future_references;
129 
132 
142 
149 
156 
163 
166 #ifdef __cplusplus
167 }
168 #endif
169 
170 #endif /* VA_FEI_H */
VAGenericID VABufferID
Definition: va.h:2019
Motion Vector and Statistics frame level controls. common part VAStatsStatisticsParameterBufferType f...
Definition: va_fei.h:107
VABufferID mv_predictor
MV predictor. It is valid only when mv_predictor_ctrl is not 0. Each block has a pair of MVs,...
Definition: va_fei.h:155
VAPictureStats * past_references
Past reference surface ID pointer.
Definition: va_fei.h:112
VABufferID * future_ref_stat_buf
Statistics output for future reference surface. Only enabling statistics output for future reference ...
Definition: va_fei.h:141
VABufferID qp
QP input buffer. It is valid only when mb_qp is set to 1. The data in this buffer correspond to the i...
Definition: va_fei.h:161
VABufferID * outputs
ID of the output buffer. The number of outputs is determined by below DisableMVOutput and DisableStat...
Definition: va_fei.h:148
VABufferID * past_ref_stat_buf
Statistics output for past reference surface. Only enabling statistics output for past reference pict...
Definition: va_fei.h:125
VAPictureStats input
Source surface ID.
Definition: va_fei.h:109
uint32_t num_future_references
Future reference surface number
Definition: va_fei.h:131
VAPictureStats * future_references
Future reference surface ID pointer.
Definition: va_fei.h:128
uint32_t num_past_references
Past reference surface number
Definition: va_fei.h:115
Attribute value for VAConfigAttribStats.
Definition: va_fei.h:71
uint32_t num_outputs
Number of supported output buffers for VAStatsStatisticsParameter->outputs.
Definition: va_fei.h:78
uint32_t max_num_future_references
Max number of future reference frames that are supported.
Definition: va_fei.h:76
uint32_t max_num_past_references
Max number of past reference frames that are supported.
Definition: va_fei.h:74
uint32_t interlaced
Interlaced content is supported.
Definition: va_fei.h:80