summaryrefslogtreecommitdiffstats
path: root/mm-core
diff options
context:
space:
mode:
authorJorge Solano Altamirano <jsolano@codeaurora.org>2014-01-08 11:04:57 -0800
committerJorge Solano Altamirano <jsolano@codeaurora.org>2014-01-09 18:47:03 -0800
commit41a0f78f710fc1350345955ae13e2ec17102875c (patch)
tree1e61279ae1e700feaf85f2ff1099b3656e1d569d /mm-core
parent5642ef9215ca1d1849c6cdc9c0e84a6cae2c1249 (diff)
downloadandroid_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.h11
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 {