summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Yuan <shengquan.yuan@intel.com>2014-05-20 16:16:40 +0800
committerAustin Yuan <shengquan.yuan@intel.com>2014-05-20 16:16:40 +0800
commit753ec174c07ab1389f57ab4ab16e91d517219bae (patch)
tree760d6096c3f77820bbb968327c1435bebf6aa5a7
parent51901e340cc467a2d562491121e0de38f5a066fe (diff)
downloadlibva-753ec174c07ab1389f57ab4ab16e91d517219bae.tar.gz
va.h: add data structure for the structure of temporal layer encoding
Add VAEncMiscParameterTemporalLayerStructure number_of_layers: how many layers periodicity/layer_id is used to inform driver the layer structure so that driver can prepare for the bitrate control. These information can be concluded from VAEncMiscParameter and VAEncPictureParameterBuffer, but it needs a round of frames encoding and might be too later for bitrate control. They are the conveyance of webRTC definition at (http://tools.ietf.org/html/draft-garcia-simulcast-and-layered-video-webrtc-00#page-5 ) From zhangfei.zhang@intel.com Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
-rw-r--r--va/va.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/va/va.h b/va/va.h
index 1e54c17..6953425 100644
--- a/va/va.h
+++ b/va/va.h
@@ -1400,6 +1400,8 @@ typedef enum
VAEncMiscParameterTypeROI = 10,
/** \brief Buffer type used for Cyclic intra refresh */
VAEncMiscParameterTypeCIR = 11,
+ /** \brief Buffer type used for temporal layer structure */
+ VAEncMiscParameterTypeTemporalLayerStructure = 12,
/* Intel specific types start at 1001 */
/* VAEntrypointEncFEIIntel */
@@ -1460,6 +1462,17 @@ typedef struct _VAEncMiscParameterBuffer
unsigned int data[0];
} VAEncMiscParameterBuffer;
+/** \brief Temporal layer Structure*/
+typedef struct _VAEncMiscParameterTemporalLayerStructure
+{
+ /* The number of temporal layers */
+ unsigned int number_of_layers;
+ /* this is Length of the sequence defining frame layer membership. Should be 1-32 */
+ unsigned int periodicity;
+ /*This is Array indicating the layer id for each frame in a sequence of length ts_periodicity.*/
+ unsigned int layer_id[32];
+} VAEncMiscParameterTemporalLayerStructure;
+
/** \brief Rate control parameters */
typedef struct _VAEncMiscParameterRateControl