summaryrefslogtreecommitdiff
path: root/omx
diff options
context:
space:
mode:
authorvenkatesh <venkateshv@ti.com>2009-10-30 00:34:08 -0500
committerJames Dong <jdong@google.com>2009-11-06 10:20:59 -0800
commit6e0a6fe086b8d841a0d06a7b3fbd2b26e784c19b (patch)
tree5b27423dffe4cef8bf522a2beecc753616593289 /omx
parent300f5d1faaea6cefa5f5cd3cec785cb82fbe4551 (diff)
downloadomap3-6e0a6fe086b8d841a0d06a7b3fbd2b26e784c19b.tar.gz
Fix the random MMU fault issue in M4V encoder
Couple of input params were missing on the OMX side. The SN accesses an unmapped region and faults Added ulQpMax,ulQpMin to MP4VE_GPP_SN_UALGInputParams reduced the size of ResyncData to 1620 to match SN header file Originally from: https://partner.source.android.com/g/#change,1401
Diffstat (limited to 'omx')
-rw-r--r--omx/video/src/openmax_il/video_encode/inc/OMX_VideoEnc_DSP.h4
-rw-r--r--omx/video/src/openmax_il/video_encode/src/OMX_VideoEnc_Utils.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/omx/video/src/openmax_il/video_encode/inc/OMX_VideoEnc_DSP.h b/omx/video/src/openmax_il/video_encode/inc/OMX_VideoEnc_DSP.h
index a01d49e..489f3f6 100644
--- a/omx/video/src/openmax_il/video_encode/inc/OMX_VideoEnc_DSP.h
+++ b/omx/video/src/openmax_il/video_encode/inc/OMX_VideoEnc_DSP.h
@@ -382,6 +382,8 @@ typedef struct MP4VE_GPP_SN_UALGInputParams {
unsigned int ulQPInter; /* default QP for P frame, range 1 to 31 */
unsigned int ulLastFrame;
unsigned int ulcapturewidth;
+ unsigned int ulQpMax;
+ unsigned int ulQpMin;
} MP4VE_GPP_SN_UALGInputParams;
/* MPEG4/H263 Encoder DSP s/n run-time output parameters */
@@ -395,7 +397,7 @@ typedef struct MP4VE_GPP_SN_UALGOutputParams {
unsigned char ResyncData[4800];
#else
unsigned char MVData[12960];
- unsigned char ResyncData[6480];
+ unsigned char ResyncData[1620];
#endif
} MP4VE_GPP_SN_UALGOutputParams;
diff --git a/omx/video/src/openmax_il/video_encode/src/OMX_VideoEnc_Utils.c b/omx/video/src/openmax_il/video_encode/src/OMX_VideoEnc_Utils.c
index 343453a..e62de65 100644
--- a/omx/video/src/openmax_il/video_encode/src/OMX_VideoEnc_Utils.c
+++ b/omx/video/src/openmax_il/video_encode/src/OMX_VideoEnc_Utils.c
@@ -2702,6 +2702,9 @@ OMX_ERRORTYPE OMX_VIDENC_Process_FilledInBuf(VIDENC_COMPONENT_PRIVATE* pComponen
((MP4VE_GPP_SN_UALGInputParams*)pUalgInpParams)->ulQPInter = 8;
((MP4VE_GPP_SN_UALGInputParams*)pUalgInpParams)->ulLastFrame = 0;
((MP4VE_GPP_SN_UALGInputParams*)pUalgInpParams)->ulcapturewidth = 0;
+ ((MP4VE_GPP_SN_UALGInputParams*)pUalgInpParams)->ulQpMax = 31;
+ ((MP4VE_GPP_SN_UALGInputParams*)pUalgInpParams)->ulQpMin = 2;
+
++pComponentPrivate->nFrameCnt;
OMX_PRDSP1(pComponentPrivate->dbg,
"TargetFrameRate -> %d\n\