[Libva] [PATCH 39/42] API: h264 encode: add more explicit packed header types for H.264.

Xiang, Haihao haihao.xiang at intel.com
Mon May 13 00:52:03 PDT 2013


From: Gwenole Beauchesne <gwenole.beauchesne at intel.com>

---
 va/va_enc_h264.h |   37 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/va/va_enc_h264.h b/va/va_enc_h264.h
index 540dfdd..974e7dc 100644
--- a/va/va_enc_h264.h
+++ b/va/va_enc_h264.h
@@ -71,9 +71,44 @@ extern "C" {
  * associated packed header data buffer shall contain the start code
  * prefix 0x000001 followed by the complete NAL unit, thus also
  * including the \c nal_unit_type.
+ *
+ * Note: the start code prefix can contain an arbitrary number of leading
+ * zeros. The driver will skip them for emulation prevention bytes insertion,
+ * if necessary.
  */
 typedef enum {
     /**
+     * \brief Packed Sequence Parameter Set (SPS).
+     *
+     * The corresponding packed header data buffer shall contain the
+     * complete seq_parameter_set_rbsp() syntax element.
+     *
+     * Note: packed \c nal_unit_type shall be equal to 7.
+     */
+    VAEncPackedHeaderH264_SPS   = VAEncPackedHeaderSequence,
+    /**
+     * \brief Packed Picture Parameter Set (PPS).
+     *
+     * The corresponding packed header data buffer shall contain the
+     * complete pic_parameter_set_rbsp() syntax element.
+     *
+     * Note: packed \c nal_unit_type shall be equal to 8.
+     */
+    VAEncPackedHeaderH264_PPS   = VAEncPackedHeaderPicture,
+    /**
+     * \brief Packed slice header.
+     *
+     * The corresponding packed header data buffer shall contain the
+     * \c slice_header() syntax element only, along with any start
+     * code prefix and NAL unit type preceeding it. i.e. this means
+     * that the buffer does not contain any of the \c slice_data() or
+     * the \c rbsp_slice_trailing_bits().
+     *
+     * Note: packed \c nal_unit_type shall be equal to 1 (non-IDR
+     * picture), or 5 (IDR picture).
+     */
+    VAEncPackedHeaderH264_Slice = VAEncPackedHeaderSlice,
+    /**
      * \brief Packed Supplemental Enhancement Information (SEI).
      *
      * The corresponding packed header data buffer shall contain the
@@ -82,7 +117,7 @@ typedef enum {
      *
      * Note: packed \c nal_unit_type shall be equal to 6.
      */
-    VAEncPackedHeaderH264_SEI = (VAEncPackedHeaderMiscMask | 1),
+    VAEncPackedHeaderH264_SEI   = (VAEncPackedHeaderMiscMask | 1),
 } VAEncPackedHeaderTypeH264;
 
 /**
-- 
1.7.4.1



More information about the Libva mailing list