[Libva] [PATCH] Add Sequence Display Extension support for MPEG2 encoding

Sang, Oliver oliver.sang at intel.com
Wed Feb 4 20:18:08 PST 2015


Hello,

Could we have this patch to be in staging branch? Carl and Ping can supply detail information upon request.

BR
Oliver

>From bafae1f7a006a20ed460712952426f95f3192fd0 Mon Sep 17 00:00:00 2001
From: xsang <oliver.sang at intel.com>
Date: Thu, 5 Feb 2015 12:11:12 +0800
Subject: [PATCH] Add Sequence Display Extension support for MPEG2 encoding

Add new buffer type VAEncMiscParameterTypeExtenstion for MPEG2 Sequence
Extenstion, and add Sequence display extension data structure used for
VAEncMiscParameterTypeExtensionData buffer type.
Sequence extension will follow sequence header in the bitstream.
---
 va/va.h           |  2 ++
 va/va_enc_mpeg2.h | 21 +++++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/va/va.h b/va/va.h
index 5796579..beb99a4 100644
--- a/va/va.h
+++ b/va/va.h
@@ -1547,6 +1547,8 @@ typedef enum
     VAEncMiscParameterTypeDirtyROI      = 13,
     /** \brief Buffer type used for parallel BRC parameters. */
     VAEncMiscParameterTypeParallelBRC   = 14,
+    /** \brief Buffer type used for extension data parameters. */
+    VAEncMiscParameterTypeExtensionData = 15,

     /* Intel specific types start at 1001 */
     /* VAEntrypointEncFEIIntel */
diff --git a/va/va_enc_mpeg2.h b/va/va_enc_mpeg2.h
index cee974b..ae6c930 100644
--- a/va/va_enc_mpeg2.h
+++ b/va/va_enc_mpeg2.h
@@ -282,6 +282,27 @@ typedef struct _VAEncSliceParameterBufferMPEG2 {
     int is_intra_slice;
 } VAEncSliceParameterBufferMPEG2;

+/** 
+ * \brief Sequence display extension data structure used for
+ * VAEncMiscParameterTypeExtensionData buffer type.
+ *
+ * The element definition in this structure has 1 : 1 correspondence
+ * with the same element defined in sequence_display_extension()
+ * from mpeg2 spec.
+ *
+ */
+typedef struct _VAEncMiscParameterExtensionDataSeqDisplayMPEG2
+{
+    unsigned char extension_start_code_identifier;
+    unsigned char video_format;
+    unsigned char colour_description;
+    unsigned char colour_primaries;
+    unsigned char transfer_characteristics;
+    unsigned char matrix_coefficients;
+    unsigned short display_horizontal_size;
+    unsigned short display_vertical_size;
+} VAEncMiscParameterExtensionDataSeqDisplayMPEG2;
+
 /**@}*/

 #ifdef __cplusplus


More information about the Libva mailing list