diff options
author | Jorge Solano Altamirano <jsolano@codeaurora.org> | 2014-01-08 11:04:57 -0800 |
---|---|---|
committer | Jorge Solano Altamirano <jsolano@codeaurora.org> | 2014-01-09 18:47:03 -0800 |
commit | 41a0f78f710fc1350345955ae13e2ec17102875c (patch) | |
tree | 1e61279ae1e700feaf85f2ff1099b3656e1d569d /mm-core | |
parent | 5642ef9215ca1d1849c6cdc9c0e84a6cae2c1249 (diff) | |
download | android_hardware_qcom_media-41a0f78f710fc1350345955ae13e2ec17102875c.tar.gz android_hardware_qcom_media-41a0f78f710fc1350345955ae13e2ec17102875c.tar.bz2 android_hardware_qcom_media-41a0f78f710fc1350345955ae13e2ec17102875c.zip |
mm-video-v4l2: vdec: add input frame bits info as extradata
Provides information regarding number of bits in the frame (i.e. frame
size expressed in bits) and also the number of bits in frame header
(i.e. frame header size expressed in bits). Number of bits in header is
reported as:
For H264, sum of all slice headers bits for all the slices in the frame.
For all other codecs is the number of bits in the frame header.
To get the extra data use the standard OpenMAX IL for custom indexes:
Request the index value using:
"OMX.QCOM.index.param.video.InputBitsInfoExtradata"
Or directly using the index:
OMX_QcomIndexParamVideoInputBitsInfoExtraData
Change-Id: I69808a221b1c0de7012fddaa14c4b92bf92992af
Diffstat (limited to 'mm-core')
-rw-r--r-- | mm-core/inc/OMX_QCOMExtns.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/mm-core/inc/OMX_QCOMExtns.h b/mm-core/inc/OMX_QCOMExtns.h index ad163d25..f9778355 100644 --- a/mm-core/inc/OMX_QCOMExtns.h +++ b/mm-core/inc/OMX_QCOMExtns.h @@ -439,6 +439,9 @@ enum OMX_QCOM_EXTN_INDEXTYPE /* "OMX.QCOM.index.param.video.QPExtradata" */ OMX_QcomIndexParamVideoQPExtraData = 0x7F000035, + + /* "OMX.QCOM.index.param.video.InputBitsInfoExtradata" */ + OMX_QcomIndexParamVideoInputBitsInfoExtraData = 0x7F000036, }; /** @@ -865,6 +868,12 @@ typedef struct OMX_QCOM_EXTRADATA_QP OMX_U32 nQP; } OMX_QCOM_EXTRADATA_QP; +typedef struct OMX_QCOM_EXTRADATA_BITS_INFO +{ + OMX_U32 header_bits; + OMX_U32 frame_bits; +} OMX_QCOM_EXTRADATA_BITS_INFO; + typedef struct OMX_QCOM_EXTRADATA_FRAMEINFO { // common frame meta data. interlace related info removed @@ -921,6 +930,7 @@ typedef enum OMX_QCOM_EXTRADATATYPE OMX_ExtraDataVideoLTRInfo = 0x7F00000b, OMX_ExtraDataFramePackingArrangement = 0x7F00000c, OMX_ExtraDataQP = 0x7F00000d, + OMX_ExtraDataInputBitsInfo = 0x7F00000e, } OMX_QCOM_EXTRADATATYPE; typedef struct OMX_STREAMINTERLACEFORMATTYPE { @@ -1176,6 +1186,7 @@ typedef struct QOMX_INDEXDOWNSCALAR { #define OMX_QCOM_INDEX_PARAM_VIDEO_SLICEDELIVERYMODE "OMX.QCOM.index.param.SliceDeliveryMode" #define OMX_QCOM_INDEX_PARAM_VIDEO_FRAMEPACKING_EXTRADATA "OMX.QCOM.index.param.video.FramePackingExtradata" #define OMX_QCOM_INDEX_PARAM_VIDEO_QP_EXTRADATA "OMX.QCOM.index.param.video.QPExtradata" +#define OMX_QCOM_INDEX_PARAM_VIDEO_INPUTBITSINFO_EXTRADATA "OMX.QCOM.index.param.video.InputBitsInfoExtradata" #define OMX_QCOM_INDEX_CONFIG_VIDEO_FRAMEPACKING_INFO "OMX.QCOM.index.config.video.FramePackingInfo" typedef enum { |