setParam = pExynosOutputPort->portDefinition.format.video.nBitrate;
pEncOps->Set_BitRate(pH264Enc->hMFCH264Handle.hMFCHandle, setParam);
}
- if (pH264Param->FrameRate != (int)((pExynosOutputPort->portDefinition.format.video.xFramerate) >> 16)) {
+ if (pH264Param->FrameRate != (int)((pExynosInputPort->portDefinition.format.video.xFramerate) >> 16)) {
setParam = (pExynosInputPort->portDefinition.format.video.xFramerate) >> 16;
pEncOps->Set_FrameRate(pH264Enc->hMFCH264Handle.hMFCHandle, setParam);
}
ret = H264CodecDstSetup(pOMXComponent);
}
+ if (pVideoEnc->configChange == OMX_TRUE) {
+ Change_H264Enc_Param(pExynosComponent);
+ pVideoEnc->configChange = OMX_FALSE;
+ }
if ((pSrcInputData->dataLen >= 0) ||
((pSrcInputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS)) {
OMX_U32 nAllocLen[MFC_INPUT_BUFFER_PLANE] = {0, 0};
setParam = pExynosOutputPort->portDefinition.format.video.nBitrate;
pEncOps->Set_BitRate(pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle, setParam);
}
- if (pMpeg4Param->TimeIncreamentRes != (int)((pExynosOutputPort->portDefinition.format.video.xFramerate) >> 16)) {
+ if (pMpeg4Param->TimeIncreamentRes != (int)((pExynosInputPort->portDefinition.format.video.xFramerate) >> 16)) {
setParam = (pExynosInputPort->portDefinition.format.video.xFramerate) >> 16;
pEncOps->Set_FrameRate(pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle, setParam);
}
setParam = pExynosOutputPort->portDefinition.format.video.nBitrate;
pEncOps->Set_BitRate(pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle, setParam);
}
- if (pH263Param->FrameRate != (int)((pExynosOutputPort->portDefinition.format.video.xFramerate) >> 16)) {
+ if (pH263Param->FrameRate != (int)((pExynosInputPort->portDefinition.format.video.xFramerate) >> 16)) {
setParam = (pExynosInputPort->portDefinition.format.video.xFramerate) >> 16;
pEncOps->Set_FrameRate(pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle, setParam);
}
ret = Mpeg4CodecDstSetup(pOMXComponent);
}
+ if (pVideoEnc->configChange == OMX_TRUE) {
+ if (pMpeg4Enc->hMFCMpeg4Handle.codecType == CODEC_TYPE_MPEG4)
+ Change_Mpeg4Enc_Param(pExynosComponent);
+ else
+ Change_H263Enc_Param(pExynosComponent);
+ pVideoEnc->configChange = OMX_FALSE;
+ }
if ((pSrcInputData->dataLen >= 0) ||
((pSrcInputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS)) {
OMX_U32 nAllocLen[MFC_INPUT_BUFFER_PLANE] = {0, 0};