• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Keine 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

Revisionea0ed78508bbc2dc000bdbd5b50f4e3665fe27a4 (tree)
Zeit2013-05-28 17:19:08
AutorGwenole Beauchesne <gwenole.beauchesne@inte...>
CommiterXiang, Haihao

Log Message

API: h264 encode: add new VA config attributes (max-slices, slice-structure).

Ändern Zusammenfassung

Diff

--- a/va/va.h
+++ b/va/va.h
@@ -308,6 +308,30 @@ typedef enum
308308 * bits).
309309 */
310310 VAConfigAttribEncMaxRefFrames = 13,
311+ /**
312+ * \brief Maximum number of slices per frame. Read-only.
313+ *
314+ * This attribute determines the maximum number of slices the
315+ * driver can support to encode a single frame.
316+ */
317+ VAConfigAttribEncMaxSlices = 14,
318+ /**
319+ * \brief Slice structure. Read-only.
320+ *
321+ * This attribute determines slice structures supported by the
322+ * driver for encoding. This attribute is a hint to the user so
323+ * that he can choose a suitable surface size and how to arrange
324+ * the encoding process of multiple slices per frame.
325+ *
326+ * More specifically, for H.264 encoding, this attribute
327+ * determines the range of accepted values to
328+ * VAEncSliceParameterBufferH264::macroblock_address and
329+ * VAEncSliceParameterBufferH264::num_macroblocks.
330+ *
331+ * See \c VA_ENC_SLICE_STRUCTURE_xxx for the supported slice
332+ * structure types.
333+ */
334+ VAConfigAttribEncSliceStructure = 15,
311335 /**@}*/
312336 } VAConfigAttribType;
313337
@@ -360,6 +384,16 @@ typedef struct _VAConfigAttrib {
360384 #define VA_ENC_INTERLACED_PAFF 0x00000008
361385 /**@}*/
362386
387+/** @name Attribute values for VAConfigAttribEncSliceStructure */
388+/**@{*/
389+/** \brief Driver supports an arbitrary number of rows per slice. */
390+#define VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS 0x00000000
391+/** \brief Driver supports a power-of-two number of rows per slice. */
392+#define VA_ENC_SLICE_STRUCTURE_POWER_OF_TWO_ROWS 0x00000001
393+/** \brief Driver supports an arbitrary number of rows per slice. */
394+#define VA_ENC_SLICE_STRUCTURE_ARBITRARY_MACROBLOCKS 0x00000002
395+/**@}*/
396+
363397 /*
364398 * if an attribute is not applicable for a given
365399 * profile/entrypoint pair, then set the value to the following