summaryrefslogtreecommitdiffstats
path: root/sec_mm
diff options
context:
space:
mode:
Diffstat (limited to 'sec_mm')
-rw-r--r--sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c60
-rw-r--r--sec_mm/sec_omx/sec_codecs/video/mfc_c110/enc/src/SsbSipMfcEncAPI.c84
-rw-r--r--sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c7
-rw-r--r--sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c7
-rw-r--r--sec_mm/sec_omx/sec_omx_core/SEC_OMX_Core.c39
-rw-r--r--sec_mm/sec_omx/sec_osal/Android.mk11
-rw-r--r--sec_mm/sec_omx/sec_osal/SEC_OSAL_Buffer.cpp5
7 files changed, 113 insertions, 100 deletions
diff --git a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c
index 8e47683..6c64ef8 100644
--- a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c
+++ b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c
@@ -56,8 +56,8 @@ static mfc_packed_mode isPBPacked(_MFCLIB *pCtx, int length)
while (1) {
while (startCode != USR_DATA_START_CODE) {
if (startCode == VOP_START_CODE) {
- LOGV("isPBPacked: VOP START Found !!.....return\n");
- LOGV("isPBPacked: Non Packed PB\n");
+ ALOGV("isPBPacked: VOP START Found !!.....return\n");
+ ALOGV("isPBPacked: Non Packed PB\n");
return MFC_UNPACKED_PB;
}
getAByte(strmBuffer, &startCode);
@@ -65,11 +65,11 @@ static mfc_packed_mode isPBPacked(_MFCLIB *pCtx, int length)
if (strmBuffer >= strmBufferEnd)
goto out;
}
- LOGV("isPBPacked: User Data Found !!\n");
+ ALOGV("isPBPacked: User Data Found !!\n");
do {
if (*strmBuffer == 'p') {
- LOGI("isPBPacked: Packed PB\n");
+ ALOGI("isPBPacked: Packed PB\n");
return MFC_PACKED_PB;
}
getAByte(strmBuffer, &startCode);
@@ -80,7 +80,7 @@ static mfc_packed_mode isPBPacked(_MFCLIB *pCtx, int length)
}
out:
- LOGV("isPBPacked: Non Packed PB\n");
+ ALOGV("isPBPacked: Non Packed PB\n");
return MFC_UNPACKED_PB;
}
@@ -94,14 +94,14 @@ void *SsbSipMfcDecOpen(void *value)
pCTX = (_MFCLIB *)malloc(sizeof(_MFCLIB));
if (pCTX == NULL) {
- LOGE("SsbSipMfcDecOpen: malloc failed.\n");
+ ALOGE("SsbSipMfcDecOpen: malloc failed.\n");
return NULL;
}
memset(pCTX, 0, sizeof(_MFCLIB));
hMFCOpen = open(S5PC110_MFC_DEV_NAME, O_RDWR | O_NDELAY);
if (hMFCOpen < 0) {
- LOGE("SsbSipMfcDecOpen: MFC Open failure\n");
+ ALOGE("SsbSipMfcDecOpen: MFC Open failure\n");
return NULL;
}
@@ -110,15 +110,15 @@ void *SsbSipMfcDecOpen(void *value)
DecArg.args.buf_type = *(unsigned int *)value;
ret_code = ioctl(hMFCOpen, IOCTL_MFC_BUF_CACHE, &DecArg);
if (DecArg.ret_code != MFC_RET_OK) {
- LOGE("SsbSipMfcDecOpenExt: IOCTL_MFC_BUF_CACHE (%d) failed\n", DecArg.ret_code);
+ ALOGE("SsbSipMfcDecOpenExt: IOCTL_MFC_BUF_CACHE (%d) failed\n", DecArg.ret_code);
}
} else {
- LOGE("SsbSipMfcDecOpenExt: value is invalid, value: %d\n", *(int *)value);
+ ALOGE("SsbSipMfcDecOpenExt: value is invalid, value: %d\n", *(int *)value);
}
mapped_addr = (unsigned int)mmap(0, MMAP_BUFFER_SIZE_MMAP, PROT_READ | PROT_WRITE, MAP_SHARED, hMFCOpen, 0);
if (!mapped_addr) {
- LOGE("SsbSipMfcDecOpen: FIMV5.0 driver address mapping failed\n");
+ ALOGE("SsbSipMfcDecOpen: FIMV5.0 driver address mapping failed\n");
return NULL;
}
@@ -138,7 +138,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecInit(void *openHandle, SSBSIP_MFC_CODEC_TYPE c
_MFCLIB *pCTX;
if (openHandle == NULL) {
- LOGE("SsbSipMfcDecSetConfig: openHandle is NULL\n");
+ ALOGE("SsbSipMfcDecSetConfig: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
@@ -157,7 +157,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecInit(void *openHandle, SSBSIP_MFC_CODEC_TYPE c
(codec_type != XVID_DEC) &&
(codec_type != VC1RCV_DEC) &&
(codec_type != VC1_DEC)) {
- LOGE("SsbSipMfcDecOpen: Undefined codec type.\n");
+ ALOGE("SsbSipMfcDecOpen: Undefined codec type.\n");
return MFC_RET_INVALID_PARAM;
}
@@ -182,7 +182,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecInit(void *openHandle, SSBSIP_MFC_CODEC_TYPE c
ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_DEC_INIT, &DecArg);
if (DecArg.ret_code != MFC_RET_OK) {
- LOGE("SsbSipMfcDecInit: IOCTL_MFC_DEC_INIT (%d) failed\n", DecArg.ret_code);
+ ALOGE("SsbSipMfcDecInit: IOCTL_MFC_DEC_INIT (%d) failed\n", DecArg.ret_code);
return MFC_RET_DEC_INIT_FAIL;
}
@@ -218,12 +218,12 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecExe(void *openHandle, int lengthBufFill)
mfc_common_args DecArg;
if (openHandle == NULL) {
- LOGE("SsbSipMfcDecExe: openHandle is NULL\n");
+ ALOGE("SsbSipMfcDecExe: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
if ((lengthBufFill < 0) || (lengthBufFill > MAX_DECODER_INPUT_BUFFER_SIZE)) {
- LOGE("SsbSipMfcDecExe: lengthBufFill is invalid. (lengthBufFill=%d)\n", lengthBufFill);
+ ALOGE("SsbSipMfcDecExe: lengthBufFill is invalid. (lengthBufFill=%d)\n", lengthBufFill);
return MFC_RET_INVALID_PARAM;
}
@@ -241,7 +241,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecExe(void *openHandle, int lengthBufFill)
ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_DEC_EXE, &DecArg);
if (DecArg.ret_code != MFC_RET_OK) {
- LOGE("SsbSipMfcDecExe: IOCTL_MFC_DEC_EXE failed(ret : %d)\n", DecArg.ret_code);
+ ALOGE("SsbSipMfcDecExe: IOCTL_MFC_DEC_EXE failed(ret : %d)\n", DecArg.ret_code);
return MFC_RET_DEC_EXE_ERR;
}
@@ -274,7 +274,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecClose(void *openHandle)
mfc_common_args free_arg;
if (openHandle == NULL) {
- LOGE("SsbSipMfcDecClose: openHandle is NULL\n");
+ ALOGE("SsbSipMfcDecClose: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
@@ -308,12 +308,12 @@ void *SsbSipMfcDecGetInBuf(void *openHandle, void **phyInBuf, int inputBufferSiz
mfc_common_args user_addr_arg, phys_addr_arg;
if (inputBufferSize < 0) {
- LOGE("SsbSipMfcDecGetInBuf: inputBufferSize = %d is invalid\n", inputBufferSize);
+ ALOGE("SsbSipMfcDecGetInBuf: inputBufferSize = %d is invalid\n", inputBufferSize);
return NULL;
}
if (openHandle == NULL) {
- LOGE("SsbSipMfcDecGetInBuf: openHandle is NULL\n");
+ ALOGE("SsbSipMfcDecGetInBuf: openHandle is NULL\n");
return NULL;
}
@@ -324,7 +324,7 @@ void *SsbSipMfcDecGetInBuf(void *openHandle, void **phyInBuf, int inputBufferSiz
user_addr_arg.args.mem_alloc.mapped_addr = pCTX->mapped_addr;
ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_GET_IN_BUF, &user_addr_arg);
if (ret_code < 0) {
- LOGE("SsbSipMfcDecGetInBuf: IOCTL_MFC_GET_IN_BUF failed\n");
+ ALOGE("SsbSipMfcDecGetInBuf: IOCTL_MFC_GET_IN_BUF failed\n");
return NULL;
}
pCTX->virStrmBuf = user_addr_arg.args.mem_alloc.out_uaddr;
@@ -342,7 +342,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecSetInBuf(void *openHandle, void *phyInBuf, voi
_MFCLIB *pCTX;
if (openHandle == NULL) {
- LOGE("SsbSipMfcDecSetInBuf: openHandle is NULL\n");
+ ALOGE("SsbSipMfcDecSetInBuf: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
@@ -359,7 +359,7 @@ SSBSIP_MFC_DEC_OUTBUF_STATUS SsbSipMfcDecGetOutBuf(void *openHandle, SSBSIP_MFC_
_MFCLIB *pCTX;
if (openHandle == NULL) {
- LOGE("SsbSipMfcDecGetOutBuf: openHandle is NULL\n");
+ ALOGE("SsbSipMfcDecGetOutBuf: openHandle is NULL\n");
return MFC_GETOUTBUF_DISPLAY_END;
}
@@ -401,12 +401,12 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecSetConfig(void *openHandle, SSBSIP_MFC_DEC_CON
SSBSIP_MFC_IMG_RESOLUTION *img_resolution;
if (openHandle == NULL) {
- LOGE("SsbSipMfcDecSetConfig: openHandle is NULL\n");
+ ALOGE("SsbSipMfcDecSetConfig: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
if (value == NULL) {
- LOGE("SsbSipMfcDecSetConfig: value is NULL\n");
+ ALOGE("SsbSipMfcDecSetConfig: value is NULL\n");
return MFC_RET_INVALID_PARAM;
}
@@ -437,13 +437,13 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecSetConfig(void *openHandle, SSBSIP_MFC_DEC_CON
return MFC_RET_OK;
default:
- LOGE("SsbSipMfcDecSetConfig: No such conf_type is supported.\n");
+ ALOGE("SsbSipMfcDecSetConfig: No such conf_type is supported.\n");
return MFC_RET_INVALID_PARAM;
}
ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_SET_CONFIG, &DecArg);
if (DecArg.ret_code != MFC_RET_OK) {
- LOGE("SsbSipMfcDecSetConfig: IOCTL_MFC_SET_CONFIG failed(ret : %d, conf_type: %d)\n", DecArg.ret_code, conf_type);
+ ALOGE("SsbSipMfcDecSetConfig: IOCTL_MFC_SET_CONFIG failed(ret : %d, conf_type: %d)\n", DecArg.ret_code, conf_type);
return MFC_RET_DEC_SET_CONF_FAIL;
}
@@ -461,12 +461,12 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecGetConfig(void *openHandle, SSBSIP_MFC_DEC_CON
MFC_CRC_DATA *crc_data;
if (openHandle == NULL) {
- LOGE("SsbSipMfcDecGetConfig: openHandle is NULL\n");
+ ALOGE("SsbSipMfcDecGetConfig: openHandle is NULL\n");
return MFC_RET_FAIL;
}
if (value == NULL) {
- LOGE("SsbSipMfcDecGetConfig: value is NULL\n");
+ ALOGE("SsbSipMfcDecGetConfig: value is NULL\n");
return MFC_RET_FAIL;
}
@@ -498,7 +498,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecGetConfig(void *openHandle, SSBSIP_MFC_DEC_CON
ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_GET_CONFIG, &DecArg);
if (DecArg.ret_code != MFC_RET_OK) {
- LOGE("SsbSipMfcDecGetConfig: IOCTL_MFC_GET_CONFIG failed(ret : %d, conf_type: %d)\n", DecArg.ret_code, conf_type);
+ ALOGE("SsbSipMfcDecGetConfig: IOCTL_MFC_GET_CONFIG failed(ret : %d, conf_type: %d)\n", DecArg.ret_code, conf_type);
return MFC_RET_DEC_GET_CONF_FAIL;
}
crc_data->luma0 = DecArg.args.get_config.out_config_value[0];
@@ -510,7 +510,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecGetConfig(void *openHandle, SSBSIP_MFC_DEC_CON
break;
default:
- LOGE("SsbSipMfcDecGetConfig: No such conf_type is supported.\n");
+ ALOGE("SsbSipMfcDecGetConfig: No such conf_type is supported.\n");
return MFC_RET_INVALID_PARAM;
}
diff --git a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/enc/src/SsbSipMfcEncAPI.c b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/enc/src/SsbSipMfcEncAPI.c
index b51a55f..a27fcc0 100644
--- a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/enc/src/SsbSipMfcEncAPI.c
+++ b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/enc/src/SsbSipMfcEncAPI.c
@@ -40,13 +40,13 @@ void *SsbSipMfcEncOpen(void *value)
hMFCOpen = open(S5PC110_MFC_DEV_NAME, O_RDWR | O_NDELAY);
if (hMFCOpen < 0) {
- LOGE("SsbSipMfcEncOpen: MFC Open failure\n");
+ ALOGE("SsbSipMfcEncOpen: MFC Open failure\n");
return NULL;
}
pCTX = (_MFCLIB *)malloc(sizeof(_MFCLIB));
if (pCTX == NULL) {
- LOGE("SsbSipMfcEncOpen: malloc failed.\n");
+ ALOGE("SsbSipMfcEncOpen: malloc failed.\n");
close(hMFCOpen);
return NULL;
}
@@ -56,15 +56,15 @@ void *SsbSipMfcEncOpen(void *value)
EncArg.args.buf_type = *(unsigned int *)value;
ret_code = ioctl(hMFCOpen, IOCTL_MFC_BUF_CACHE, &EncArg);
if (EncArg.ret_code != MFC_RET_OK) {
- LOGE("SsbSipMfcDecOpenExt: IOCTL_MFC_BUF_CACHE (%d) failed\n", EncArg.ret_code);
+ ALOGE("SsbSipMfcDecOpenExt: IOCTL_MFC_BUF_CACHE (%d) failed\n", EncArg.ret_code);
}
} else {
- LOGE("SsbSipMfcDecOpenExt: value is invalid, value: %d\n", *(int *)value);
+ ALOGE("SsbSipMfcDecOpenExt: value is invalid, value: %d\n", *(int *)value);
}
mapped_addr = (unsigned int)mmap(0, MMAP_BUFFER_SIZE_MMAP, PROT_READ | PROT_WRITE, MAP_SHARED, hMFCOpen, 0);
if (!mapped_addr) {
- LOGE("SsbSipMfcEncOpen: FIMV5.0 driver address mapping failed\n");
+ ALOGE("SsbSipMfcEncOpen: FIMV5.0 driver address mapping failed\n");
return NULL;
}
@@ -94,7 +94,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
pCTX = (_MFCLIB *)openHandle;
memset(&EncArg, 0, sizeof(mfc_common_args));
- LOGV("SsbSipMfcEncInit: Encode Init start\n");
+ ALOGV("SsbSipMfcEncInit: Encode Init start\n");
mpeg4_arg = (SSBSIP_MFC_ENC_MPEG4_PARAM *)param;
codec_type = mpeg4_arg->codecType;
@@ -102,7 +102,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
if ((codec_type != MPEG4_ENC) &&
(codec_type != H264_ENC) &&
(codec_type != H263_ENC)) {
- LOGE("SsbSipMfcEncOpen: Undefined codec type.\n");
+ ALOGE("SsbSipMfcEncOpen: Undefined codec type.\n");
return MFC_RET_INVALID_PARAM;
}
@@ -110,7 +110,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
switch (pCTX->codec_type) {
case MPEG4_ENC:
- LOGV("SsbSipMfcEncInit: MPEG4 Encode\n");
+ ALOGV("SsbSipMfcEncInit: MPEG4 Encode\n");
mpeg4_arg = (SSBSIP_MFC_ENC_MPEG4_PARAM *)param;
pCTX->width = mpeg4_arg->SourceWidth;
@@ -118,7 +118,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
break;
case H263_ENC:
- LOGV("SsbSipMfcEncInit: H263 Encode\n");
+ ALOGV("SsbSipMfcEncInit: H263 Encode\n");
h263_arg = (SSBSIP_MFC_ENC_H263_PARAM *)param;
pCTX->width = h263_arg->SourceWidth;
@@ -126,7 +126,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
break;
case H264_ENC:
- LOGV("SsbSipMfcEncInit: H264 Encode\n");
+ ALOGV("SsbSipMfcEncInit: H264 Encode\n");
h264_arg = (SSBSIP_MFC_ENC_H264_PARAM *)param;
pCTX->width = h264_arg->SourceWidth;
@@ -156,7 +156,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
EncArg.args.enc_init_mpeg4.in_MS_size = mpeg4_arg->SliceArgument;
if (mpeg4_arg->NumberBFrames > 2) {
- LOGE("SsbSipMfcEncInit: No such BframeNum is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such BframeNum is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_mpeg4.in_BframeNum = mpeg4_arg->NumberBFrames;
@@ -165,7 +165,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
/* rate control*/
EncArg.args.enc_init_mpeg4.in_RC_frm_enable = mpeg4_arg->EnableFRMRateControl;
if ((mpeg4_arg->QSCodeMin > 51) || (mpeg4_arg->QSCodeMax > 51)) {
- LOGE("SsbSipMfcEncInit: No such Min/Max QP is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such Min/Max QP is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_mpeg4.in_RC_qbound = ENC_RC_QBOUND(mpeg4_arg->QSCodeMin, mpeg4_arg->QSCodeMax);
@@ -174,7 +174,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
/* pad control */
EncArg.args.enc_init_mpeg4.in_pad_ctrl_on = mpeg4_arg->PadControlOn;
if ((mpeg4_arg->LumaPadVal > 255) || (mpeg4_arg->CbPadVal > 255) || (mpeg4_arg->CrPadVal > 255)) {
- LOGE("SsbSipMfcEncInit: No such Pad value is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such Pad value is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_mpeg4.in_luma_pad_val = mpeg4_arg->LumaPadVal;
@@ -187,7 +187,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
EncArg.args.enc_init_mpeg4.in_RC_framerate = (mpeg4_arg->TimeIncreamentRes / mpeg4_arg->VopTimeIncreament);
EncArg.args.enc_init_mpeg4.in_RC_bitrate = mpeg4_arg->Bitrate;
if ((mpeg4_arg->FrameQp > 51) || (mpeg4_arg->FrameQp_P) > 51 || (mpeg4_arg->FrameQp_B > 51)) {
- LOGE("SsbSipMfcEncInit: No such FrameQp is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such FrameQp is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_mpeg4.in_frame_qp = mpeg4_arg->FrameQp;
@@ -217,7 +217,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
/* rate control*/
EncArg.args.enc_init_mpeg4.in_RC_frm_enable = h263_arg->EnableFRMRateControl;
if ((h263_arg->QSCodeMin > 51) || (h263_arg->QSCodeMax > 51)) {
- LOGE("SsbSipMfcEncInit: No such Min/Max QP is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such Min/Max QP is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_mpeg4.in_RC_qbound = ENC_RC_QBOUND(h263_arg->QSCodeMin, h263_arg->QSCodeMax);
@@ -226,7 +226,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
/* pad control */
EncArg.args.enc_init_mpeg4.in_pad_ctrl_on = h263_arg->PadControlOn;
if ((h263_arg->LumaPadVal > 255) || (h263_arg->CbPadVal > 255) || (h263_arg->CrPadVal > 255)) {
- LOGE("SsbSipMfcEncInit: No such Pad value is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such Pad value is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_mpeg4.in_luma_pad_val = h263_arg->LumaPadVal;
@@ -237,7 +237,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
EncArg.args.enc_init_mpeg4.in_RC_framerate = h263_arg->FrameRate;
EncArg.args.enc_init_mpeg4.in_RC_bitrate = h263_arg->Bitrate;
if (h263_arg->FrameQp > 51) {
- LOGE("SsbSipMfcEncInit: No such FrameQp is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such FrameQp is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_mpeg4.in_frame_qp = h263_arg->FrameQp;
@@ -259,7 +259,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
EncArg.args.enc_init_h264.in_gop_num = h264_arg->IDRPeriod;
if ((h264_arg->NumberRefForPframes > 2) || (h264_arg->NumberReferenceFrames > 2)) {
- LOGE("SsbSipMfcEncInit: No such ref Num is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such ref Num is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_h264.in_reference_num = h264_arg->NumberReferenceFrames;
@@ -269,20 +269,20 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
(h264_arg->SliceMode == 2) || (h264_arg->SliceMode == 4)) {
EncArg.args.enc_init_h264.in_MS_mode = h264_arg->SliceMode;
} else {
- LOGE("SsbSipMfcEncInit: No such slice mode is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such slice mode is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_h264.in_MS_size = h264_arg->SliceArgument;
if (h264_arg->NumberBFrames > 2) {
- LOGE("SsbSipMfcEncInit: No such BframeNum is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such BframeNum is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_h264.in_BframeNum = h264_arg->NumberBFrames;
EncArg.args.enc_init_h264.in_deblock_filt = h264_arg->LoopFilterDisable;
if ((abs(h264_arg->LoopFilterAlphaC0Offset) > 6) || (abs(h264_arg->LoopFilterBetaOffset) > 6)) {
- LOGE("SsbSipMfcEncInit: No such AlphaC0Offset or BetaOffset is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such AlphaC0Offset or BetaOffset is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_h264.in_deblock_alpha_C0 = h264_arg->LoopFilterAlphaC0Offset;
@@ -297,7 +297,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
/* pad control */
EncArg.args.enc_init_h264.in_pad_ctrl_on = h264_arg->PadControlOn;
if ((h264_arg->LumaPadVal > 255) || (h264_arg->CbPadVal > 255) || (h264_arg->CrPadVal > 255)) {
- LOGE("SsbSipMfcEncInit: No such Pad value is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such Pad value is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_h264.in_luma_pad_val = h264_arg->LumaPadVal;
@@ -311,7 +311,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
EncArg.args.enc_init_h264.in_RC_framerate = h264_arg->FrameRate;
EncArg.args.enc_init_h264.in_RC_bitrate = h264_arg->Bitrate;
if (h264_arg->FrameQp > 51) {
- LOGE("SsbSipMfcEncInit: No such FrameQp is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such FrameQp is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_h264.in_frame_qp = h264_arg->FrameQp;
@@ -325,7 +325,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
EncArg.args.enc_init_h264.in_frame_B_qp = h264_arg->FrameQp;
if ((h264_arg->QSCodeMin > 51) || (h264_arg->QSCodeMax > 51)) {
- LOGE("SsbSipMfcEncInit: No such Min/Max QP is supported.\n");
+ ALOGE("SsbSipMfcEncInit: No such Min/Max QP is supported.\n");
return MFC_RET_INVALID_PARAM;
}
EncArg.args.enc_init_h264.in_RC_qbound = ENC_RC_QBOUND(h264_arg->QSCodeMin, h264_arg->QSCodeMax);
@@ -348,7 +348,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncInit(void *openHandle, void *param)
ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_ENC_INIT, &EncArg);
if (EncArg.ret_code != MFC_RET_OK) {
- LOGE("SsbSipMfcEncInit: IOCTL_MFC_ENC_INIT (%d) failed\n", EncArg.ret_code);
+ ALOGE("SsbSipMfcEncInit: IOCTL_MFC_ENC_INIT (%d) failed\n", EncArg.ret_code);
return MFC_RET_ENC_INIT_FAIL;
}
@@ -371,7 +371,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncExe(void *openHandle)
mfc_common_args EncArg;
if (openHandle == NULL) {
- LOGE("SsbSipMfcEncExe: openHandle is NULL\n");
+ ALOGE("SsbSipMfcEncExe: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
@@ -397,7 +397,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncExe(void *openHandle)
ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_ENC_EXE, &EncArg);
if (EncArg.ret_code != MFC_RET_OK) {
- LOGE("SsbSipMfcDecExe: IOCTL_MFC_ENC_EXE failed(ret : %d)\n", EncArg.ret_code);
+ ALOGE("SsbSipMfcDecExe: IOCTL_MFC_ENC_EXE failed(ret : %d)\n", EncArg.ret_code);
return MFC_RET_ENC_EXE_ERR;
}
@@ -418,7 +418,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncClose(void *openHandle)
mfc_common_args free_arg;
if (openHandle == NULL) {
- LOGE("SsbSipMfcEncClose: openHandle is NULL\n");
+ ALOGE("SsbSipMfcEncClose: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
@@ -475,7 +475,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncGetInBuf(void *openHandle, SSBSIP_MFC_ENC_INPU
int aligned_y_size, aligned_c_size;
if (openHandle == NULL) {
- LOGE("SsbSipMfcEncGetInBuf: openHandle is NULL\n");
+ ALOGE("SsbSipMfcEncGetInBuf: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
@@ -494,7 +494,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncGetInBuf(void *openHandle, SSBSIP_MFC_ENC_INPU
user_addr_arg.args.mem_alloc.mapped_addr = pCTX->mapped_addr;
ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_GET_IN_BUF, &user_addr_arg);
if (ret_code < 0) {
- LOGE("SsbSipMfcEncGetInBuf: IOCTL_MFC_GET_IN_BUF failed\n");
+ ALOGE("SsbSipMfcEncGetInBuf: IOCTL_MFC_GET_IN_BUF failed\n");
return MFC_RET_ENC_GET_INBUF_FAIL;
}
pCTX->virFrmBuf.luma = user_addr_arg.args.mem_alloc.out_uaddr;
@@ -522,11 +522,11 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncSetInBuf(void *openHandle, SSBSIP_MFC_ENC_INPU
_MFCLIB *pCTX;
if (openHandle == NULL) {
- LOGE("SsbSipMfcEncSetInBuf: openHandle is NULL\n");
+ ALOGE("SsbSipMfcEncSetInBuf: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
- LOGV("SsbSipMfcEncSetInBuf: input_info->YPhyAddr & input_info->CPhyAddr should be 64KB aligned\n");
+ ALOGV("SsbSipMfcEncSetInBuf: input_info->YPhyAddr & input_info->CPhyAddr should be 64KB aligned\n");
pCTX = (_MFCLIB *)openHandle;
@@ -546,7 +546,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncGetOutBuf(void *openHandle, SSBSIP_MFC_ENC_OUT
_MFCLIB *pCTX;
if (openHandle == NULL) {
- LOGE("SsbSipMfcEncGetOutBuf: openHandle is NULL\n");
+ ALOGE("SsbSipMfcEncGetOutBuf: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
@@ -577,7 +577,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncGetOutBuf(void *openHandle, SSBSIP_MFC_ENC_OUT
else if (pCTX->encodedframeType == 4)
output_info->frameType = MFC_FRAME_TYPE_OTHERS;
else {
- LOGE("Strange encoded frame type = %d\n", pCTX->encodedframeType);
+ ALOGE("Strange encoded frame type = %d\n", pCTX->encodedframeType);
return MFC_RET_INVALID_PARAM;
}
@@ -592,7 +592,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncSetOutBuf(void *openHandle, void *phyOutbuf, v
_MFCLIB *pCTX;
if (openHandle == NULL) {
- LOGE("SsbSipMfcEncSetOutBuf: openHandle is NULL\n");
+ ALOGE("SsbSipMfcEncSetOutBuf: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
@@ -612,12 +612,12 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncSetConfig(void *openHandle, SSBSIP_MFC_ENC_CON
mfc_common_args EncArg;
if (openHandle == NULL) {
- LOGE("SsbSipMfcEncSetConfig: openHandle is NULL\n");
+ ALOGE("SsbSipMfcEncSetConfig: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
if (value == NULL) {
- LOGE("SsbSipMfcEncSetConfig: value is NULL\n");
+ ALOGE("SsbSipMfcEncSetConfig: value is NULL\n");
return MFC_RET_INVALID_PARAM;
}
@@ -639,13 +639,13 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncSetConfig(void *openHandle, SSBSIP_MFC_ENC_CON
return MFC_RET_OK;
default:
- LOGE("SsbSipMfcEncSetConfig: No such conf_type is supported.\n");
+ ALOGE("SsbSipMfcEncSetConfig: No such conf_type is supported.\n");
return MFC_RET_INVALID_PARAM;
}
ret_code = ioctl(pCTX->hMFC, IOCTL_MFC_SET_CONFIG, &EncArg);
if (EncArg.ret_code != MFC_RET_OK) {
- LOGE("SsbSipMfcEncSetConfig: IOCTL_MFC_SET_CONFIG failed(ret : %d)\n", EncArg.ret_code);
+ ALOGE("SsbSipMfcEncSetConfig: IOCTL_MFC_SET_CONFIG failed(ret : %d)\n", EncArg.ret_code);
return MFC_RET_ENC_SET_CONF_FAIL;
}
@@ -661,11 +661,11 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncGetConfig(void *openHandle, SSBSIP_MFC_ENC_CON
pCTX = (_MFCLIB *)openHandle;
if (openHandle == NULL) {
- LOGE("SsbSipMfcEncGetConfig: openHandle is NULL\n");
+ ALOGE("SsbSipMfcEncGetConfig: openHandle is NULL\n");
return MFC_RET_INVALID_PARAM;
}
if (value == NULL) {
- LOGE("SsbSipMfcEncGetConfig: value is NULL\n");
+ ALOGE("SsbSipMfcEncGetConfig: value is NULL\n");
return MFC_RET_INVALID_PARAM;
}
@@ -678,7 +678,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcEncGetConfig(void *openHandle, SSBSIP_MFC_ENC_CON
break;
default:
- LOGE("SsbSipMfcEncGetConfig: No such conf_type is supported.\n");
+ ALOGE("SsbSipMfcEncGetConfig: No such conf_type is supported.\n");
return MFC_RET_INVALID_PARAM;
}
diff --git a/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c b/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
index 07e1a89..cd19cd1 100644
--- a/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
+++ b/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
@@ -1035,7 +1035,7 @@ OMX_ERRORTYPE SEC_MFC_H264_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DATA
if ((SsbSipMfcDecGetConfig(pH264Dec->hMFCH264Handle.hMFCHandle, MFC_DEC_GETCONF_FRAME_TAG, &indexTimestamp) != MFC_RET_OK) ||
(((indexTimestamp < 0) || (indexTimestamp >= MAX_TIMESTAMP)))) {
pOutputData->timeStamp = pInputData->timeStamp;
- pOutputData->nFlags = pInputData->nFlags;
+ pOutputData->nFlags = (pInputData->nFlags & (~OMX_BUFFERFLAG_EOS));
} else {
pOutputData->timeStamp = pSECComponent->timeStamp[indexTimestamp];
pOutputData->nFlags = pSECComponent->nFlags[indexTimestamp];
@@ -1055,7 +1055,7 @@ OMX_ERRORTYPE SEC_MFC_H264_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DATA
if(status == MFC_GETOUTBUF_DECODING_ONLY) {
if (((pInputData->nFlags & OMX_BUFFERFLAG_EOS) != OMX_BUFFERFLAG_EOS) &&
- (pSECComponent->bSaveFlagEOS == OMX_TRUE)) {
+ ((pSECComponent->bSaveFlagEOS == OMX_TRUE) || (pSECComponent->getAllDelayBuffer == OMX_TRUE))) {
pInputData->nFlags |= OMX_BUFFERFLAG_EOS;
pSECComponent->getAllDelayBuffer = OMX_TRUE;
ret = OMX_ErrorInputDataDecodeYet;
@@ -1074,6 +1074,8 @@ OMX_ERRORTYPE SEC_MFC_H264_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DATA
} else
#endif
if ((pInputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS) {
+ //setConfVal = 1;
+ //SsbSipMfcDecSetConfig(pH264Dec->hMFCH264Handle.hMFCHandle, MFC_DEC_SETCONF_IS_LAST_FRAME, &setConfVal);
pInputData->nFlags = (pOutputData->nFlags & (~OMX_BUFFERFLAG_EOS));
pSECComponent->getAllDelayBuffer = OMX_TRUE;
ret = OMX_ErrorInputDataDecodeYet;
@@ -1093,6 +1095,7 @@ OMX_ERRORTYPE SEC_MFC_H264_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DATA
}
if ((pH264Dec->bFirstFrame == OMX_TRUE) &&
((pOutputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS)) {
+ pInputData->nFlags = (pInputData->nFlags | OMX_BUFFERFLAG_EOS);
pOutputData->nFlags = (pOutputData->nFlags & (~OMX_BUFFERFLAG_EOS));
}
diff --git a/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c b/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c
index 052a4c9..dc99826 100644
--- a/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c
+++ b/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c
@@ -1180,7 +1180,7 @@ OMX_ERRORTYPE SEC_MFC_Mpeg4_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DAT
if ((SsbSipMfcDecGetConfig(hMFCHandle, MFC_DEC_GETCONF_FRAME_TAG, &indexTimestamp) != MFC_RET_OK) ||
(((indexTimestamp < 0) || (indexTimestamp >= MAX_TIMESTAMP)))) {
pOutputData->timeStamp = pInputData->timeStamp;
- pOutputData->nFlags = pInputData->nFlags;
+ pOutputData->nFlags = (pInputData->nFlags & (~OMX_BUFFERFLAG_EOS));
} else {
pOutputData->timeStamp = pSECComponent->timeStamp[indexTimestamp];
pOutputData->nFlags = pSECComponent->nFlags[indexTimestamp];
@@ -1200,7 +1200,7 @@ OMX_ERRORTYPE SEC_MFC_Mpeg4_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DAT
if (status == MFC_GETOUTBUF_DECODING_ONLY) {
if (((pInputData->nFlags & OMX_BUFFERFLAG_EOS) != OMX_BUFFERFLAG_EOS) &&
- (pSECComponent->bSaveFlagEOS == OMX_TRUE)) {
+ ((pSECComponent->bSaveFlagEOS == OMX_TRUE) || (pSECComponent->getAllDelayBuffer == OMX_TRUE))) {
pInputData->nFlags |= OMX_BUFFERFLAG_EOS;
pSECComponent->getAllDelayBuffer = OMX_TRUE;
ret = OMX_ErrorInputDataDecodeYet;
@@ -1219,6 +1219,8 @@ OMX_ERRORTYPE SEC_MFC_Mpeg4_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DAT
} else
#endif
if ((pInputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS) {
+ //configValue = 1;
+ //SsbSipMfcDecSetConfig(pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle, MFC_DEC_SETCONF_IS_LAST_FRAME, &configValue);
pInputData->nFlags = (pOutputData->nFlags & (~OMX_BUFFERFLAG_EOS));
pSECComponent->getAllDelayBuffer = OMX_TRUE;
ret = OMX_ErrorInputDataDecodeYet;
@@ -1238,6 +1240,7 @@ OMX_ERRORTYPE SEC_MFC_Mpeg4_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DAT
}
if ((pMpeg4Dec->bFirstFrame == OMX_TRUE) &&
((pOutputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS)) {
+ pInputData->nFlags = (pInputData->nFlags | OMX_BUFFERFLAG_EOS);
pOutputData->nFlags = (pOutputData->nFlags & (~OMX_BUFFERFLAG_EOS));
}
diff --git a/sec_mm/sec_omx/sec_omx_core/SEC_OMX_Core.c b/sec_mm/sec_omx/sec_omx_core/SEC_OMX_Core.c
index fe84d8d..fb2875d 100644
--- a/sec_mm/sec_omx/sec_omx_core/SEC_OMX_Core.c
+++ b/sec_mm/sec_omx/sec_omx_core/SEC_OMX_Core.c
@@ -29,8 +29,11 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <pthread.h> // for pthread related functions
#include "SEC_OMX_Core.h"
+#include "SEC_OSAL_Mutex.h" // for mutext related functions
+#include "SEC_OSAL_ETC.h" // for SEC_OSAL_Strcmp, etc
#include "SEC_OMX_Component_Register.h"
#include "SEC_OSAL_Memory.h"
#include "SEC_OMX_Resourcemanager.h"
@@ -42,11 +45,11 @@
static int gInitialized = 0;
-static int gComponentNum = 0;
+static OMX_U32 gComponentNum = 0;
static SEC_OMX_COMPONENT_REGLIST *gComponentList = NULL;
static SEC_OMX_COMPONENT *gLoadComponentList = NULL;
-static OMX_HANDLETYPE ghLoadComponentListMutex = NULL;
+static pthread_mutex_t ghLoadComponentListMutex = PTHREAD_MUTEX_INITIALIZER;
OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_Init(void)
@@ -55,6 +58,7 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_Init(void)
FunctionIn();
+ SEC_OSAL_MutexLock(&ghLoadComponentListMutex);
if (gInitialized == 0) {
if (SEC_OMX_Component_Register(&gComponentList, &gComponentNum)) {
ret = OMX_ErrorInsufficientResources;
@@ -63,14 +67,12 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_Init(void)
}
SEC_OMX_ResourceManager_Init();
-
- SEC_OSAL_MutexCreate(&ghLoadComponentListMutex);
-
- gInitialized = 1;
SEC_OSAL_Log(SEC_LOG_TRACE, "SEC_OMX_Init : %s", "OMX_ErrorNone");
}
+ ++gInitialized;
EXIT:
+ SEC_OSAL_MutexUnlock(&ghLoadComponentListMutex);
FunctionOut();
return ret;
@@ -82,8 +84,16 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_Deinit(void)
FunctionIn();
- SEC_OSAL_MutexTerminate(ghLoadComponentListMutex);
- ghLoadComponentListMutex = NULL;
+ SEC_OSAL_MutexLock(&ghLoadComponentListMutex);
+ if (gInitialized > 0) {
+ --gInitialized;
+ }
+
+ if (gInitialized != 0) {
+ // Some component still uses the core.
+ // Nothing needs to be done
+ goto EXIT;
+ }
SEC_OMX_ResourceManager_Deinit();
@@ -93,9 +103,9 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_Deinit(void)
}
gComponentList = NULL;
gComponentNum = 0;
- gInitialized = 0;
EXIT:
+ SEC_OSAL_MutexUnlock(&ghLoadComponentListMutex);
FunctionOut();
return ret;
@@ -133,7 +143,6 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_GetHandle(
OMX_ERRORTYPE ret = OMX_ErrorNone;
SEC_OMX_COMPONENT *loadComponent;
SEC_OMX_COMPONENT *currentComponent;
- int i = 0;
FunctionIn();
@@ -148,6 +157,7 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_GetHandle(
}
SEC_OSAL_Log(SEC_LOG_TRACE, "ComponentName : %s", cComponentName);
+ OMX_U32 i = 0;
for (i = 0; i < gComponentNum; i++) {
if (SEC_OSAL_Strcmp(cComponentName, gComponentList[i].component.componentName) == 0) {
loadComponent = SEC_OSAL_Malloc(sizeof(SEC_OMX_COMPONENT));
@@ -170,7 +180,7 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_GetHandle(
goto EXIT;
}
- SEC_OSAL_MutexLock(ghLoadComponentListMutex);
+ SEC_OSAL_MutexLock(&ghLoadComponentListMutex);
if (gLoadComponentList == NULL) {
gLoadComponentList = loadComponent;
} else {
@@ -180,7 +190,7 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_GetHandle(
}
currentComponent->nextOMXComp = loadComponent;
}
- SEC_OSAL_MutexUnlock(ghLoadComponentListMutex);
+ SEC_OSAL_MutexUnlock(&ghLoadComponentListMutex);
*pHandle = loadComponent->pOMXComponent;
ret = OMX_ErrorNone;
@@ -215,7 +225,7 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_FreeHandle(OMX_IN OMX_HANDLETYPE hCom
goto EXIT;
}
- SEC_OSAL_MutexLock(ghLoadComponentListMutex);
+ SEC_OSAL_MutexLock(&ghLoadComponentListMutex);
currentComponent = gLoadComponentList;
if (gLoadComponentList->pOMXComponent == hComponent) {
deleteComponent = gLoadComponentList;
@@ -229,16 +239,15 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY SEC_OMX_FreeHandle(OMX_IN OMX_HANDLETYPE hCom
currentComponent->nextOMXComp = deleteComponent->nextOMXComp;
} else if (currentComponent == NULL) {
ret = OMX_ErrorComponentNotFound;
- SEC_OSAL_MutexUnlock(ghLoadComponentListMutex);
goto EXIT;
}
}
- SEC_OSAL_MutexUnlock(ghLoadComponentListMutex);
SEC_OMX_ComponentUnload(deleteComponent);
SEC_OSAL_Free(deleteComponent);
EXIT:
+ SEC_OSAL_MutexUnlock(&ghLoadComponentListMutex);
FunctionOut();
return ret;
diff --git a/sec_mm/sec_omx/sec_osal/Android.mk b/sec_mm/sec_omx/sec_osal/Android.mk
index a98e884..a020149 100644
--- a/sec_mm/sec_omx/sec_osal/Android.mk
+++ b/sec_mm/sec_omx/sec_osal/Android.mk
@@ -22,18 +22,17 @@ LOCAL_CFLAGS :=
LOCAL_STATIC_LIBRARIES :=
-LOCAL_SHARED_LIBRARIES := libcutils libutils \
+LOCAL_SHARED_LIBRARIES := libcutils \
+ libutils \
libui \
libhardware \
- libandroid_runtime \
- libsurfaceflinger_client \
- libbinder \
- libmedia
+ libandroid_runtime
LOCAL_C_INCLUDES := $(SEC_OMX_INC)/khronos \
$(SEC_OMX_INC)/sec \
$(SEC_OMX_TOP)/sec_osal \
$(SEC_OMX_COMPONENT)/common \
- $(SEC_OMX_TOP)/../../include
+ $(SEC_OMX_TOP)/../../include \
+ $(TOP)/frameworks/native/include/media/hardware
include $(BUILD_STATIC_LIBRARY)
diff --git a/sec_mm/sec_omx/sec_osal/SEC_OSAL_Buffer.cpp b/sec_mm/sec_omx/sec_osal/SEC_OSAL_Buffer.cpp
index 949fc19..c92ac18 100644
--- a/sec_mm/sec_omx/sec_osal/SEC_OSAL_Buffer.cpp
+++ b/sec_mm/sec_omx/sec_osal/SEC_OSAL_Buffer.cpp
@@ -47,13 +47,12 @@ extern "C" {
}
#endif
-#include <ui/android_native_buffer.h>
#include <ui/GraphicBuffer.h>
#include <ui/GraphicBufferMapper.h>
#include <ui/Rect.h>
-#include <media/stagefright/HardwareAPI.h>
+#include <HardwareAPI.h>
#include <hardware/hardware.h>
-#include <media/stagefright/MetadataBufferType.h>
+#include <MetadataBufferType.h>
#include "hal_public.h"
#define HAL_PIXEL_FORMAT_C110_NV12 0x100