ALOGE("%s:: CSC_METHOD_HW can't open HW", __func__);
free(csc_handle);
csc_handle = NULL;
+ return CSC_ErrorNotInit;
}
}
+ ALOGV("%s:: CSC_METHOD=%d", __func__, csc_handle->csc_method);
+
return ret;
}
if ((csc_handle->csc_method == CSC_METHOD_HW) &&
(csc_handle->csc_hw_handle == NULL))
- csc_init_hw(handle);
+ ret = csc_init_hw(handle);
+
+ if (ret != CSC_ErrorNone)
+ return ret;
csc_set_format(csc_handle);
csc_set_buffer(csc_handle);
pVideoEnc->pMFCEncOutputBuffer[i] = (CODEC_ENC_BUFFER *)Exynos_OSAL_Malloc(sizeof(CODEC_ENC_BUFFER));
+ if (!pVideoEnc->pMFCEncOutputBuffer[i]) {
+ ret = OMX_ErrorInsufficientResources;
+ goto ALLOC_FAILED;
+ }
+
if (pOutbufOps->Get_Buffer) {
if (pOutbufOps->Get_Buffer(pH264Enc->hMFCH264Handle.hMFCHandle, i, &pBuffer) != VIDEO_ERROR_NONE) {
Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to get Output buffer info");
FunctionOut();
return ret;
+
+ALLOC_FAILED:
+ for (i = 0; i < MFC_OUTPUT_BUFFER_NUM_MAX; i++) {
+ if (pVideoEnc->pMFCEncOutputBuffer[i])
+ Exynos_OSAL_Free(pVideoEnc->pMFCEncOutputBuffer[i]);
+ }
+ Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to allocate buffers");
+ FunctionOut();
+
+ return ret;
}
OMX_ERRORTYPE Exynos_H264Enc_GetParameter(
pVideoEnc->pMFCEncOutputBuffer[i] = (CODEC_ENC_BUFFER *)Exynos_OSAL_Malloc(sizeof(CODEC_ENC_BUFFER));
+ if (!pVideoEnc->pMFCEncOutputBuffer[i]) {
+ ret = OMX_ErrorInsufficientResources;
+ goto ALLOC_FAILED;
+ }
+
if (pOutbufOps->Get_Buffer) {
if (pOutbufOps->Get_Buffer(pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle, i, &pBuffer) != VIDEO_ERROR_NONE) {
Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to get Output buffer info");
FunctionOut();
return ret;
+
+ALLOC_FAILED:
+ for (i = 0; i < MFC_OUTPUT_BUFFER_NUM_MAX; i++) {
+ if (pVideoEnc->pMFCEncOutputBuffer[i])
+ Exynos_OSAL_Free(pVideoEnc->pMFCEncOutputBuffer[i]);
+ }
+ Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to allocate buffers");
+
+ FunctionOut();
+ return ret;
}
OMX_ERRORTYPE Exynos_Mpeg4Enc_GetParameter(