hardware/intel/common/libva
Revision | 4033745a571c228133347446cdeacf80800e78ed (tree) |
---|---|
Time | 2017-08-21 17:37:24 |
Author | Sreerenj Balachandran <sreerenj.balachandran@inte...> |
Commiter | Xiang, Haihao |
Add support for encoding QP buffer
VAEncQPBufferH264 structure is defined to hold QP per 16x16 macroblock
for H.264 encoding, we can add similar structures for other codecs in
the future. VAEncQPBufferType is added to pass the corresponding
QP buffer to the driver for each codec.
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Jonathan Bian <jonathan.bian@intel.com>
@@ -1123,6 +1123,15 @@ typedef enum | ||
1123 | 1123 | VAEncMiscParameterBufferType = 27, |
1124 | 1124 | VAEncMacroblockParameterBufferType = 28, |
1125 | 1125 | VAEncMacroblockMapBufferType = 29, |
1126 | + | |
1127 | + /** | |
1128 | + * \brief Encoding QP buffer | |
1129 | + * | |
1130 | + * This buffer contains QP per MB for encoding. Currently | |
1131 | + * VAEncQPBufferH264 is defined for H.264 encoding, see | |
1132 | + * #VAEncQPBufferH264 for details | |
1133 | + */ | |
1134 | + VAEncQPBufferType = 30, | |
1126 | 1135 | /* Following are video processing buffer types */ |
1127 | 1136 | /** |
1128 | 1137 | * \brief Video processing pipeline parameter buffer. |
@@ -368,6 +368,15 @@ typedef struct _VAEncPictureParameterBufferH264 { | ||
368 | 368 | } pic_fields; |
369 | 369 | } VAEncPictureParameterBufferH264; |
370 | 370 | |
371 | +typedef struct _VAEncQPBufferH264 { | |
372 | + /* | |
373 | + * \brief This structure holds QP per 16x16 macroblock. Buffer size shall be | |
374 | + * sufficient to fit the slice or frame to be encoded depending on if it is a | |
375 | + * slice level or frame level encoding. | |
376 | + */ | |
377 | + uint8_t qp; | |
378 | +} VAEncQPBufferH264; | |
379 | + | |
371 | 380 | /** |
372 | 381 | * \brief Slice parameter for H.264 encoding in baseline, main & high profiles. |
373 | 382 | * |