diff options
author | venkatesh <venkateshv@ti.com> | 2009-10-30 00:34:08 -0500 |
---|---|---|
committer | James Dong <jdong@google.com> | 2009-11-06 10:20:59 -0800 |
commit | 6e0a6fe086b8d841a0d06a7b3fbd2b26e784c19b (patch) | |
tree | 5b27423dffe4cef8bf522a2beecc753616593289 /omx | |
parent | 300f5d1faaea6cefa5f5cd3cec785cb82fbe4551 (diff) | |
download | omap3-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.h | 4 | ||||
-rw-r--r-- | omx/video/src/openmax_il/video_encode/src/OMX_VideoEnc_Utils.c | 3 |
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\ |