summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSejun Park <sejun79.park@samsung.com>2017-09-07 17:00:25 +0900
committerSejun Park <sejun79.park@samsung.com>2017-09-14 13:31:38 +0900
commitf11a210211ab0a66d51d825cb510312035e4e1c0 (patch)
treed25af21a82b1f009af3d0370aa8793d23e374f41
parent58be4673a30bd72d28a2e8d5e6ad66aedc4092f0 (diff)
downloadlibomxil-e54xx-f11a210211ab0a66d51d825cb510312035e4e1c0.tar.gz
libomxil-e54xx-f11a210211ab0a66d51d825cb510312035e4e1c0.tar.bz2
libomxil-e54xx-f11a210211ab0a66d51d825cb510312035e4e1c0.zip
Removed build warnings and fixed svace issuessubmit/tizen/20170914.095319accepted/tizen/unified/20170915.191026
Change-Id: I75e68f9e56f6cdb3a6eaa4a8568f94625b30fbd6
-rwxr-xr-xexynos/libcsc/csc.c7
-rwxr-xr-xexynos/libv4l2/exynos_mc.c19
-rwxr-xr-xexynos/libv4l2/exynos_subdev.c30
-rwxr-xr-xexynos/libv4l2/exynos_v4l2.c32
-rwxr-xr-xexynos4/libcodec/video/v4l2/dec/ExynosVideoDecoder.c67
-rwxr-xr-xexynos4/libcodec/video/v4l2/enc/ExynosVideoEncoder.c9
-rwxr-xr-xexynos4/libswconverter/swconvertor.c14
-rwxr-xr-xopenmax/component/audio/dec/Exynos_OMX_Adec.c50
-rwxr-xr-xopenmax/component/audio/dec/Exynos_OMX_Adec.h2
-rwxr-xr-xopenmax/component/audio/dec/mp3/Exynos_OMX_Mp3dec.c8
-rwxr-xr-xopenmax/component/common/Exynos_OMX_Basecomponent.c11
-rwxr-xr-xopenmax/component/common/Exynos_OMX_Basecomponent.h4
-rwxr-xr-xopenmax/component/common/Exynos_OMX_Baseport.c8
-rwxr-xr-xopenmax/component/common/Exynos_OMX_Baseport.h5
-rwxr-xr-xopenmax/component/common/Exynos_OMX_Resourcemanager.c3
-rwxr-xr-xopenmax/component/video/dec/Exynos_OMX_Vdec.c68
-rwxr-xr-xopenmax/component/video/dec/Exynos_OMX_Vdec.h2
-rw-r--r--[-rwxr-xr-x]openmax/component/video/dec/Exynos_OMX_VdecControl.c54
-rwxr-xr-xopenmax/component/video/dec/Exynos_OMX_VdecControl.h6
-rw-r--r--[-rwxr-xr-x]openmax/component/video/dec/h264/Exynos_OMX_H264dec.c83
-rw-r--r--[-rwxr-xr-x]openmax/component/video/dec/h264/library_register.c0
-rwxr-xr-xopenmax/component/video/dec/mpeg2/Exynos_OMX_Mpeg2dec.c80
-rw-r--r--[-rwxr-xr-x]openmax/component/video/dec/mpeg4/Exynos_OMX_Mpeg4dec.c93
-rw-r--r--[-rwxr-xr-x]openmax/component/video/dec/mpeg4/library_register.c0
-rwxr-xr-xopenmax/component/video/dec/vc1/Exynos_OMX_Wmvdec.c83
-rw-r--r--[-rwxr-xr-x]openmax/component/video/enc/Exynos_OMX_Venc.c57
-rwxr-xr-xopenmax/component/video/enc/Exynos_OMX_Venc.h2
-rwxr-xr-xopenmax/component/video/enc/Exynos_OMX_VencControl.c77
-rwxr-xr-xopenmax/component/video/enc/Exynos_OMX_VencControl.h17
-rw-r--r--[-rwxr-xr-x]openmax/component/video/enc/h264/Exynos_OMX_H264enc.c93
-rwxr-xr-xopenmax/component/video/enc/h264/Exynos_OMX_H264enc.h7
-rw-r--r--[-rwxr-xr-x]openmax/component/video/enc/h264/library_register.c0
-rwxr-xr-xopenmax/component/video/enc/mpeg4/Exynos_OMX_Mpeg4enc.c117
-rwxr-xr-xopenmax/component/video/enc/mpeg4/Exynos_OMX_Mpeg4enc.h6
-rwxr-xr-xopenmax/core/Exynos_OMX_Component_Register.c9
-rwxr-xr-xopenmax/core/Exynos_OMX_Core.c11
-rwxr-xr-xopenmax/osal/Exynos_OSAL_Event.c3
-rwxr-xr-xopenmax/osal/Exynos_OSAL_Mutex.c2
-rwxr-xr-xopenmax/osal/Exynos_OSAL_Platform_Specific.c7
-rwxr-xr-xopenmax/osal/Exynos_OSAL_SharedMemory.c8
40 files changed, 290 insertions, 864 deletions
diff --git a/exynos/libcsc/csc.c b/exynos/libcsc/csc.c
index 1d72cff..3c6fe3d 100755
--- a/exynos/libcsc/csc.c
+++ b/exynos/libcsc/csc.c
@@ -34,6 +34,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#ifndef TIZEN_FEATURE_E54XX /* build env */
#include <utils/Log.h>
#include <system/graphics.h>
@@ -495,20 +496,24 @@ static CSC_ERRORCODE csc_set_buffer(
{
CSC_HANDLE *csc_handle;
CSC_ERRORCODE ret = CSC_ErrorNone;
+#ifdef ENABLE_GSCALER
void *src_addr[3] = {NULL, };
void *dst_addr[3] = {NULL, };
+#endif
if (handle == NULL)
return CSC_ErrorNotInit;
csc_handle = (CSC_HANDLE *)handle;
if (csc_handle->csc_method == CSC_METHOD_HW) {
+#ifdef ENABLE_GSCALER
src_addr[0] = csc_handle->src_buffer.planes[CSC_Y_PLANE];
src_addr[1] = csc_handle->src_buffer.planes[CSC_U_PLANE];
src_addr[2] = csc_handle->src_buffer.planes[CSC_V_PLANE];
dst_addr[0] = csc_handle->dst_buffer.planes[CSC_Y_PLANE];
dst_addr[1] = csc_handle->dst_buffer.planes[CSC_U_PLANE];
dst_addr[2] = csc_handle->dst_buffer.planes[CSC_V_PLANE];
+#endif
switch (csc_handle->csc_hw_type) {
case CSC_HW_TYPE_FIMC:
@@ -749,7 +754,6 @@ CSC_ERRORCODE csc_set_src_buffer(
{
CSC_HANDLE *csc_handle;
CSC_ERRORCODE ret = CSC_ErrorNone;
- void *addr[3] = {NULL, };
if (handle == NULL)
return CSC_ErrorNotInit;
@@ -771,7 +775,6 @@ CSC_ERRORCODE csc_set_dst_buffer(
{
CSC_HANDLE *csc_handle;
CSC_ERRORCODE ret = CSC_ErrorNone;
- void *addr[3] = {NULL, };
if (handle == NULL)
return CSC_ErrorNotInit;
diff --git a/exynos/libv4l2/exynos_mc.c b/exynos/libv4l2/exynos_mc.c
index d04e0ae..7ba0a0f 100755
--- a/exynos/libv4l2/exynos_mc.c
+++ b/exynos/libv4l2/exynos_mc.c
@@ -27,6 +27,7 @@
*
*/
+#include <unistd.h>
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
@@ -37,6 +38,7 @@
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
+#include <unistd.h>
#ifndef TIZEN_FEATURE_E54XX /* build env */
#include <media.h>
#else
@@ -186,11 +188,11 @@ static int __media_get_devname_sysfs(struct media_entity *entity)
char *p;
int ret;
- sprintf(sysname, "/sys/dev/char/%u:%u", entity->info.v4l.major,
+ snprintf(sysname, sizeof(sysname), "/sys/dev/char/%u:%u", entity->info.v4l.major,
entity->info.v4l.minor);
ret = readlink(sysname, target, sizeof(target));
- if (ret < 0)
+ if (ret < 0 || ret >= (int)sizeof(target))
return -errno;
target[ret] = '\0';
@@ -198,21 +200,16 @@ static int __media_get_devname_sysfs(struct media_entity *entity)
if (p == NULL)
return -EINVAL;
- sprintf(devname, "/tmp/%s", p + 1);
+ snprintf(devname, sizeof(devname), "/tmp/%s", p + 1);
ret = mknod(devname, 0666 | S_IFCHR, MKDEV(81, entity->info.v4l.minor));
- strcpy(entity->devname, devname);
+ strncpy(entity->devname, devname, sizeof(devname) - 1);
return 0;
}
static int __media_get_media_fd(const char *filename, struct media_device *media)
{
- ssize_t num;
- int media_node;
- char *ptr;
- char media_buf[6];
-
ALOGD("%s: %s", __func__, filename);
media->fd = open(filename, O_RDWR, 0);
@@ -238,6 +235,10 @@ static int __media_enum_entities(struct media_device *media)
for (id = 0, ret = 0; ; id = entity->info.id) {
size = (media->entities_count + 1) * sizeof(*media->entities);
media->entities = (struct media_entity*)realloc(media->entities, size);
+ if (media->entities == NULL) {
+ ret = -ENOMEM;
+ break;
+ }
entity = &media->entities[media->entities_count];
memset(entity, 0, sizeof(*entity));
diff --git a/exynos/libv4l2/exynos_subdev.c b/exynos/libv4l2/exynos_subdev.c
index 11eeb5e..acf811c 100755
--- a/exynos/libv4l2/exynos_subdev.c
+++ b/exynos/libv4l2/exynos_subdev.c
@@ -27,7 +27,9 @@
*
*/
+#include <unistd.h>
#include <stdio.h>
+#include <string.h>
#include <stdarg.h>
#include <fcntl.h>
#include <sys/types.h>
@@ -44,7 +46,7 @@
#include "Exynos_OSAL_Log.h"
#endif
-#define SUBDEV_MINOR_MAX 191
+#define SUBDEV_MAX 191
static int __subdev_open(const char *filename, int oflag, va_list ap)
{
@@ -79,22 +81,26 @@ int exynos_subdev_open_devname(const char *devname, int oflag, ...)
va_list ap;
FILE *stream_fd;
char filename[64], name[64];
- int minor, size, i = 0;
+ long size;
+ int i = 0;
do {
- if (i > (SUBDEV_MINOR_MAX - 128))
+ if (i > (SUBDEV_MAX - 128))
break;
/* video device node */
- sprintf(filename, "/dev/v4l-subdev%d", i++);
+ snprintf(filename, sizeof(filename), "/dev/v4l-subdev%d", i);
/* if the node is video device */
if ((lstat(filename, &s) == 0) && S_ISCHR(s.st_mode) &&
((int)((unsigned short)(s.st_rdev) >> 8) == 81)) {
- minor = (int)((unsigned short)(s.st_rdev & 0x3f));
- ALOGD("try node: %s, minor: %d", filename, minor);
+ ALOGD("try node: %s", filename);
/* open sysfs entry */
- sprintf(filename, "/sys/class/video4linux/v4l-subdev%d/name", minor);
+ snprintf(filename, sizeof(filename), "/sys/class/video4linux/v4l-subdev%d/name", i);
+ if (S_ISLNK(s.st_mode)) {
+ ALOGE("symbolic link detected");
+ return -1;
+ }
stream_fd = fopen(filename, "r");
if (stream_fd == NULL) {
ALOGE("failed to open sysfs entry for subdev");
@@ -102,24 +108,26 @@ int exynos_subdev_open_devname(const char *devname, int oflag, ...)
}
/* read sysfs entry for device name */
- size = (int)fgets(name, sizeof(name), stream_fd);
+ char *p = fgets(name, sizeof(name), stream_fd);
fclose(stream_fd);
/* check read size */
- if (size == 0) {
+ if (p == NULL) {
ALOGE("failed to read sysfs entry for subdev");
} else {
/* matched */
if (strncmp(name, devname, strlen(devname)) == 0) {
- ALOGI("node found for device %s: /dev/v4l-subdev%d", devname, minor);
+ ALOGI("node found for device %s: /dev/v4l-subdev%d", devname, i);
found = true;
+ break;
}
}
}
+ i++;
} while (found == false);
if (found) {
- sprintf(filename, "/dev/v4l-subdev%d", minor);
+ snprintf(filename, sizeof(filename), "/dev/v4l-subdev%d", i);
va_start(ap, oflag);
fd = __subdev_open(filename, oflag, ap);
va_end(ap);
diff --git a/exynos/libv4l2/exynos_v4l2.c b/exynos/libv4l2/exynos_v4l2.c
index 7174066..796ac5b 100755
--- a/exynos/libv4l2/exynos_v4l2.c
+++ b/exynos/libv4l2/exynos_v4l2.c
@@ -31,6 +31,7 @@
#include <errno.h>
#include <stdarg.h>
#include <fcntl.h>
+#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/ioctl.h>
@@ -46,7 +47,7 @@
#include "Exynos_OSAL_Log.h"
#endif
-#define VIDEODEV_MINOR_MAX 63
+#define VIDEODEV_MAX 255
static bool __v4l2_check_buf_type(enum v4l2_buf_type type)
{
@@ -102,22 +103,25 @@ int exynos_v4l2_open_devname(const char *devname, int oflag, ...)
va_list ap;
FILE *stream_fd;
char filename[64], name[64];
- int minor, size, i = 0;
+ int i = 0;
do {
- if (i > VIDEODEV_MINOR_MAX)
+ if (i > VIDEODEV_MAX)
break;
/* video device node */
- sprintf(filename, "/dev/video%d", i++);
+ snprintf(filename, sizeof(filename), "/dev/video%d", i);
/* if the node is video device */
if ((lstat(filename, &s) == 0) && S_ISCHR(s.st_mode) &&
((int)((unsigned short)(s.st_rdev) >> 8) == 81)) {
- minor = i;
- ALOGD("try node: %s, minor: %d", filename, minor);
+ ALOGD("try node: %s", filename);
/* open sysfs entry */
- sprintf(filename, "/sys/class/video4linux/video%d/name", minor);
+ snprintf(filename, sizeof(filename), "/sys/class/video4linux/video%d/name", i);
+ if (S_ISLNK(s.st_mode)) {
+ ALOGE("symbolic link detected");
+ return -1;
+ }
stream_fd = fopen(filename, "r");
if (stream_fd == NULL) {
ALOGE("failed to open sysfs entry for videodev");
@@ -125,24 +129,26 @@ int exynos_v4l2_open_devname(const char *devname, int oflag, ...)
}
/* read sysfs entry for device name */
- size = (int)fgets(name, sizeof(name), stream_fd);
+ char *p = fgets(name, sizeof(name), stream_fd);
fclose(stream_fd);
/* check read size */
- if (size == 0) {
+ if (p == NULL) {
ALOGE("failed to read sysfs entry for videodev");
} else {
/* matched */
if (strncmp(name, devname, strlen(devname)) == 0) {
- ALOGI("node found for device %s: /dev/video%d", devname, minor);
+ ALOGI("node found for device %s: /dev/video%d", devname, i);
found = true;
+ break;
}
}
}
+ i++;
} while (found == false);
if (found) {
- sprintf(filename, "/dev/video%d", minor);
+ snprintf(filename, sizeof(filename), "/dev/video%d", i);
va_start(ap, oflag);
fd = __v4l2_open(filename, oflag, ap);
va_end(ap);
@@ -181,7 +187,7 @@ bool exynos_v4l2_enuminput(int fd, int index, char *input_name_buf)
}
input.index = index;
- ret = ioctl(fd, VIDIOC_ENUMINPUT, &input);
+ ret = ioctl(fd, VIDIOC_ENUMINPUT, &input, 32);
if (ret) {
ALOGE("%s: no matching index founds", __func__);
return false;
@@ -189,7 +195,7 @@ bool exynos_v4l2_enuminput(int fd, int index, char *input_name_buf)
ALOGI("Name of input channel[%d] is %s", input.index, input.name);
- strcpy(input_name_buf, (const char *)input.name);
+ strncpy(input_name_buf, (const char *)input.name, 32);
return true;
}
diff --git a/exynos4/libcodec/video/v4l2/dec/ExynosVideoDecoder.c b/exynos4/libcodec/video/v4l2/dec/ExynosVideoDecoder.c
index 255f8fa..e07f97e 100755
--- a/exynos4/libcodec/video/v4l2/dec/ExynosVideoDecoder.c
+++ b/exynos4/libcodec/video/v4l2/dec/ExynosVideoDecoder.c
@@ -293,9 +293,10 @@ static ExynosVideoErrorType MFC_Decoder_Set_FrameTag(
void *pHandle,
int frameTag)
{
- ExynosVideoDecContext *pCtx = (ExynosVideoDecContext *)pHandle;
ExynosVideoErrorType ret = VIDEO_ERROR_NONE;
#ifdef V4L2_CID_MPEG_MFC51_VIDEO_FRAME_TAG
+ ExynosVideoDecContext *pCtx = (ExynosVideoDecContext *)pHandle;
+
if (pCtx == NULL) {
ALOGE("%s: Video context info must be supplied", __func__);
ret = VIDEO_ERROR_BADPARAM;
@@ -307,9 +308,10 @@ static ExynosVideoErrorType MFC_Decoder_Set_FrameTag(
ret = VIDEO_ERROR_APIFAIL;
goto EXIT;
}
-#endif
EXIT:
+
+#endif
return ret;
}
@@ -328,6 +330,7 @@ static int MFC_Decoder_Get_FrameTag(void *pHandle)
#ifdef V4L2_CID_MPEG_MFC51_VIDEO_FRAME_TAG
exynos_v4l2_g_ctrl(pCtx->hDec, V4L2_CID_MPEG_MFC51_VIDEO_FRAME_TAG, &frameTag);
#endif
+
EXIT:
return frameTag;
}
@@ -381,9 +384,11 @@ EXIT:
*/
static ExynosVideoErrorType MFC_Decoder_Set_ImmediateDisplay( void *pHandle)
{
- ExynosVideoDecContext *pCtx = (ExynosVideoDecContext *)pHandle;
ExynosVideoErrorType ret = VIDEO_ERROR_NONE;
+
#ifdef V4L2_CID_MPEG_VIDEO_DECODER_IMMEDIATE_DISPLAY
+ ExynosVideoDecContext *pCtx = (ExynosVideoDecContext *)pHandle;
+
if (pCtx == NULL) {
ALOGE("%s: Video context info must be supplied", __func__);
ret = VIDEO_ERROR_BADPARAM;
@@ -395,8 +400,8 @@ static ExynosVideoErrorType MFC_Decoder_Set_ImmediateDisplay( void *pHandle)
ret = VIDEO_ERROR_APIFAIL;
goto EXIT;
}
-#endif
EXIT:
+#endif
return ret;
}
/*
@@ -502,9 +507,10 @@ static ExynosVideoErrorType MFC_Decoder_Get_FramePackingInfo(
void *pHandle,
ExynosVideoFramePacking *pFramePacking)
{
- ExynosVideoDecContext *pCtx = (ExynosVideoDecContext *)pHandle;
ExynosVideoErrorType ret = VIDEO_ERROR_NONE;
#ifdef V4L2_CID_MPEG_VIDEO_H264_SEI_FP_AVAIL
+ ExynosVideoDecContext *pCtx = (ExynosVideoDecContext *)pHandle;
+
struct v4l2_ext_control ext_ctrl[FRAME_PACK_SEI_INFO_NUM];
struct v4l2_ext_controls ext_ctrls;
@@ -555,8 +561,8 @@ static ExynosVideoErrorType MFC_Decoder_Get_FramePackingInfo(
pFramePacking->frame0_grid_pos_y = OPERATE_BIT(seiGridPos, 0xf, 4);
pFramePacking->frame1_grid_pos_x = OPERATE_BIT(seiGridPos, 0xf, 8);
pFramePacking->frame1_grid_pos_y = OPERATE_BIT(seiGridPos, 0xf, 12);
-#endif
EXIT:
+#endif
return ret;
}
@@ -568,9 +574,10 @@ EXIT:
*/
static ExynosVideoErrorType MFC_Decoder_Enable_DecodeWait(void *pHandle)
{
- ExynosVideoDecContext *pCtx = (ExynosVideoDecContext *)pHandle;
ExynosVideoErrorType ret = VIDEO_ERROR_NONE;
#ifdef V4L2_CID_MPEG_VIDEO_DECODER_WAIT_DECODING_START
+ ExynosVideoDecContext *pCtx = (ExynosVideoDecContext *)pHandle;
+
if (pCtx == NULL) {
ALOGE("%s: Video context info must be supplied", __func__);
ret = VIDEO_ERROR_BADPARAM;
@@ -582,8 +589,8 @@ static ExynosVideoErrorType MFC_Decoder_Enable_DecodeWait(void *pHandle)
ret = VIDEO_ERROR_APIFAIL;
goto EXIT;
}
-#endif
EXIT:
+#endif
return ret;
}
@@ -1249,48 +1256,6 @@ EXIT:
return ret;
}
-/*
- * [Decoder Buffer OPS] Wait (Input)
- */
-static ExynosVideoErrorType MFC_Decoder_Wait_Inbuf(void *pHandle)
-{
- ExynosVideoDecContext *pCtx = (ExynosVideoDecContext *)pHandle;
- ExynosVideoErrorType ret = VIDEO_ERROR_NONE;
-
- struct pollfd poll_events;
- int poll_state;
-
- if (pCtx == NULL) {
- ALOGE("%s: Video context info must be supplied", __func__);
- ret = VIDEO_ERROR_BADPARAM;
- goto EXIT;
- }
-
- poll_events.fd = pCtx->hDec;
- poll_events.events = POLLOUT | POLLERR;
- poll_events.revents = 0;
-
- do {
- poll_state = poll((struct pollfd*)&poll_events, 1, VIDEO_DECODER_POLL_TIMEOUT);
- if (poll_state > 0) {
- if (poll_events.revents & POLLOUT) {
- break;
- } else {
- ALOGE("%s: Poll return error", __func__);
- ret = VIDEO_ERROR_POLL;
- break;
- }
- } else if (poll_state < 0) {
- ALOGE("%s: Poll state error", __func__);
- ret = VIDEO_ERROR_POLL;
- break;
- }
- } while (poll_state == 0);
-
-EXIT:
- return ret;
-}
-
static ExynosVideoErrorType MFC_Decoder_Register_Inbuf(
void *pHandle,
ExynosVideoPlane *planes,
@@ -1719,7 +1684,9 @@ static ExynosVideoBuffer *MFC_Decoder_Dequeue_Outbuf(void *pHandle)
struct v4l2_plane planes[VIDEO_DECODER_OUTBUF_PLANES];
#endif
+#ifdef V4L2_CID_MPEG_MFC51_VIDEO_DISPLAY_STATUS
int value, state;
+#endif
int ret = 0;
if (pCtx == NULL) {
ALOGE("%s: Video context info must be supplied", __func__);
diff --git a/exynos4/libcodec/video/v4l2/enc/ExynosVideoEncoder.c b/exynos4/libcodec/video/v4l2/enc/ExynosVideoEncoder.c
index 7f6c851..5744e76 100755
--- a/exynos4/libcodec/video/v4l2/enc/ExynosVideoEncoder.c
+++ b/exynos4/libcodec/video/v4l2/enc/ExynosVideoEncoder.c
@@ -606,7 +606,9 @@ static ExynosVideoErrorType MFC_Encoder_Set_EncParam (
case VIDEO_CODING_H263:
{
+#ifdef V4L2_CID_MPEG_MFC51_VIDEO_H263_RC_FRAME_RATE
ExynosVideoEncH263Param *pH263Param = &pEncParam->codecParam.h263;
+#endif
/* common parameters but id is depends on codec */
ext_ctrl[8].id = V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP;
@@ -704,7 +706,6 @@ EXIT:
static int MFC_Encoder_Get_FrameTag(void *pHandle)
{
ExynosVideoEncContext *pCtx = (ExynosVideoEncContext *)pHandle;
- ExynosVideoErrorType ret = VIDEO_ERROR_NONE;
int frameTag = -1;
@@ -715,7 +716,6 @@ static int MFC_Encoder_Get_FrameTag(void *pHandle)
#ifdef V4L2_CID_MPEG_MFC51_VIDEO_FRAME_TAG
if (exynos_v4l2_g_ctrl(pCtx->hEnc, V4L2_CID_MPEG_MFC51_VIDEO_FRAME_TAG, &frameTag) != 0) {
ALOGE("%s: Failed to g_ctrl", __func__);
- ret = VIDEO_ERROR_APIFAIL;
goto EXIT;
}
#endif
@@ -1556,6 +1556,7 @@ EXIT:
return ret;
}
+#if 0
/*
* [Encoder Buffer OPS] Wait (Src)
*/
@@ -1642,6 +1643,7 @@ static ExynosVideoErrorType MFC_Encoder_Wait_Outbuf(void *pHandle)
EXIT:
return ret;
}
+#endif
static ExynosVideoErrorType MFC_Encoder_Register_Inbuf(
void *pHandle,
@@ -1982,6 +1984,7 @@ EXIT:
return ret;
}
+#if 0
/*
* [Encoder Buffer OPS] Enqueue All (Output)
*/
@@ -2010,6 +2013,7 @@ static ExynosVideoErrorType MFC_Encoder_Enqueue_All_Outbuf(void *pHandle)
EXIT:
return ret;
}
+#endif
/*
* [Encoder Buffer OPS] Dequeue (Input)
@@ -2070,7 +2074,6 @@ static ExynosVideoBuffer *MFC_Encoder_Dequeue_Outbuf(void *pHandle)
struct v4l2_buffer buf;
struct v4l2_plane planes[VIDEO_ENCODER_OUTBUF_PLANES];
- int value;
if (pCtx == NULL) {
ALOGE("%s: Video context info must be supplied", __func__);
diff --git a/exynos4/libswconverter/swconvertor.c b/exynos4/libswconverter/swconvertor.c
index 4e5026d..db5f10a 100755
--- a/exynos4/libswconverter/swconvertor.c
+++ b/exynos4/libswconverter/swconvertor.c
@@ -28,6 +28,7 @@
* 2012.02.01 : Create
*/
+#include <string.h>
#include "stdio.h"
#include "stdlib.h"
#include "swconverter.h"
@@ -53,7 +54,7 @@
static int tile_4x2_read(int x_size, int y_size, int x_pos, int y_pos)
{
int pixel_x_m1, pixel_y_m1;
- int roundup_x, roundup_y;
+ int roundup_x;
int linear_addr0, linear_addr1, bank_addr ;
int x_addr;
int trans_addr;
@@ -62,7 +63,6 @@ static int tile_4x2_read(int x_size, int y_size, int x_pos, int y_pos)
pixel_y_m1 = y_size -1;
roundup_x = ((pixel_x_m1 >> 7) + 1);
- roundup_y = ((pixel_x_m1 >> 6) + 1);
x_addr = x_pos >> 2;
@@ -1565,9 +1565,6 @@ void csc_RGB565_to_YUV420P(
unsigned int R, G, B;
unsigned int Y, U, V;
- unsigned int offset1 = width * height;
- unsigned int offset2 = width/2 * height/2;
-
unsigned short int *pSrc = (unsigned short int *)rgb_src;
unsigned char *pDstY = (unsigned char *)y_dst;
@@ -1639,8 +1636,6 @@ void csc_RGB565_to_YUV420SP(
unsigned int R, G, B;
unsigned int Y, U, V;
- unsigned int offset = width * height;
-
unsigned short int *pSrc = (unsigned short int *)rgb_src;
unsigned char *pDstY = (unsigned char *)y_dst;
@@ -1716,9 +1711,6 @@ void csc_ARGB8888_to_YUV420P(
unsigned int R, G, B;
unsigned int Y, U, V;
- unsigned int offset1 = width * height;
- unsigned int offset2 = width/2 * height/2;
-
unsigned int *pSrc = (unsigned int *)rgb_src;
unsigned char *pDstY = (unsigned char *)y_dst;
@@ -1790,8 +1782,6 @@ void csc_ARGB8888_to_YUV420SP(
unsigned int R, G, B;
unsigned int Y, U, V;
- unsigned int offset = width * height;
-
unsigned int *pSrc = (unsigned int *)rgb_src;
unsigned char *pDstY = (unsigned char *)y_dst;
diff --git a/openmax/component/audio/dec/Exynos_OMX_Adec.c b/openmax/component/audio/dec/Exynos_OMX_Adec.c
index 83da3c5..58be55c 100755
--- a/openmax/component/audio/dec/Exynos_OMX_Adec.c
+++ b/openmax/component/audio/dec/Exynos_OMX_Adec.c
@@ -241,8 +241,6 @@ OMX_ERRORTYPE Exynos_OMX_FreeBuffer(
OMX_COMPONENTTYPE *pOMXComponent = NULL;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- OMX_BUFFERHEADERTYPE *temp_bufferHeader = NULL;
- OMX_U8 *temp_buffer = NULL;
OMX_U32 i = 0;
FunctionIn();
@@ -318,29 +316,12 @@ EXIT:
OMX_ERRORTYPE Exynos_OMX_AllocateTunnelBuffer(EXYNOS_OMX_BASEPORT *pOMXBasePort, OMX_U32 nPortIndex)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- OMX_BUFFERHEADERTYPE *temp_bufferHeader = NULL;
- OMX_U8 *temp_buffer = NULL;
- OMX_U32 bufferSize = 0;
- OMX_PARAM_PORTDEFINITIONTYPE portDefinition;
-
- ret = OMX_ErrorTunnelingUnsupported;
-EXIT:
- return ret;
+ return OMX_ErrorTunnelingUnsupported;
}
OMX_ERRORTYPE Exynos_OMX_FreeTunnelBuffer(EXYNOS_OMX_BASEPORT *pOMXBasePort, OMX_U32 nPortIndex)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
- EXYNOS_OMX_BASEPORT* pExynosPort = NULL;
- OMX_BUFFERHEADERTYPE* temp_bufferHeader = NULL;
- OMX_U8 *temp_buffer = NULL;
- OMX_U32 bufferSize = 0;
-
- ret = OMX_ErrorTunnelingUnsupported;
-EXIT:
- return ret;
+ return OMX_ErrorTunnelingUnsupported;
}
OMX_ERRORTYPE Exynos_OMX_ComponentTunnelRequest(
@@ -350,11 +331,7 @@ OMX_ERRORTYPE Exynos_OMX_ComponentTunnelRequest(
OMX_IN OMX_U32 nTunneledPort,
OMX_INOUT OMX_TUNNELSETUPTYPE *pTunnelSetup)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
-
- ret = OMX_ErrorTunnelingUnsupported;
-EXIT:
- return ret;
+ return OMX_ErrorTunnelingUnsupported;
}
OMX_BOOL Exynos_Check_BufferProcess_State(EXYNOS_OMX_BASECOMPONENT *pExynosComponent)
@@ -419,7 +396,6 @@ OMX_ERRORTYPE Exynos_InputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent)
dataBuffer->nFlags = 0;
dataBuffer->timeStamp = 0;
-EXIT:
FunctionOut();
return ret;
@@ -526,7 +502,6 @@ OMX_ERRORTYPE Exynos_OutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent)
dataBuffer->nFlags = 0;
dataBuffer->timeStamp = 0;
-EXIT:
FunctionOut();
return ret;
@@ -770,7 +745,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess(OMX_HANDLETYPE hComponent)
EXYNOS_OMX_DATABUFFER *outputUseBuffer = &exynosOutputPort->way.port1WayDataBuffer.dataBuffer;
EXYNOS_OMX_DATA *inputData = &exynosInputPort->processData;
EXYNOS_OMX_DATA *outputData = &exynosOutputPort->processData;
- OMX_U32 copySize = 0;
pExynosComponent->reInputData = OMX_FALSE;
@@ -824,7 +798,7 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess(OMX_HANDLETYPE hComponent)
Exynos_OSAL_MutexUnlock(outputUseBuffer->bufferMutex);
Exynos_OSAL_MutexUnlock(inputUseBuffer->bufferMutex);
- if (ret == OMX_ErrorInputDataDecodeYet)
+ if (ret == (OMX_ERRORTYPE)OMX_ErrorInputDataDecodeYet)
pExynosComponent->reInputData = OMX_TRUE;
else
pExynosComponent->reInputData = OMX_FALSE;
@@ -835,8 +809,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess(OMX_HANDLETYPE hComponent)
}
}
-EXIT:
-
FunctionOut();
return ret;
@@ -870,7 +842,6 @@ OMX_ERRORTYPE Exynos_OMX_FlushPort(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 por
EXYNOS_OMX_DATABUFFER *flushPortBuffer = NULL;
OMX_BUFFERHEADERTYPE *bufferHeader = NULL;
EXYNOS_OMX_MESSAGE *message = NULL;
- OMX_U32 flushNum = 0;
OMX_S32 semValue = 0;
FunctionIn();
@@ -926,7 +897,6 @@ OMX_ERRORTYPE Exynos_OMX_FlushPort(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 por
pExynosPort->processData.timeStamp = 0;
pExynosPort->processData.usedDataLen = 0;
-EXIT:
FunctionOut();
return ret;
@@ -936,10 +906,8 @@ OMX_ERRORTYPE Exynos_OMX_BufferFlush(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 n
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_AUDIODEC_COMPONENT *pAudioDec = NULL;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
EXYNOS_OMX_DATABUFFER *flushPortBuffer = NULL;
- OMX_U32 i = 0, cnt = 0;
FunctionIn();
#ifdef TIZEN_FEATURE_E54XX
@@ -960,7 +928,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferFlush(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 n
goto EXIT;
}
pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- pAudioDec = (EXYNOS_OMX_AUDIODEC_COMPONENT *)pExynosComponent->hComponentHandle;
Exynos_OSAL_SignalSet(pExynosComponent->pauseEvent);
@@ -1014,7 +981,6 @@ OMX_ERRORTYPE Exynos_OMX_AudioDecodeGetParameter(
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
FunctionIn();
@@ -1124,7 +1090,6 @@ OMX_ERRORTYPE Exynos_OMX_AudioDecodeSetParameter(
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
FunctionIn();
@@ -1159,10 +1124,8 @@ OMX_ERRORTYPE Exynos_OMX_AudioDecodeSetParameter(
{
OMX_AUDIO_PARAM_PORTFORMATTYPE *portFormat = (OMX_AUDIO_PARAM_PORTFORMATTYPE *)ComponentParameterStructure;
OMX_U32 portIndex = portFormat->nPortIndex;
- OMX_U32 index = portFormat->nIndex;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
OMX_PARAM_PORTDEFINITIONTYPE *portDefinition = NULL;
- OMX_U32 supportFormatNum = 0; /* supportFormatNum = N-1 */
ret = Exynos_OMX_Check_SizeVersion(portFormat, sizeof(OMX_AUDIO_PARAM_PORTFORMATTYPE));
if (ret != OMX_ErrorNone) {
@@ -1350,8 +1313,6 @@ static OMX_ERRORTYPE Exynos_OMX_BufferProcessThread(OMX_PTR threadData)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pSECComponent = NULL;
- EXYNOS_OMX_MESSAGE *message = NULL;
FunctionIn();
@@ -1364,7 +1325,6 @@ static OMX_ERRORTYPE Exynos_OMX_BufferProcessThread(OMX_PTR threadData)
if (ret != OMX_ErrorNone) {
goto EXIT;
}
- pSECComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
Exynos_OMX_BufferProcess(pOMXComponent);
Exynos_OSAL_ThreadExit(NULL);
@@ -1390,7 +1350,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess_Create(OMX_HANDLETYPE hComponent)
Exynos_OMX_BufferProcessThread,
pOMXComponent);
-EXIT:
FunctionOut();
return ret;
@@ -1419,7 +1378,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess_Terminate(OMX_HANDLETYPE hComponent)
Exynos_OSAL_ThreadTerminate(pAudioDec->hBufferProcessThread);
pAudioDec->hBufferProcessThread = NULL;
-EXIT:
FunctionOut();
return ret;
diff --git a/openmax/component/audio/dec/Exynos_OMX_Adec.h b/openmax/component/audio/dec/Exynos_OMX_Adec.h
index fe20109..008aecf 100755
--- a/openmax/component/audio/dec/Exynos_OMX_Adec.h
+++ b/openmax/component/audio/dec/Exynos_OMX_Adec.h
@@ -131,6 +131,8 @@ OMX_ERRORTYPE Exynos_OMX_AudioDecodeGetExtensionIndex(
OMX_ERRORTYPE Exynos_OMX_AudioDecodeComponentInit(OMX_IN OMX_HANDLETYPE hComponent);
OMX_ERRORTYPE Exynos_OMX_AudioDecodeComponentDeinit(OMX_IN OMX_HANDLETYPE hComponent);
OMX_BOOL Exynos_Check_BufferProcess_State(EXYNOS_OMX_BASECOMPONENT *pExynosComponent);
+OMX_ERRORTYPE Exynos_OMX_BufferProcess_Create(OMX_HANDLETYPE hComponent);
+OMX_ERRORTYPE Exynos_OMX_BufferProcess_Terminate(OMX_HANDLETYPE hComponent);
#ifdef __cplusplus
}
diff --git a/openmax/component/audio/dec/mp3/Exynos_OMX_Mp3dec.c b/openmax/component/audio/dec/mp3/Exynos_OMX_Mp3dec.c
index 3554bec..3d479e0 100755
--- a/openmax/component/audio/dec/mp3/Exynos_OMX_Mp3dec.c
+++ b/openmax/component/audio/dec/mp3/Exynos_OMX_Mp3dec.c
@@ -130,7 +130,6 @@ OMX_ERRORTYPE Exynos_SRP_Mp3Dec_GetParameter(
break;
case OMX_IndexParamStandardComponentRole:
{
- OMX_S32 codecType;
OMX_PARAM_COMPONENTROLETYPE *pComponentRole = (OMX_PARAM_COMPONENTROLETYPE *)pComponentParameterStructure;
ret = Exynos_OMX_Check_SizeVersion(pComponentRole, sizeof(OMX_PARAM_COMPONENTROLETYPE));
@@ -397,7 +396,6 @@ OMX_ERRORTYPE Exynos_SRP_Mp3Dec_ComponentRoleEnum(
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- OMX_S32 codecType;
FunctionIn();
@@ -458,7 +456,6 @@ OMX_ERRORTYPE Exynos_SRP_Mp3Dec_Init(OMX_COMPONENTTYPE *pOMXComponent)
outFile = fopen("/data/OutFile.pcm", "w+");
#endif
-EXIT:
FunctionOut();
return ret;
@@ -467,7 +464,6 @@ EXIT:
OMX_ERRORTYPE Exynos_SRP_Mp3Dec_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
FunctionIn();
@@ -476,7 +472,6 @@ OMX_ERRORTYPE Exynos_SRP_Mp3Dec_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
fclose(outFile);
#endif
-EXIT:
FunctionOut();
return ret;
@@ -678,7 +673,7 @@ OMX_ERRORTYPE Exynos_SRP_Mp3Dec_bufferProcess(OMX_COMPONENTTYPE *pOMXComponent,
ret = Exynos_SRP_Mp3_Decode_Block(pOMXComponent, pInputData, pOutputData);
if (ret != OMX_ErrorNone) {
- if (ret == OMX_ErrorInputDataDecodeYet) {
+ if (ret == (OMX_ERRORTYPE)OMX_ErrorInputDataDecodeYet) {
pOutputData->usedDataLen = 0;
pOutputData->remainDataLen = pOutputData->dataLen;
} else {
@@ -717,7 +712,6 @@ OSCL_EXPORT_REF OMX_ERRORTYPE Exynos_OMX_ComponentInit(OMX_HANDLETYPE hComponent
unsigned int outputBufferSize = 0;
unsigned int outputBufferNum = 0;
OMX_S32 returnCodec;
- int i = 0;
FunctionIn();
diff --git a/openmax/component/common/Exynos_OMX_Basecomponent.c b/openmax/component/common/Exynos_OMX_Basecomponent.c
index 4354889..1794c11 100755
--- a/openmax/component/common/Exynos_OMX_Basecomponent.c
+++ b/openmax/component/common/Exynos_OMX_Basecomponent.c
@@ -172,7 +172,6 @@ OMX_ERRORTYPE Exynos_OMX_ComponentStateSet(OMX_COMPONENTTYPE *pOMXComponent, OMX
OMX_STATETYPE destState = messageParam;
OMX_STATETYPE currentState = pExynosComponent->currentState;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- OMX_S32 countValue = 0;
unsigned int i = 0, j = 0;
int k = 0;
@@ -677,7 +676,6 @@ static OMX_ERRORTYPE Exynos_StateSet(EXYNOS_OMX_BASECOMPONENT *pExynosComponent,
static OMX_ERRORTYPE Exynos_SetPortFlush(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_U32 nParam)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
OMX_S32 portIndex = nParam;
OMX_U16 i = 0, cnt = 0, index = 0;
@@ -716,7 +714,7 @@ static OMX_ERRORTYPE Exynos_SetPortEnable(EXYNOS_OMX_BASECOMPONENT *pExynosCompo
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
OMX_S32 portIndex = nParam;
- OMX_U16 i = 0, cnt = 0;
+ OMX_U16 i = 0;
FunctionIn();
@@ -759,7 +757,7 @@ static OMX_ERRORTYPE Exynos_SetPortDisable(EXYNOS_OMX_BASECOMPONENT *pExynosComp
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
OMX_S32 portIndex = nParam;
- OMX_U16 i = 0, cnt = 0;
+ OMX_U16 i = 0;
FunctionIn();
@@ -795,10 +793,6 @@ EXIT:
static OMX_ERRORTYPE Exynos_SetMarkBuffer(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_U32 nParam)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- OMX_U32 portIndex = nParam;
- OMX_U16 i = 0, cnt = 0;
-
if (nParam >= pExynosComponent->portParam.nPorts) {
ret = OMX_ErrorBadPortIndex;
@@ -853,7 +847,6 @@ OMX_ERRORTYPE Exynos_OMX_SendCommand(
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_MESSAGE *message = NULL;
FunctionIn();
diff --git a/openmax/component/common/Exynos_OMX_Basecomponent.h b/openmax/component/common/Exynos_OMX_Basecomponent.h
index 6e889f8..5572639 100755
--- a/openmax/component/common/Exynos_OMX_Basecomponent.h
+++ b/openmax/component/common/Exynos_OMX_Basecomponent.h
@@ -104,8 +104,8 @@ typedef struct _EXYNOS_OMX_BASECOMPONENT
OMX_ERRORTYPE (*exynos_AllocateTunnelBuffer)(EXYNOS_OMX_BASEPORT *pOMXBasePort, OMX_U32 nPortIndex);
OMX_ERRORTYPE (*exynos_FreeTunnelBuffer)(EXYNOS_OMX_BASEPORT *pOMXBasePort, OMX_U32 nPortIndex);
- OMX_ERRORTYPE (*exynos_BufferProcessCreate)(OMX_COMPONENTTYPE *pOMXComponent);
- OMX_ERRORTYPE (*exynos_BufferProcessTerminate)(OMX_COMPONENTTYPE *pOMXComponent);
+ OMX_ERRORTYPE (*exynos_BufferProcessCreate)(OMX_HANDLETYPE pOMXComponent);
+ OMX_ERRORTYPE (*exynos_BufferProcessTerminate)(OMX_HANDLETYPE pOMXComponent);
OMX_ERRORTYPE (*exynos_BufferFlush)(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 nPortIndex, OMX_BOOL bEvent);
} EXYNOS_OMX_BASECOMPONENT;
diff --git a/openmax/component/common/Exynos_OMX_Baseport.c b/openmax/component/common/Exynos_OMX_Baseport.c
index 42d8e59..6452dce 100755
--- a/openmax/component/common/Exynos_OMX_Baseport.c
+++ b/openmax/component/common/Exynos_OMX_Baseport.c
@@ -99,9 +99,7 @@ OMX_ERRORTYPE Exynos_OMX_BufferFlushProcess(OMX_COMPONENTTYPE *pOMXComponent, OM
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
OMX_S32 portIndex = 0;
- EXYNOS_OMX_DATABUFFER *flushPortBuffer[2] = {NULL, NULL};
OMX_U32 i = 0, cnt = 0;
FunctionIn();
@@ -155,7 +153,6 @@ OMX_ERRORTYPE Exynos_OMX_EnablePort(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 po
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- OMX_U32 i = 0, cnt = 0;
FunctionIn();
#ifdef TIZEN_FEATURE_E54XX
@@ -173,7 +170,6 @@ OMX_ERRORTYPE Exynos_OMX_EnablePort(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 po
ret = OMX_ErrorNone;
-EXIT:
FunctionOut();
return ret;
@@ -242,7 +238,6 @@ OMX_ERRORTYPE Exynos_OMX_DisablePort(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 p
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- OMX_U32 i = 0, elemNum = 0;
EXYNOS_OMX_MESSAGE *message;
FunctionIn();
@@ -280,10 +275,8 @@ OMX_ERRORTYPE Exynos_OMX_PortDisableProcess(OMX_COMPONENTTYPE *pOMXComponent, OM
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
OMX_S32 portIndex = 0;
OMX_U32 i = 0, cnt = 0;
- EXYNOS_OMX_DATABUFFER *flushPortBuffer[2] = {NULL, NULL};
FunctionIn();
@@ -566,7 +559,6 @@ OMX_ERRORTYPE Exynos_OMX_Port_Constructor(OMX_HANDLETYPE hComponent)
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
EXYNOS_OMX_BASEPORT *pExynosInputPort = NULL;
EXYNOS_OMX_BASEPORT *pExynosOutputPort = NULL;
- int i = 0;
FunctionIn();
diff --git a/openmax/component/common/Exynos_OMX_Baseport.h b/openmax/component/common/Exynos_OMX_Baseport.h
index df52a3c..ee297c8 100755
--- a/openmax/component/common/Exynos_OMX_Baseport.h
+++ b/openmax/component/common/Exynos_OMX_Baseport.h
@@ -201,6 +201,9 @@ typedef struct _EXYNOS_OMX_BASEPORT
extern "C" {
#endif
+OMX_ERRORTYPE Exynos_OMX_FillThisBuffer(
+ OMX_IN OMX_HANDLETYPE hComponent,
+ OMX_IN OMX_BUFFERHEADERTYPE *pBuffer);
OMX_ERRORTYPE Exynos_OMX_PortEnableProcess(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 nPortIndex);
OMX_ERRORTYPE Exynos_OMX_PortDisableProcess(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 nPortIndex);
OMX_ERRORTYPE Exynos_OMX_BufferFlushProcess(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 nPortIndex, OMX_BOOL bEvent);
@@ -210,6 +213,8 @@ OMX_ERRORTYPE Exynos_ResetDataBuffer(EXYNOS_OMX_DATABUFFER *pDataBuffer);
OMX_ERRORTYPE Exynos_ResetCodecData(EXYNOS_OMX_DATA *pData);
OMX_ERRORTYPE Exynos_Shared_BufferToData(EXYNOS_OMX_DATABUFFER *pUseBuffer, EXYNOS_OMX_DATA *pData, EXYNOS_OMX_PLANE nPlane);
OMX_ERRORTYPE Exynos_Shared_DataToBuffer(EXYNOS_OMX_DATA *pData, EXYNOS_OMX_DATABUFFER *pUseBuffer);
+OMX_ERRORTYPE Exynos_OMX_InputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, OMX_BUFFERHEADERTYPE* bufferHeader);
+OMX_ERRORTYPE Exynos_OMX_OutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, OMX_BUFFERHEADERTYPE* bufferHeader);
#ifdef __cplusplus
};
diff --git a/openmax/component/common/Exynos_OMX_Resourcemanager.c b/openmax/component/common/Exynos_OMX_Resourcemanager.c
index 41fc127..8741ea8 100755
--- a/openmax/component/common/Exynos_OMX_Resourcemanager.c
+++ b/openmax/component/common/Exynos_OMX_Resourcemanager.c
@@ -163,7 +163,6 @@ int searchLowPriority(EXYNOS_OMX_RM_COMPONENT_LIST *RMComp_list, OMX_U32 inComp_
else
ret = 1;
-EXIT:
return ret;
}
@@ -258,7 +257,7 @@ OMX_ERRORTYPE Exynos_OMX_ResourceManager_Deinit()
ghVideoRMComponentListMutex = NULL;
ret = OMX_ErrorNone;
-EXIT:
+
FunctionOut();
return ret;
diff --git a/openmax/component/video/dec/Exynos_OMX_Vdec.c b/openmax/component/video/dec/Exynos_OMX_Vdec.c
index decd159..585c49a 100755
--- a/openmax/component/video/dec/Exynos_OMX_Vdec.c
+++ b/openmax/component/video/dec/Exynos_OMX_Vdec.c
@@ -35,10 +35,12 @@
#include "Exynos_OMX_Vdec.h"
#include "Exynos_OMX_VdecControl.h"
#include "Exynos_OMX_Basecomponent.h"
+#include "Exynos_OMX_Baseport.h"
#include "Exynos_OSAL_Thread.h"
#include "Exynos_OSAL_Semaphore.h"
#include "Exynos_OSAL_Mutex.h"
#include "Exynos_OSAL_ETC.h"
+#include "Exynos_OSAL_SharedMemory.h"
#ifdef USE_PB
#include "Exynos_OSAL_Platform_Specific.h"
@@ -199,7 +201,6 @@ OMX_BOOL Exynos_Check_BufferProcess_State(EXYNOS_OMX_BASECOMPONENT *pExynosCompo
OMX_ERRORTYPE Exynos_Input_CodecBufferToData(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_PTR codecBuffer, EXYNOS_OMX_DATA *pData)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
CODEC_DEC_BUFFER *pInputCodecBuffer = (CODEC_DEC_BUFFER *)codecBuffer;
pData->buffer.singlePlaneBuffer.dataBuffer = pInputCodecBuffer->pVirAddr[0];
@@ -243,8 +244,6 @@ OMX_ERRORTYPE Exynos_Output_CodecBufferToData(EXYNOS_OMX_BASECOMPONENT *pExynosC
void Exynos_Wait_ProcessPause(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_U32 nPortIndex)
{
- EXYNOS_OMX_BASEPORT *exynosOMXInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *exynosOMXOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *exynosOMXPort = NULL;
FunctionIn();
@@ -275,7 +274,6 @@ OMX_BOOL Exynos_CSC_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
EXYNOS_OMX_BASEPORT *exynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_DATABUFFER *outputUseBuffer = &exynosOutputPort->way.port2WayDataBuffer.outputDataBuffer;
- OMX_U32 copySize = 0;
DECODE_CODEC_EXTRA_BUFFERINFO *pBufferInfo = NULL;
FunctionIn();
@@ -310,9 +308,9 @@ OMX_BOOL Exynos_CSC_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
csc_get_method(pVideoDec->csc_handle, &csc_method);
#ifdef USE_DMA_BUF
if (csc_method == CSC_METHOD_HW) {
- pSrcBuf[0] = dstOutputData->buffer.multiPlaneBuffer.fd[0];
- pSrcBuf[1] = dstOutputData->buffer.multiPlaneBuffer.fd[1];
- pSrcBuf[2] = dstOutputData->buffer.multiPlaneBuffer.fd[2];
+ pSrcBuf[0] = (unsigned char *)(&dstOutputData->buffer.multiPlaneBuffer.fd[0]);
+ pSrcBuf[1] = (unsigned char *)(&dstOutputData->buffer.multiPlaneBuffer.fd[1]);
+ pSrcBuf[2] = (unsigned char *)(&dstOutputData->buffer.multiPlaneBuffer.fd[2]);
}
#endif
@@ -339,7 +337,7 @@ OMX_BOOL Exynos_CSC_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
#ifdef USE_DMA_BUF
if ((exynosOutputPort->bIsPBEnabled == OMX_FALSE) &&
(csc_method == CSC_METHOD_HW)) {
- pYUVBuf[0] = Exynos_OSAL_SharedMemory_VirtToION(pVideoDec->hSharedMemory, pOutputBuf);
+ pYUVBuf[0] = Exynos_OSAL_SharedMemory_VirtToION(pVideoDec->hSharedMemory, (OMX_PTR)pOutputBuf);
pYUVBuf[1] = NULL;
pYUVBuf[2] = NULL;
}
@@ -396,7 +394,6 @@ OMX_BOOL Exynos_CSC_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
}
#endif
-EXIT:
FunctionOut();
return ret;
@@ -406,7 +403,6 @@ OMX_BOOL Exynos_Preprocessor_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
{
OMX_BOOL ret = OMX_FALSE;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_OMX_BASEPORT *exynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_DATABUFFER *inputUseBuffer = &exynosInputPort->way.port2WayDataBuffer.inputDataBuffer;
OMX_U32 copySize = 0;
@@ -428,6 +424,8 @@ OMX_BOOL Exynos_Preprocessor_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
Exynos_Shared_BufferToData(inputUseBuffer, srcInputData, ONE_PLANE);
#ifndef TIZEN_FEATURE_E54XX
+ EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
+
if (pVideoDec->bDRMPlayerMode == OMX_TRUE) {
OMX_PTR dataBuffer = NULL;
@@ -509,12 +507,10 @@ OMX_BOOL Exynos_Postprocess_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
{
OMX_BOOL ret = OMX_FALSE;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_OMX_BASEPORT *exynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *exynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_DATABUFFER *outputUseBuffer = &exynosOutputPort->way.port2WayDataBuffer.outputDataBuffer;
OMX_U32 copySize = 0;
- DECODE_CODEC_EXTRA_BUFFERINFO *pBufferInfo = NULL;
FunctionIn();
@@ -568,15 +564,7 @@ OMX_BOOL Exynos_Postprocess_OutputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
}
if (exynosOutputPort->bufferProcessType & BUFFER_COPY) {
- OMX_U32 width = 0, height = 0;
- int imageSize = 0;
- void *pOutputBuf = (void *)outputUseBuffer->bufferHeader->pBuffer;
-
- pBufferInfo = (DECODE_CODEC_EXTRA_BUFFERINFO *)dstOutputData->extInfo;
-
- width = pBufferInfo->imageWidth;
- height = pBufferInfo->imageHeight;
- imageSize = width * height;
+ //void *pOutputBuf = (void *)outputUseBuffer->bufferHeader->pBuffer;
if ((dstOutputData->remainDataLen <= (outputUseBuffer->allocSize - outputUseBuffer->dataLen)) &&
(!CHECK_PORT_BEING_FLUSHED(exynosOutputPort))) {
@@ -668,7 +656,6 @@ OMX_ERRORTYPE Exynos_OMX_SrcInputBufferProcess(OMX_HANDLETYPE hComponent)
EXYNOS_OMX_DATABUFFER *srcInputUseBuffer = &exynosInputPort->way.port2WayDataBuffer.inputDataBuffer;
EXYNOS_OMX_DATA *pSrcInputData = &exynosInputPort->processData;
OMX_BOOL bCheckInputData = OMX_FALSE;
- OMX_BOOL bValidCodecData = OMX_FALSE;
OMX_BOOL bCodecConfigured = OMX_FALSE;
FunctionIn();
@@ -682,13 +669,13 @@ OMX_ERRORTYPE Exynos_OMX_SrcInputBufferProcess(OMX_HANDLETYPE hComponent)
Exynos_OSAL_SleepMillisec(0);
if ((CHECK_PORT_BEING_FLUSHED(exynosInputPort)) ||
- ((exynosOutputPort->exceptionFlag == NEED_PORT_DISABLE) && (ret == OMX_ErrorInputDataDecodeYet)))
+ ((exynosOutputPort->exceptionFlag == NEED_PORT_DISABLE) && (ret == (OMX_ERRORTYPE)OMX_ErrorInputDataDecodeYet)))
break;
if (exynosInputPort->portState != OMX_StateIdle)
break;
Exynos_OSAL_MutexLock(srcInputUseBuffer->bufferMutex);
- if (ret != OMX_ErrorInputDataDecodeYet) {
+ if (ret != (OMX_ERRORTYPE)OMX_ErrorInputDataDecodeYet) {
if (exynosInputPort->bufferProcessType & BUFFER_COPY) {
OMX_PTR codecBuffer;
@@ -734,7 +721,7 @@ OMX_ERRORTYPE Exynos_OMX_SrcInputBufferProcess(OMX_HANDLETYPE hComponent)
ret = pVideoDec->exynos_codec_srcInputProcess(pOMXComponent, pSrcInputData);
- if (ret == OMX_ErrorCorruptedFrame) {
+ if (ret == (OMX_ERRORTYPE)OMX_ErrorCorruptedFrame) {
if (exynosInputPort->bufferProcessType & BUFFER_COPY) {
OMX_PTR codecBuffer;
codecBuffer = pSrcInputData->pPrivate;
@@ -747,17 +734,15 @@ OMX_ERRORTYPE Exynos_OMX_SrcInputBufferProcess(OMX_HANDLETYPE hComponent)
}
}
- if (ret != OMX_ErrorInputDataDecodeYet) {
+ if (ret != (OMX_ERRORTYPE)OMX_ErrorInputDataDecodeYet) {
Exynos_ResetCodecData(pSrcInputData);
}
Exynos_OSAL_MutexUnlock(srcInputUseBuffer->bufferMutex);
- if (ret == OMX_ErrorCodecInit)
+ if (ret == (OMX_ERRORTYPE)OMX_ErrorCodecInit)
pVideoDec->bExitBufferProcessThread = OMX_TRUE;
}
}
-EXIT:
-
FunctionOut();
return ret;
@@ -808,8 +793,6 @@ OMX_ERRORTYPE Exynos_OMX_SrcOutputBufferProcess(OMX_HANDLETYPE hComponent)
}
}
-EXIT:
-
FunctionOut();
return ret;
@@ -841,7 +824,7 @@ OMX_ERRORTYPE Exynos_OMX_DstInputBufferProcess(OMX_HANDLETYPE hComponent)
break;
Exynos_OSAL_MutexLock(dstInputUseBuffer->bufferMutex);
- if (ret != OMX_ErrorOutputBufferUseYet) {
+ if (ret != (OMX_ERRORTYPE)OMX_ErrorOutputBufferUseYet) {
if (exynosOutputPort->bufferProcessType & BUFFER_COPY) {
OMX_PTR codecBuffer;
ret = Exynos_CodecBufferDeQueue(pExynosComponent, OUTPUT_PORT_INDEX, &codecBuffer);
@@ -883,15 +866,13 @@ OMX_ERRORTYPE Exynos_OMX_DstInputBufferProcess(OMX_HANDLETYPE hComponent)
}
ret = pVideoDec->exynos_codec_dstInputProcess(pOMXComponent, &dstInputData);
- if (ret != OMX_ErrorOutputBufferUseYet) {
+ if (ret != (OMX_ERRORTYPE)OMX_ErrorOutputBufferUseYet) {
Exynos_ResetCodecData(&dstInputData);
}
Exynos_OSAL_MutexUnlock(dstInputUseBuffer->bufferMutex);
}
}
-EXIT:
-
FunctionOut();
return ret;
@@ -956,8 +937,6 @@ OMX_ERRORTYPE Exynos_OMX_DstOutputBufferProcess(OMX_HANDLETYPE hComponent)
}
}
-EXIT:
-
FunctionOut();
return ret;
@@ -967,8 +946,6 @@ static OMX_ERRORTYPE Exynos_OMX_SrcInputProcessThread(OMX_PTR threadData)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_MESSAGE *message = NULL;
FunctionIn();
@@ -981,7 +958,6 @@ static OMX_ERRORTYPE Exynos_OMX_SrcInputProcessThread(OMX_PTR threadData)
if (ret != OMX_ErrorNone) {
goto EXIT;
}
- pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
Exynos_OMX_SrcInputBufferProcess(pOMXComponent);
Exynos_OSAL_ThreadExit(NULL);
@@ -996,8 +972,6 @@ static OMX_ERRORTYPE Exynos_OMX_SrcOutputProcessThread(OMX_PTR threadData)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_MESSAGE *message = NULL;
FunctionIn();
@@ -1010,7 +984,6 @@ static OMX_ERRORTYPE Exynos_OMX_SrcOutputProcessThread(OMX_PTR threadData)
if (ret != OMX_ErrorNone) {
goto EXIT;
}
- pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
Exynos_OMX_SrcOutputBufferProcess(pOMXComponent);
Exynos_OSAL_ThreadExit(NULL);
@@ -1025,8 +998,6 @@ static OMX_ERRORTYPE Exynos_OMX_DstInputProcessThread(OMX_PTR threadData)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_MESSAGE *message = NULL;
FunctionIn();
@@ -1039,7 +1010,6 @@ static OMX_ERRORTYPE Exynos_OMX_DstInputProcessThread(OMX_PTR threadData)
if (ret != OMX_ErrorNone) {
goto EXIT;
}
- pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
Exynos_OMX_DstInputBufferProcess(pOMXComponent);
Exynos_OSAL_ThreadExit(NULL);
@@ -1054,8 +1024,6 @@ static OMX_ERRORTYPE Exynos_OMX_DstOutputProcessThread(OMX_PTR threadData)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_MESSAGE *message = NULL;
FunctionIn();
@@ -1068,7 +1036,6 @@ static OMX_ERRORTYPE Exynos_OMX_DstOutputProcessThread(OMX_PTR threadData)
if (ret != OMX_ErrorNone) {
goto EXIT;
}
- pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
Exynos_OMX_DstOutputBufferProcess(pOMXComponent);
Exynos_OSAL_ThreadExit(NULL);
@@ -1106,7 +1073,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess_Create(OMX_HANDLETYPE hComponent)
Exynos_OMX_SrcInputProcessThread,
pOMXComponent);
-EXIT:
FunctionOut();
return ret;
@@ -1119,7 +1085,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess_Terminate(OMX_HANDLETYPE hComponent)
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
OMX_S32 countValue = 0;
- unsigned int i = 0;
FunctionIn();
@@ -1157,7 +1122,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess_Terminate(OMX_HANDLETYPE hComponent)
Exynos_OSAL_ThreadTerminate(pVideoDec->hDstOutputThread);
pVideoDec->hDstOutputThread = NULL;
-EXIT:
FunctionOut();
return ret;
diff --git a/openmax/component/video/dec/Exynos_OMX_Vdec.h b/openmax/component/video/dec/Exynos_OMX_Vdec.h
index 891ed9a..f601680 100755
--- a/openmax/component/video/dec/Exynos_OMX_Vdec.h
+++ b/openmax/component/video/dec/Exynos_OMX_Vdec.h
@@ -186,6 +186,8 @@ OMX_ERRORTYPE Exynos_OMX_DstOutputBufferProcess(OMX_HANDLETYPE hComponent);
OMX_ERRORTYPE Exynos_OMX_VideoDecodeComponentInit(OMX_IN OMX_HANDLETYPE hComponent);
OMX_ERRORTYPE Exynos_OMX_VideoDecodeComponentDeinit(OMX_IN OMX_HANDLETYPE hComponent);
+OMX_ERRORTYPE Exynos_OMX_BufferProcess_Create(OMX_HANDLETYPE hComponent);
+OMX_ERRORTYPE Exynos_OMX_BufferProcess_Terminate(OMX_HANDLETYPE hComponent);
#ifdef __cplusplus
}
#endif
diff --git a/openmax/component/video/dec/Exynos_OMX_VdecControl.c b/openmax/component/video/dec/Exynos_OMX_VdecControl.c
index 82f4802..8d05edf 100755..100644
--- a/openmax/component/video/dec/Exynos_OMX_VdecControl.c
+++ b/openmax/component/video/dec/Exynos_OMX_VdecControl.c
@@ -38,6 +38,7 @@
#include "Exynos_OSAL_Mutex.h"
#include "Exynos_OSAL_ETC.h"
#include "Exynos_OSAL_SharedMemory.h"
+#include "Exynos_OMX_Baseport.h"
#ifdef USE_PB
#include "Exynos_OSAL_Platform_Specific.h"
@@ -144,7 +145,7 @@ OMX_ERRORTYPE Exynos_OMX_UseBuffer(
Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "\nPlatformBuffer: buf %d pYUVBuf[0]:0x%x , pYUVBuf[1]:0x%x ",
i, pExynosPort->extendBufferHeader[i].pYUVBuf[0], pExynosPort->extendBufferHeader[i].pYUVBuf[1]);
} else if ((pVideoDec->bDRMPlayerMode == OMX_TRUE) && (nPortIndex == INPUT_PORT_INDEX)) {
- pExynosPort->extendBufferHeader[i].buf_fd[0] = pBuffer;
+ pExynosPort->extendBufferHeader[i].buf_fd[0] = (int)pBuffer;
} else if(nPortIndex == INPUT_PORT_INDEX) {
MMVideoBuffer * pSlpOutBuf = (MMVideoBuffer *)pBuffer;
temp_bufferHeader->pBuffer = pSlpOutBuf->data[0];
@@ -254,7 +255,7 @@ OMX_ERRORTYPE Exynos_OMX_AllocateBuffer(
pExynosPort->bufferStateAllocate[i] = (BUFFER_STATE_ALLOCATED | HEADER_STATE_ALLOCATED);
INIT_SET_SIZE_VERSION(temp_bufferHeader, OMX_BUFFERHEADERTYPE);
if (mem_type == SECURE_MEMORY)
- temp_bufferHeader->pBuffer = temp_buffer_fd;
+ temp_bufferHeader->pBuffer = (OMX_U8 *)temp_buffer_fd;
else
temp_bufferHeader->pBuffer = temp_buffer;
temp_bufferHeader->nAllocLen = nSizeBytes;
@@ -297,8 +298,6 @@ OMX_ERRORTYPE Exynos_OMX_FreeBuffer(
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- OMX_BUFFERHEADERTYPE *temp_bufferHeader = NULL;
- OMX_U8 *temp_buffer = NULL;
OMX_U32 i = 0;
FunctionIn();
@@ -380,29 +379,13 @@ EXIT:
OMX_ERRORTYPE Exynos_OMX_AllocateTunnelBuffer(EXYNOS_OMX_BASEPORT *pOMXBasePort, OMX_U32 nPortIndex)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- OMX_BUFFERHEADERTYPE *temp_bufferHeader = NULL;
- OMX_U8 *temp_buffer = NULL;
- OMX_U32 bufferSize = 0;
- OMX_PARAM_PORTDEFINITIONTYPE portDefinition;
-
- ret = OMX_ErrorTunnelingUnsupported;
-EXIT:
- return ret;
+
+ return OMX_ErrorTunnelingUnsupported;
}
OMX_ERRORTYPE Exynos_OMX_FreeTunnelBuffer(EXYNOS_OMX_BASEPORT *pOMXBasePort, OMX_U32 nPortIndex)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
- EXYNOS_OMX_BASEPORT* pExynosPort = NULL;
- OMX_BUFFERHEADERTYPE* temp_bufferHeader = NULL;
- OMX_U8 *temp_buffer = NULL;
- OMX_U32 bufferSize = 0;
-
- ret = OMX_ErrorTunnelingUnsupported;
-EXIT:
- return ret;
+ return OMX_ErrorTunnelingUnsupported;
}
OMX_ERRORTYPE Exynos_OMX_ComponentTunnelRequest(
@@ -412,11 +395,7 @@ OMX_ERRORTYPE Exynos_OMX_ComponentTunnelRequest(
OMX_IN OMX_U32 nTunneledPort,
OMX_INOUT OMX_TUNNELSETUPTYPE *pTunnelSetup)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
-
- ret = OMX_ErrorTunnelingUnsupported;
-EXIT:
- return ret;
+ return OMX_ErrorTunnelingUnsupported;
}
OMX_ERRORTYPE Exynos_OMX_GetFlushBuffer(EXYNOS_OMX_BASEPORT *pExynosPort, EXYNOS_OMX_DATABUFFER *pDataBuffer[])
@@ -434,7 +413,6 @@ OMX_ERRORTYPE Exynos_OMX_GetFlushBuffer(EXYNOS_OMX_BASEPORT *pExynosPort, EXYNOS
pDataBuffer[1] = &(pExynosPort->way.port2WayDataBuffer.outputDataBuffer);
}
-EXIT:
FunctionOut();
return ret;
@@ -449,7 +427,6 @@ OMX_ERRORTYPE Exynos_OMX_FlushPort(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 por
OMX_BUFFERHEADERTYPE *bufferHeader = NULL;
EXYNOS_OMX_DATABUFFER *pDataPortBuffer[2] = {NULL, NULL};
EXYNOS_OMX_MESSAGE *message = NULL;
- OMX_U32 flushNum = 0;
OMX_S32 semValue = 0;
int i = 0, maxBufferNum = 0;
FunctionIn();
@@ -532,7 +509,6 @@ OMX_ERRORTYPE Exynos_OMX_FlushPort(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 por
}
Exynos_OSAL_ResetQueue(&pExynosPort->bufferQ);
-EXIT:
FunctionOut();
return ret;
@@ -546,7 +522,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferFlush(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 n
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
EXYNOS_OMX_DATABUFFER *flushPortBuffer1 = NULL;
EXYNOS_OMX_DATABUFFER *flushPortBuffer2 = NULL;
- OMX_U32 i = 0, cnt = 0;
FunctionIn();
#ifdef TIZEN_FEATURE_E54XX
@@ -698,7 +673,6 @@ OMX_ERRORTYPE Exynos_InputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent)
/* reset dataBuffer */
Exynos_ResetDataBuffer(dataBuffer);
-EXIT:
FunctionOut();
return ret;
@@ -743,7 +717,6 @@ OMX_ERRORTYPE Exynos_FlushInputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, EX
/* reset dataBuffer */
Exynos_ResetDataBuffer(dataBuffer);
-EXIT:
FunctionOut();
return ret;
@@ -854,7 +827,6 @@ OMX_ERRORTYPE Exynos_OutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent)
/* reset dataBuffer */
Exynos_ResetDataBuffer(dataBuffer);
-EXIT:
FunctionOut();
return ret;
@@ -864,7 +836,6 @@ OMX_ERRORTYPE Exynos_FlushOutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, E
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_BASEPORT *exynosOMXOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_BUFFERHEADERTYPE *bufferHeader = NULL;
FunctionIn();
@@ -899,7 +870,6 @@ OMX_ERRORTYPE Exynos_FlushOutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, E
/* reset dataBuffer */
Exynos_ResetDataBuffer(dataBuffer);
-EXIT:
FunctionOut();
return ret;
@@ -1035,13 +1005,13 @@ OMX_ERRORTYPE Exynos_CodecBufferDeQueue(EXYNOS_OMX_BASECOMPONENT *pExynosCompone
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- OMX_U32 tempData;
+ void *tempData;
FunctionIn();
pExynosPort = &pExynosComponent->pExynosPort[PortIndex];
Exynos_OSAL_SemaphoreWait(pExynosPort->codecSemID);
- tempData = (OMX_U32)Exynos_OSAL_Dequeue(&pExynosPort->codecBufferQ);
+ tempData = Exynos_OSAL_Dequeue(&pExynosPort->codecBufferQ);
if (tempData == NULL) {
*data = NULL;
ret = OMX_ErrorUndefined;
@@ -1072,7 +1042,7 @@ OMX_ERRORTYPE Exynos_CodecBufferReset(EXYNOS_OMX_BASECOMPONENT *pExynosComponent
goto EXIT;
}
while (1) {
- int cnt = 0;
+ OMX_S32 cnt = 0;
Exynos_OSAL_Get_SemaphoreCount(pExynosPort->codecSemID, &cnt);
if (cnt > 0)
Exynos_OSAL_SemaphoreWait(pExynosPort->codecSemID);
@@ -1095,7 +1065,6 @@ OMX_ERRORTYPE Exynos_OMX_VideoDecodeGetParameter(
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
FunctionIn();
@@ -1237,7 +1206,6 @@ OMX_ERRORTYPE Exynos_OMX_VideoDecodeSetParameter(
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
FunctionIn();
@@ -1272,10 +1240,8 @@ OMX_ERRORTYPE Exynos_OMX_VideoDecodeSetParameter(
{
OMX_VIDEO_PARAM_PORTFORMATTYPE *portFormat = (OMX_VIDEO_PARAM_PORTFORMATTYPE *)ComponentParameterStructure;
OMX_U32 portIndex = portFormat->nPortIndex;
- OMX_U32 index = portFormat->nIndex;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
OMX_PARAM_PORTDEFINITIONTYPE *portDefinition = NULL;
- OMX_U32 supportFormatNum = 0;
ret = Exynos_OMX_Check_SizeVersion(portFormat, sizeof(OMX_VIDEO_PARAM_PORTFORMATTYPE));
if (ret != OMX_ErrorNone) {
diff --git a/openmax/component/video/dec/Exynos_OMX_VdecControl.h b/openmax/component/video/dec/Exynos_OMX_VdecControl.h
index 376e292..3d881e8 100755
--- a/openmax/component/video/dec/Exynos_OMX_VdecControl.h
+++ b/openmax/component/video/dec/Exynos_OMX_VdecControl.h
@@ -92,6 +92,12 @@ OMX_ERRORTYPE Exynos_OutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent);
OMX_ERRORTYPE Exynos_OMX_BufferFlush(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 nPortIndex, OMX_BOOL bEvent);
OMX_ERRORTYPE Exynos_FlushInputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATABUFFER *dataBuffer);
OMX_ERRORTYPE Exynos_FlushOutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATABUFFER *dataBuffer);
+OMX_ERRORTYPE Exynos_CodecBufferReset(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_U32 PortIndex);
+OMX_ERRORTYPE Exynos_CodecBufferEnQueue(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_U32 PortIndex, OMX_PTR data);
+OMX_BUFFERHEADERTYPE *Exynos_OutputBufferGetQueue_Direct(EXYNOS_OMX_BASECOMPONENT *pExynosComponent);
+OMX_ERRORTYPE Exynos_OutputBufferGetQueue(EXYNOS_OMX_BASECOMPONENT *pExynosComponent);
+OMX_ERRORTYPE Exynos_CodecBufferDeQueue(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_U32 PortIndex, OMX_PTR *data);
+OMX_ERRORTYPE Exynos_InputBufferGetQueue(EXYNOS_OMX_BASECOMPONENT *pExynosComponent);
#ifdef USE_PB
OMX_ERRORTYPE Exynos_Shared_PlatformBufferToData(EXYNOS_OMX_DATABUFFER *pUseBuffer, EXYNOS_OMX_DATA *pData, EXYNOS_OMX_BASEPORT *pExynosPort, EXYNOS_OMX_PLANE nPlane);
diff --git a/openmax/component/video/dec/h264/Exynos_OMX_H264dec.c b/openmax/component/video/dec/h264/Exynos_OMX_H264dec.c
index 89f0954..7b85fdd 100755..100644
--- a/openmax/component/video/dec/h264/Exynos_OMX_H264dec.c
+++ b/openmax/component/video/dec/h264/Exynos_OMX_H264dec.c
@@ -41,6 +41,7 @@
#include "ExynosVideoApi.h"
#include "Exynos_OSAL_SharedMemory.h"
#include "Exynos_OSAL_Event.h"
+#include "Exynos_OMX_VdecControl.h"
@@ -112,16 +113,13 @@ EXYNOS_OMX_VIDEO_PROFILELEVEL supportedAVCProfileLevels[] ={
static OMX_ERRORTYPE GetCodecInputPrivateData(OMX_PTR codecBuffer, void *pVirtAddr, OMX_U32 *dataSize)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
-
-EXIT:
- return ret;
+ return OMX_ErrorNone;
}
-static OMX_ERRORTYPE GetCodecOutputPrivateData(OMX_PTR codecBuffer, void *addr[], int size[])
+static OMX_ERRORTYPE GetCodecOutputPrivateData(OMX_PTR codecBuffer, OMX_PTR addr[], OMX_U32 size[])
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
- ExynosVideoBuffer *pCodecBuffer;
+ OMX_ERRORTYPE ret = OMX_ErrorNone;
+ ExynosVideoBuffer *pCodecBuffer = NULL;
if (codecBuffer == NULL) {
ret = OMX_ErrorBadParameter;
@@ -411,7 +409,6 @@ OMX_ERRORTYPE H264CodecStart(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInde
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
void *hMFCHandle = NULL;
- ExynosVideoDecOps *pDecOps = NULL;
ExynosVideoDecBufferOps *pInbufOps = NULL;
ExynosVideoDecBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
@@ -437,7 +434,6 @@ OMX_ERRORTYPE H264CodecStart(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInde
}
hMFCHandle = pH264Dec->hMFCH264Handle.hMFCHandle;
- pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
pInbufOps = pH264Dec->hMFCH264Handle.pInbufOps;
pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
@@ -458,7 +454,6 @@ OMX_ERRORTYPE H264CodecStop(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
void *hMFCHandle = NULL;
- ExynosVideoDecOps *pDecOps = NULL;
ExynosVideoDecBufferOps *pInbufOps = NULL;
ExynosVideoDecBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
@@ -483,7 +478,6 @@ OMX_ERRORTYPE H264CodecStop(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex
}
hMFCHandle = pH264Dec->hMFCH264Handle.hMFCHandle;
- pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
pInbufOps = pH264Dec->hMFCH264Handle.pInbufOps;
pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
@@ -512,7 +506,6 @@ OMX_ERRORTYPE H264CodecSrcInit(OMX_COMPONENTTYPE *pOMXComponent)
ExynosVideoDecOps *pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pH264Dec->hMFCH264Handle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
ExynosVideoGeometry bufferConf;
OMX_U32 inputBufferNumber = 0;
int i, plane;
@@ -609,16 +602,20 @@ OMX_ERRORTYPE H264CodecSrcInit(OMX_COMPONENTTYPE *pOMXComponent)
/* Register input buffer */
for (i = 0; i < pExynosInputPort->portDefinition.nBufferCountActual; i++) {
ExynosVideoPlane plane;
+#if 0
if (pVideoDec->bDRMPlayerMode == OMX_TRUE) {
+#endif
#ifdef TIZEN_FEATURE_E54XX
/* IL Client assigns FD value in pBuffer */
- plane.addr = pExynosInputPort->extendBufferHeader[i].OMXBufferHeader->pBuffer;
+ plane.addr = pExynosInputPort->extendBufferHeader[i].OMXBufferHeader->pBuffer;
#else
- plane.addr = Exynos_OSAL_SharedMemory_IONToVirt(pVideoDec->hSharedMemory, pExynosInputPort->extendBufferHeader[i].OMXBufferHeader->pBuffer);
+ plane.addr = Exynos_OSAL_SharedMemory_IONToVirt(pVideoDec->hSharedMemory, pExynosInputPort->extendBufferHeader[i].OMXBufferHeader->pBuffer);
#endif
+#if 0
} else {
plane.addr = pExynosInputPort->extendBufferHeader[i].OMXBufferHeader->pBuffer;
}
+#endif
plane.allocSize = pExynosInputPort->extendBufferHeader[i].OMXBufferHeader->nAllocLen;
plane.fd = pExynosInputPort->extendBufferHeader[i].buf_fd[0];
if (pInbufOps->Register(hMFCHandle, &plane, MFC_INPUT_BUFFER_PLANE) != VIDEO_ERROR_NONE) {
@@ -639,10 +636,6 @@ EXIT:
OMX_ERRORTYPE H264CodecOutputBufferProcessRun(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- void *hMFCHandle = NULL;
- ExynosVideoDecOps *pDecOps = NULL;
- ExynosVideoDecBufferOps *pInbufOps = NULL;
- ExynosVideoDecBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
EXYNOS_H264DEC_HANDLE *pH264Dec = NULL;
@@ -664,10 +657,6 @@ OMX_ERRORTYPE H264CodecOutputBufferProcessRun(OMX_COMPONENTTYPE *pOMXComponent,
goto EXIT;
}
- hMFCHandle = pH264Dec->hMFCH264Handle.hMFCHandle;
- pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
- pInbufOps = pH264Dec->hMFCH264Handle.pInbufOps;
- pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
if (nPortIndex == INPUT_PORT_INDEX) {
if (pH264Dec->bSourceStart == OMX_FALSE) {
@@ -698,8 +687,6 @@ OMX_ERRORTYPE H264CodecEnQueueAllBuffer(OMX_COMPONENTTYPE *pOMXComponent, OMX_U3
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pH264Dec->hMFCH264Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
int i, nOutbufs;
ExynosVideoDecOps *pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
@@ -727,7 +714,6 @@ OMX_ERRORTYPE H264CodecEnQueueAllBuffer(OMX_COMPONENTTYPE *pOMXComponent, OMX_U3
pInbufOps->Clear_Queue(hMFCHandle);
} else if ((nPortIndex == OUTPUT_PORT_INDEX) &&
(pH264Dec->bDestinationStart == OMX_TRUE)) {
- OMX_U32 dataLen[MFC_OUTPUT_BUFFER_PLANE] = {0, 0};
ExynosVideoBuffer *pBuffer = NULL;
Exynos_CodecBufferReset(pExynosComponent, OUTPUT_PORT_INDEX);
@@ -796,7 +782,6 @@ EXIT:
OMX_ERRORTYPE H264CodecDstFreeCodecBuffers(
OMX_COMPONENTTYPE *pOMXComponent)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)pVideoDec->hCodecHandle;
@@ -943,8 +928,6 @@ OMX_ERRORTYPE H264CodecResetupAllElement(
EXYNOS_OMX_BASEPORT *pOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecBufferOps *pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
- int i, j, nOutbufs;
-
FunctionIn();
if ((nPortIndex == INPUT_PORT_INDEX) &&
@@ -994,19 +977,15 @@ OMX_ERRORTYPE H264CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DAT
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pH264Dec->hMFCH264Handle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_U32 oneFrameSize = pSrcInputData->dataLen;
ExynosVideoDecOps *pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pH264Dec->hMFCH264Handle.pInbufOps;
ExynosVideoDecBufferOps *pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
ExynosVideoGeometry bufferConf;
- OMX_U32 inputBufferNumber = 0;
- int i;
FunctionIn();
@@ -1047,7 +1026,6 @@ OMX_ERRORTYPE H264CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DAT
if (pInbufOps->Enqueue(hMFCHandle, (unsigned char **)&pSrcInputData->buffer.singlePlaneBuffer.dataBuffer,
(unsigned int *)&oneFrameSize, MFC_INPUT_BUFFER_PLANE, pSrcInputData->bufferHeader) != VIDEO_ERROR_NONE) {
Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to enqueue input buffer for header parsing");
-// ret = OMX_ErrorInsufficientResources;
ret = (OMX_ERRORTYPE)OMX_ErrorCodecInit;
goto EXIT;
}
@@ -1087,11 +1065,9 @@ OMX_ERRORTYPE H264CodecDstSetup(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)pVideoDec->hCodecHandle;
void *hMFCHandle = pH264Dec->hMFCH264Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecOps *pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
- ExynosVideoDecBufferOps *pInbufOps = pH264Dec->hMFCH264Handle.pInbufOps;
ExynosVideoDecBufferOps *pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
int i, nOutbufs;
@@ -1232,10 +1208,7 @@ OMX_ERRORTYPE H264CodecCheckResolutionChange(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecOps *pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
- ExynosVideoDecBufferOps *pInbufOps = pH264Dec->hMFCH264Handle.pInbufOps;
ExynosVideoDecBufferOps *pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
- ExynosVideoGeometry bufferConf;
- int i;
FunctionIn();
@@ -1629,7 +1602,7 @@ OMX_ERRORTYPE Exynos_H264Dec_SetParameter(
case OMX_COLOR_FormatYUV420Planar:
case OMX_COLOR_FormatYUV420SemiPlanar:
pExynosOutputPort->portDefinition.nBufferSize = (width * height * 3) / 2;
- //break;
+ break;
#ifdef TIZEN_FEATURE_E54XX /* NV12T fd */
case OMX_SEC_COLOR_FormatNV12T_DmaBuf_Fd:
pExynosOutputPort->portDefinition.nBufferSize = sizeof(MMVideoBuffer);
@@ -1881,7 +1854,6 @@ OMX_ERRORTYPE Exynos_H264Dec_GetExtensionIndex(
}
if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL) == 0) {
- EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
*pIndexType = OMX_IndexVendorThumbnailMode;
ret = OMX_ErrorNone;
}
@@ -1907,8 +1879,6 @@ OMX_ERRORTYPE Exynos_H264Dec_ComponentRoleEnum(
OMX_U32 nIndex)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
FunctionIn();
@@ -1938,11 +1908,6 @@ OMX_ERRORTYPE Exynos_H264Dec_Init(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)pVideoDec->hCodecHandle;
- OMX_PTR hMFCHandle = pH264Dec->hMFCH264Handle.hMFCHandle;
-
- ExynosVideoDecOps *pDecOps = NULL;
- ExynosVideoDecBufferOps *pInbufOps = NULL;
- ExynosVideoDecBufferOps *pOutbufOps = NULL;
CSC_METHOD csc_method = CSC_METHOD_SW;
int i, plane;
@@ -1960,10 +1925,6 @@ OMX_ERRORTYPE Exynos_H264Dec_Init(OMX_COMPONENTTYPE *pOMXComponent)
goto EXIT;
}
- pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
- pInbufOps = pH264Dec->hMFCH264Handle.pInbufOps;
- pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
-
if (pExynosInputPort->bufferProcessType & BUFFER_COPY) {
Exynos_OSAL_SemaphoreCreate(&pExynosInputPort->codecSemID);
Exynos_OSAL_QueueCreate(&pExynosInputPort->codecBufferQ, MAX_QUEUE_ELEMENTS);
@@ -2061,13 +2022,8 @@ OMX_ERRORTYPE Exynos_H264Dec_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- OMX_PTR hMFCHandle = pH264Dec->hMFCH264Handle.hMFCHandle;
- ExynosVideoDecOps *pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
- ExynosVideoDecBufferOps *pInbufOps = pH264Dec->hMFCH264Handle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
-
- int i, plane;
+ int i;
FunctionIn();
@@ -2119,7 +2075,6 @@ OMX_ERRORTYPE Exynos_H264Dec_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
}
H264CodecClose(pH264Dec);
-EXIT:
FunctionOut();
return ret;
@@ -2132,15 +2087,11 @@ OMX_ERRORTYPE Exynos_H264Dec_SrcIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pH264Dec->hMFCH264Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_U32 oneFrameSize = pSrcInputData->dataLen;
OMX_BOOL bInStartCode = OMX_FALSE;
ExynosVideoDecOps *pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pH264Dec->hMFCH264Handle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
ExynosVideoErrorType codecReturn = VIDEO_ERROR_NONE;
- int i;
FunctionIn();
@@ -2221,7 +2172,6 @@ OMX_ERRORTYPE Exynos_H264Dec_SrcOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pH264Dec->hMFCH264Handle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- ExynosVideoDecOps *pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pH264Dec->hMFCH264Handle.pInbufOps;
ExynosVideoBuffer *pVideoBuffer;
@@ -2279,7 +2229,6 @@ OMX_ERRORTYPE Exynos_H264Dec_DstIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_
EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pH264Dec->hMFCH264Handle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
- ExynosVideoDecOps *pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
ExynosVideoDecBufferOps *pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
OMX_U32 dataLen[MFC_OUTPUT_BUFFER_PLANE] = {0,};
ExynosVideoErrorType codecReturn = VIDEO_ERROR_NONE;
@@ -2331,7 +2280,6 @@ OMX_ERRORTYPE Exynos_H264Dec_DstOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)pVideoDec->hCodecHandle;
void *hMFCHandle = pH264Dec->hMFCH264Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecOps *pDecOps = pH264Dec->hMFCH264Handle.pDecOps;
ExynosVideoDecBufferOps *pOutbufOps = pH264Dec->hMFCH264Handle.pOutbufOps;
@@ -2490,7 +2438,6 @@ OMX_ERRORTYPE Exynos_H264Dec_srcInputBufferProcess(OMX_COMPONENTTYPE *pOMXCompon
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
FunctionIn();
@@ -2506,8 +2453,8 @@ OMX_ERRORTYPE Exynos_H264Dec_srcInputBufferProcess(OMX_COMPONENTTYPE *pOMXCompon
ret = Exynos_H264Dec_SrcIn(pOMXComponent, pSrcInputData);
if ((ret != OMX_ErrorNone) &&
- (ret != OMX_ErrorInputDataDecodeYet) &&
- (ret != OMX_ErrorCorruptedFrame)) {
+ (ret != (OMX_ERRORTYPE)OMX_ErrorInputDataDecodeYet) &&
+ (ret != (OMX_ERRORTYPE)OMX_ErrorCorruptedFrame)) {
pExynosComponent->pCallbacks->EventHandler((OMX_HANDLETYPE)pOMXComponent,
pExynosComponent->callbackData,
OMX_EventError, ret, 0, NULL);
diff --git a/openmax/component/video/dec/h264/library_register.c b/openmax/component/video/dec/h264/library_register.c
index 7fe26e8..7fe26e8 100755..100644
--- a/openmax/component/video/dec/h264/library_register.c
+++ b/openmax/component/video/dec/h264/library_register.c
diff --git a/openmax/component/video/dec/mpeg2/Exynos_OMX_Mpeg2dec.c b/openmax/component/video/dec/mpeg2/Exynos_OMX_Mpeg2dec.c
index 1f43543..356b067 100755
--- a/openmax/component/video/dec/mpeg2/Exynos_OMX_Mpeg2dec.c
+++ b/openmax/component/video/dec/mpeg2/Exynos_OMX_Mpeg2dec.c
@@ -41,6 +41,7 @@
#include "ExynosVideoApi.h"
#include "Exynos_OSAL_SharedMemory.h"
#include "Exynos_OSAL_Event.h"
+#include "Exynos_OMX_VdecControl.h"
#ifdef USE_PB
#include "Exynos_OSAL_Platform_Specific.h"
@@ -62,16 +63,13 @@
static OMX_ERRORTYPE GetCodecInputPrivateData(OMX_PTR codecBuffer, void *pVirtAddr, OMX_U32 *dataSize)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
-
-EXIT:
- return ret;
+ return OMX_ErrorNone;
}
-static OMX_ERRORTYPE GetCodecOutputPrivateData(OMX_PTR codecBuffer, void *addr[], int size[])
+static OMX_ERRORTYPE GetCodecOutputPrivateData(OMX_PTR codecBuffer, OMX_PTR addr[], OMX_U32 size[])
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
- ExynosVideoBuffer *pCodecBuffer;
+ OMX_ERRORTYPE ret = OMX_ErrorNone;
+ ExynosVideoBuffer *pCodecBuffer = NULL;
if (codecBuffer == NULL) {
ret = OMX_ErrorBadParameter;
@@ -279,7 +277,6 @@ OMX_ERRORTYPE Mpeg2CodecStart(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInd
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
void *hMFCHandle = NULL;
- ExynosVideoDecOps *pDecOps = NULL;
ExynosVideoDecBufferOps *pInbufOps = NULL;
ExynosVideoDecBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
@@ -305,7 +302,6 @@ OMX_ERRORTYPE Mpeg2CodecStart(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInd
}
hMFCHandle = pMpeg2Dec->hMFCMpeg2Handle.hMFCHandle;
- pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
pInbufOps = pMpeg2Dec->hMFCMpeg2Handle.pInbufOps;
pOutbufOps = pMpeg2Dec->hMFCMpeg2Handle.pOutbufOps;
@@ -326,7 +322,6 @@ OMX_ERRORTYPE Mpeg2CodecStop(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInde
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
void *hMFCHandle = NULL;
- ExynosVideoDecOps *pDecOps = NULL;
ExynosVideoDecBufferOps *pInbufOps = NULL;
ExynosVideoDecBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
@@ -351,7 +346,6 @@ OMX_ERRORTYPE Mpeg2CodecStop(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInde
}
hMFCHandle = pMpeg2Dec->hMFCMpeg2Handle.hMFCHandle;
- pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
pInbufOps = pMpeg2Dec->hMFCMpeg2Handle.pInbufOps;
pOutbufOps = pMpeg2Dec->hMFCMpeg2Handle.pOutbufOps;
@@ -380,7 +374,6 @@ OMX_ERRORTYPE Mpeg2CodecSrcInit(OMX_COMPONENTTYPE *pOMXComponent)
ExynosVideoDecOps *pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pMpeg2Dec->hMFCMpeg2Handle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pMpeg2Dec->hMFCMpeg2Handle.pOutbufOps;
ExynosVideoGeometry bufferConf;
OMX_U32 inputBufferNumber = 0;
int i, plane;
@@ -496,10 +489,6 @@ EXIT:
OMX_ERRORTYPE Mpeg2CodecOutputBufferProcessRun(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- void *hMFCHandle = NULL;
- ExynosVideoDecOps *pDecOps = NULL;
- ExynosVideoDecBufferOps *pInbufOps = NULL;
- ExynosVideoDecBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
EXYNOS_MPEG2DEC_HANDLE *pMpeg2Dec = NULL;
@@ -521,11 +510,6 @@ OMX_ERRORTYPE Mpeg2CodecOutputBufferProcessRun(OMX_COMPONENTTYPE *pOMXComponent,
goto EXIT;
}
- hMFCHandle = pMpeg2Dec->hMFCMpeg2Handle.hMFCHandle;
- pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
- pInbufOps = pMpeg2Dec->hMFCMpeg2Handle.pInbufOps;
- pOutbufOps = pMpeg2Dec->hMFCMpeg2Handle.pOutbufOps;
-
if (nPortIndex == INPUT_PORT_INDEX) {
if (pMpeg2Dec->bSourceStart == OMX_FALSE) {
Exynos_OSAL_SignalSet(pMpeg2Dec->hSourceStartEvent);
@@ -555,8 +539,6 @@ OMX_ERRORTYPE Mpeg2CodecEnQueueAllBuffer(OMX_COMPONENTTYPE *pOMXComponent, OMX_U
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG2DEC_HANDLE *pMpeg2Dec = (EXYNOS_MPEG2DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg2Dec->hMFCMpeg2Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
int i, nOutbufs;
ExynosVideoDecOps *pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
@@ -579,7 +561,6 @@ OMX_ERRORTYPE Mpeg2CodecEnQueueAllBuffer(OMX_COMPONENTTYPE *pOMXComponent, OMX_U
pInbufOps->Clear_Queue(hMFCHandle);
} else if ((nPortIndex == OUTPUT_PORT_INDEX) &&
(pMpeg2Dec->bDestinationStart == OMX_TRUE)) {
- OMX_U32 dataLen[MFC_OUTPUT_BUFFER_PLANE] = {0, 0};
ExynosVideoBuffer *pBuffer = NULL;
Exynos_CodecBufferReset(pExynosComponent, OUTPUT_PORT_INDEX);
@@ -606,19 +587,12 @@ OMX_ERRORTYPE Mpeg2CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DA
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG2DEC_HANDLE *pMpeg2Dec = (EXYNOS_MPEG2DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg2Dec->hMFCMpeg2Handle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_U32 oneFrameSize = pSrcInputData->dataLen;
- ExynosVideoDecOps *pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pMpeg2Dec->hMFCMpeg2Handle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pMpeg2Dec->hMFCMpeg2Handle.pOutbufOps;
- ExynosVideoGeometry bufferConf;
- OMX_U32 inputBufferNumber = 0;
- int i, plane;
FunctionIn();
@@ -647,6 +621,8 @@ OMX_ERRORTYPE Mpeg2CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DA
/* set output geometry */
#ifndef TIZEN_FEATURE_E54XX
+ ExynosVideoGeometry bufferConf;
+
Exynos_OSAL_Memset(&bufferConf, 0, sizeof(bufferConf));
pMpeg2Dec->hMFCMpeg2Handle.MFCOutputColorType = bufferConf.eColorFormat = VIDEO_COLORFORMAT_NV12_TILED;
if (pOutbufOps->Set_Geometry(hMFCHandle, &bufferConf) != VIDEO_ERROR_NONE) {
@@ -696,11 +672,8 @@ OMX_ERRORTYPE Mpeg2CodecDstSetup(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG2DEC_HANDLE *pMpeg2Dec = (EXYNOS_MPEG2DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg2Dec->hMFCMpeg2Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
- ExynosVideoDecOps *pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
- ExynosVideoDecBufferOps *pInbufOps = pMpeg2Dec->hMFCMpeg2Handle.pInbufOps;
ExynosVideoDecBufferOps *pOutbufOps = pMpeg2Dec->hMFCMpeg2Handle.pOutbufOps;
int i, nOutbufs;
@@ -844,10 +817,7 @@ OMX_ERRORTYPE Mpeg2CodecCheckResolutionChange(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecOps *pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
- ExynosVideoDecBufferOps *pInbufOps = pMpeg2Dec->hMFCMpeg2Handle.pInbufOps;
ExynosVideoDecBufferOps *pOutbufOps = pMpeg2Dec->hMFCMpeg2Handle.pOutbufOps;
- ExynosVideoGeometry bufferConf;
- int i, plane;
FunctionIn();
@@ -1435,7 +1405,6 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_GetExtensionIndex(
}
if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL) == 0) {
- EXYNOS_MPEG2DEC_HANDLE *pMpeg2Dec = (EXYNOS_MPEG2DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
*pIndexType = OMX_IndexVendorThumbnailMode;
ret = OMX_ErrorNone;
} else {
@@ -1454,8 +1423,6 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_ComponentRoleEnum(
OMX_U32 nIndex)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
FunctionIn();
@@ -1485,13 +1452,7 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_Init(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_MPEG2DEC_HANDLE *pMpeg2Dec = (EXYNOS_MPEG2DEC_HANDLE *)pVideoDec->hCodecHandle;
- OMX_PTR hMFCHandle = pMpeg2Dec->hMFCMpeg2Handle.hMFCHandle;
-
- ExynosVideoDecOps *pDecOps = NULL;
- ExynosVideoDecBufferOps *pInbufOps = NULL;
- ExynosVideoDecBufferOps *pOutbufOps = NULL;
- CSC_METHOD csc_method = CSC_METHOD_SW;
int i, plane;
FunctionIn();
@@ -1507,10 +1468,6 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_Init(OMX_COMPONENTTYPE *pOMXComponent)
goto EXIT;
}
- pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
- pInbufOps = pMpeg2Dec->hMFCMpeg2Handle.pInbufOps;
- pOutbufOps = pMpeg2Dec->hMFCMpeg2Handle.pOutbufOps;
-
if ((pExynosInputPort->bufferProcessType & BUFFER_COPY) == BUFFER_COPY) {
Exynos_OSAL_SemaphoreCreate(&pExynosInputPort->codecSemID);
Exynos_OSAL_QueueCreate(&pExynosInputPort->codecBufferQ, MAX_QUEUE_ELEMENTS);
@@ -1579,6 +1536,7 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_Init(OMX_COMPONENTTYPE *pOMXComponent)
pExynosComponent->getAllDelayBuffer = OMX_FALSE;
#if 0//defined(USE_CSC_GSCALER)
+ CSC_METHOD csc_method = CSC_METHOD_SW;
csc_method = CSC_METHOD_HW; //in case of Use ION buffer.
//#endif
pVideoDec->csc_handle = csc_init(csc_method);
@@ -1604,13 +1562,8 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_MPEG2DEC_HANDLE *pMpeg2Dec = (EXYNOS_MPEG2DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- OMX_PTR hMFCHandle = pMpeg2Dec->hMFCMpeg2Handle.hMFCHandle;
- ExynosVideoDecOps *pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
- ExynosVideoDecBufferOps *pInbufOps = pMpeg2Dec->hMFCMpeg2Handle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pMpeg2Dec->hMFCMpeg2Handle.pOutbufOps;
-
- int i, plane;
+ int i;
FunctionIn();
@@ -1673,7 +1626,6 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
}
Mpeg2CodecClose(pMpeg2Dec);
-EXIT:
FunctionOut();
return ret;
@@ -1683,17 +1635,12 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_SrcIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG2DEC_HANDLE *pMpeg2Dec = (EXYNOS_MPEG2DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg2Dec->hMFCMpeg2Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_U32 oneFrameSize = pSrcInputData->dataLen;
ExynosVideoDecOps *pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pMpeg2Dec->hMFCMpeg2Handle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pMpeg2Dec->hMFCMpeg2Handle.pOutbufOps;
ExynosVideoErrorType codecReturn = VIDEO_ERROR_NONE;
- int i;
FunctionIn();
@@ -1752,7 +1699,6 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_SrcOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OM
EXYNOS_MPEG2DEC_HANDLE *pMpeg2Dec = (EXYNOS_MPEG2DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg2Dec->hMFCMpeg2Handle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- ExynosVideoDecOps *pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pMpeg2Dec->hMFCMpeg2Handle.pInbufOps;
ExynosVideoBuffer *pVideoBuffer;
@@ -1806,11 +1752,8 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_DstIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG2DEC_HANDLE *pMpeg2Dec = (EXYNOS_MPEG2DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg2Dec->hMFCMpeg2Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
- ExynosVideoDecOps *pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
ExynosVideoDecBufferOps *pOutbufOps = pMpeg2Dec->hMFCMpeg2Handle.pOutbufOps;
OMX_U32 dataLen[MFC_OUTPUT_BUFFER_PLANE] = {0,};
ExynosVideoErrorType codecReturn = VIDEO_ERROR_NONE;
@@ -1849,10 +1792,8 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_DstOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OM
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG2DEC_HANDLE *pMpeg2Dec = (EXYNOS_MPEG2DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg2Dec->hMFCMpeg2Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecOps *pDecOps = pMpeg2Dec->hMFCMpeg2Handle.pDecOps;
ExynosVideoDecBufferOps *pOutbufOps = pMpeg2Dec->hMFCMpeg2Handle.pOutbufOps;
@@ -1986,7 +1927,6 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_srcInputBufferProcess(OMX_COMPONENTTYPE *pOMXCompo
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_MPEG2DEC_HANDLE *pMpeg2Dec = (EXYNOS_MPEG2DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
FunctionIn();
@@ -2001,7 +1941,7 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_srcInputBufferProcess(OMX_COMPONENTTYPE *pOMXCompo
}
ret = Exynos_Mpeg2Dec_SrcIn(pOMXComponent, pSrcInputData);
- if ((ret != OMX_ErrorNone) && (ret != OMX_ErrorInputDataDecodeYet)) {
+ if ((ret != OMX_ErrorNone) && (ret != (OMX_ERRORTYPE)OMX_ErrorInputDataDecodeYet)) {
pExynosComponent->pCallbacks->EventHandler((OMX_HANDLETYPE)pOMXComponent,
pExynosComponent->callbackData,
OMX_EventError, ret, 0, NULL);
diff --git a/openmax/component/video/dec/mpeg4/Exynos_OMX_Mpeg4dec.c b/openmax/component/video/dec/mpeg4/Exynos_OMX_Mpeg4dec.c
index f56261b..1e2b0a8 100755..100644
--- a/openmax/component/video/dec/mpeg4/Exynos_OMX_Mpeg4dec.c
+++ b/openmax/component/video/dec/mpeg4/Exynos_OMX_Mpeg4dec.c
@@ -42,6 +42,7 @@
#include "ExynosVideoApi.h"
#include "Exynos_OSAL_SharedMemory.h"
#include "Exynos_OSAL_Event.h"
+#include "Exynos_OMX_VdecControl.h"
#ifdef USE_PB
#include "Exynos_OSAL_Platform_Specific.h"
@@ -122,16 +123,13 @@ EXYNOS_OMX_VIDEO_PROFILELEVEL supportedH263ProfileLevels[] = {
static OMX_ERRORTYPE GetCodecInputPrivateData(OMX_PTR codecBuffer, void *pVirtAddr, OMX_U32 *dataSize)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
-
-EXIT:
- return ret;
+ return OMX_ErrorNone;
}
-static OMX_ERRORTYPE GetCodecOutputPrivateData(OMX_PTR codecBuffer, void *addr[], int size[])
+static OMX_ERRORTYPE GetCodecOutputPrivateData(OMX_PTR codecBuffer, OMX_PTR addr[], OMX_U32 size[])
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
- ExynosVideoBuffer *pCodecBuffer;
+ OMX_ERRORTYPE ret = OMX_ErrorNone;
+ ExynosVideoBuffer *pCodecBuffer = NULL;
if (codecBuffer == NULL) {
ret = OMX_ErrorBadParameter;
@@ -355,7 +353,7 @@ static OMX_BOOL Check_Stream_StartCode(
}
}
-static void getAByte(char *buff, int *code)
+static void getAByte(OMX_U8 *buff, int *code)
{
int byte;
@@ -463,15 +461,11 @@ OMX_ERRORTYPE Mpeg4CodecOpen(EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec)
}
/* alloc context, open, querycap */
- if (pMpeg4Dec->hMFCMpeg4Handle.bShareableBuf == OMX_TRUE) {
#ifdef USE_DMA_BUF
- pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.pDecOps->Init(V4L2_MEMORY_DMABUF);
+ pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.pDecOps->Init(V4L2_MEMORY_DMABUF);
#else
- pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.pDecOps->Init(V4L2_MEMORY_USERPTR);
+ pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.pDecOps->Init(V4L2_MEMORY_USERPTR);
#endif
- } else {
- pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.pDecOps->Init(V4L2_MEMORY_DMABUF);
- }
if (pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle == NULL) {
Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to allocate context buffer");
ret = OMX_ErrorInsufficientResources;
@@ -550,7 +544,6 @@ OMX_ERRORTYPE Mpeg4CodecStart(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInd
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
void *hMFCHandle = NULL;
- ExynosVideoDecOps *pDecOps = NULL;
ExynosVideoDecBufferOps *pInbufOps = NULL;
ExynosVideoDecBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
@@ -576,7 +569,6 @@ OMX_ERRORTYPE Mpeg4CodecStart(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInd
}
hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle;
- pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
pInbufOps = pMpeg4Dec->hMFCMpeg4Handle.pInbufOps;
pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
@@ -597,7 +589,6 @@ OMX_ERRORTYPE Mpeg4CodecStop(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInde
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
void *hMFCHandle = NULL;
- ExynosVideoDecOps *pDecOps = NULL;
ExynosVideoDecBufferOps *pInbufOps = NULL;
ExynosVideoDecBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
@@ -622,7 +613,6 @@ OMX_ERRORTYPE Mpeg4CodecStop(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInde
}
hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle;
- pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
pInbufOps = pMpeg4Dec->hMFCMpeg4Handle.pInbufOps;
pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
@@ -651,13 +641,12 @@ OMX_ERRORTYPE Mpeg4CodecSrcInit(OMX_COMPONENTTYPE *pOMXComponent)
ExynosVideoDecOps *pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pMpeg4Dec->hMFCMpeg4Handle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
ExynosVideoGeometry bufferConf;
OMX_U32 inputBufferNumber = 0;
int i, plane;
if (pVideoDec->bThumbnailMode == OMX_TRUE)
- pDecOps->Set_DisplayDelay(hMFCHandle, 0);
+ pDecOps->Set_DisplayDelay(hMFCHandle, 0);
/* input buffer info */
Exynos_OSAL_Memset(&bufferConf, 0, sizeof(bufferConf));
@@ -677,7 +666,7 @@ OMX_ERRORTYPE Mpeg4CodecSrcInit(OMX_COMPONENTTYPE *pOMXComponent)
} else if (pExynosInputPort->bufferProcessType & BUFFER_COPY) {
bufferConf.nSizeImage = DEFAULT_MFC_INPUT_BUFFER_SIZE;
inputBufferNumber = MFC_INPUT_BUFFER_NUM_MAX;
- }
+ }
/* should be done before prepare input buffer */
if (pInbufOps->Enable_Cacheable(hMFCHandle) != VIDEO_ERROR_NONE) {
@@ -690,7 +679,7 @@ OMX_ERRORTYPE Mpeg4CodecSrcInit(OMX_COMPONENTTYPE *pOMXComponent)
Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to set geometry for input buffer");
ret = OMX_ErrorInsufficientResources;
goto EXIT;
- }
+ }
/* setup input buffer */
if (pInbufOps->Setup(hMFCHandle, inputBufferNumber) != VIDEO_ERROR_NONE) {
@@ -751,7 +740,7 @@ OMX_ERRORTYPE Mpeg4CodecSrcInit(OMX_COMPONENTTYPE *pOMXComponent)
for (i = 0; i < pExynosInputPort->portDefinition.nBufferCountActual; i++) {
ExynosVideoPlane plane;
if (pVideoDec->bDRMPlayerMode == OMX_TRUE) {
- plane.addr = Exynos_OSAL_SharedMemory_IONToVirt(pVideoDec->hSharedMemory, pExynosInputPort->extendBufferHeader[i].OMXBufferHeader->pBuffer);
+ plane.addr = Exynos_OSAL_SharedMemory_IONToVirt(pVideoDec->hSharedMemory, (int)pExynosInputPort->extendBufferHeader[i].OMXBufferHeader->pBuffer);
} else {
plane.addr = pExynosInputPort->extendBufferHeader[i].OMXBufferHeader->pBuffer;
}
@@ -776,10 +765,6 @@ EXIT:
OMX_ERRORTYPE Mpeg4CodecOutputBufferProcessRun(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- void *hMFCHandle = NULL;
- ExynosVideoDecOps *pDecOps = NULL;
- ExynosVideoDecBufferOps *pInbufOps = NULL;
- ExynosVideoDecBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = NULL;
@@ -801,11 +786,6 @@ OMX_ERRORTYPE Mpeg4CodecOutputBufferProcessRun(OMX_COMPONENTTYPE *pOMXComponent,
goto EXIT;
}
- hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle;
- pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
- pInbufOps = pMpeg4Dec->hMFCMpeg4Handle.pInbufOps;
- pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
-
if (nPortIndex == INPUT_PORT_INDEX) {
if (pMpeg4Dec->bSourceStart == OMX_FALSE) {
Exynos_OSAL_SignalSet(pMpeg4Dec->hSourceStartEvent);
@@ -835,8 +815,6 @@ OMX_ERRORTYPE Mpeg4CodecEnQueueAllBuffer(OMX_COMPONENTTYPE *pOMXComponent, OMX_U
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)pVideoDec->hCodecHandle;
void *hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
int i, nOutbufs;
ExynosVideoDecOps *pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
@@ -864,7 +842,6 @@ OMX_ERRORTYPE Mpeg4CodecEnQueueAllBuffer(OMX_COMPONENTTYPE *pOMXComponent, OMX_U
pInbufOps->Clear_Queue(hMFCHandle);
} else if ((nPortIndex == OUTPUT_PORT_INDEX) &&
(pMpeg4Dec->bDestinationStart == OMX_TRUE)) {
- OMX_U32 dataLen[MFC_OUTPUT_BUFFER_PLANE] = {0, 0};
ExynosVideoBuffer *pBuffer = NULL;
Exynos_CodecBufferReset(pExynosComponent, OUTPUT_PORT_INDEX);
@@ -888,7 +865,6 @@ EXIT:
OMX_ERRORTYPE Mpeg4CodecDstFreeCodecBuffers(
OMX_COMPONENTTYPE *pOMXComponent)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)pVideoDec->hCodecHandle;
@@ -1035,8 +1011,6 @@ OMX_ERRORTYPE Mpeg4CodecResetupAllElement(
EXYNOS_OMX_BASEPORT *pOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecBufferOps *pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
- int i, j, nOutbufs;
-
FunctionIn();
if ((nPortIndex == INPUT_PORT_INDEX) &&
@@ -1087,19 +1061,15 @@ OMX_ERRORTYPE Mpeg4CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DA
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_U32 oneFrameSize = pSrcInputData->dataLen;
ExynosVideoDecOps *pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pMpeg4Dec->hMFCMpeg4Handle.pInbufOps;
ExynosVideoDecBufferOps *pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
ExynosVideoGeometry bufferConf;
- OMX_U32 inputBufferNumber = 0;
- int i;
FunctionIn();
@@ -1189,11 +1159,8 @@ OMX_ERRORTYPE Mpeg4CodecDstSetup(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
- ExynosVideoDecOps *pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
- ExynosVideoDecBufferOps *pInbufOps = pMpeg4Dec->hMFCMpeg4Handle.pInbufOps;
ExynosVideoDecBufferOps *pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
int i, nOutbufs;
@@ -1331,10 +1298,7 @@ OMX_ERRORTYPE Mpeg4CodecCheckResolutionChange(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecOps *pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
- ExynosVideoDecBufferOps *pInbufOps = pMpeg4Dec->hMFCMpeg4Handle.pInbufOps;
ExynosVideoDecBufferOps *pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
- ExynosVideoGeometry bufferConf;
- int i;
FunctionIn();
@@ -2014,7 +1978,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_GetExtensionIndex(
}
if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL) == 0) {
- EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
*pIndexType = OMX_IndexVendorThumbnailMode;
ret = OMX_ErrorNone;
} else {
@@ -2083,11 +2046,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_Init(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)pVideoDec->hCodecHandle;
- OMX_PTR hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle;
-
- ExynosVideoDecOps *pDecOps = NULL;
- ExynosVideoDecBufferOps *pInbufOps = NULL;
- ExynosVideoDecBufferOps *pOutbufOps = NULL;
CSC_METHOD csc_method = CSC_METHOD_SW;
int i, plane;
@@ -2105,10 +2063,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_Init(OMX_COMPONENTTYPE *pOMXComponent)
goto EXIT;
}
- pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
- pInbufOps = pMpeg4Dec->hMFCMpeg4Handle.pInbufOps;
- pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
-
if (pExynosInputPort->bufferProcessType & BUFFER_COPY) {
Exynos_OSAL_SemaphoreCreate(&pExynosInputPort->codecSemID);
Exynos_OSAL_QueueCreate(&pExynosInputPort->codecBufferQ, MAX_QUEUE_ELEMENTS);
@@ -2199,13 +2153,8 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- OMX_PTR hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle;
- ExynosVideoDecOps *pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
- ExynosVideoDecBufferOps *pInbufOps = pMpeg4Dec->hMFCMpeg4Handle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
-
- int i, plane;
+ int i;
FunctionIn();
@@ -2237,6 +2186,8 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
for (i = 0; i < MFC_INPUT_BUFFER_NUM_MAX; i++) {
if (pVideoDec->pMFCDecInputBuffer[i] != NULL) {
#ifndef TIZEN_FEATURE_E54XX /* do not use ion */
+ int plane;
+
for (plane = 0; plane < MFC_INPUT_BUFFER_PLANE; plane++) {
if (pVideoDec->pMFCDecInputBuffer[i]->pVirAddr[plane] != NULL)
Exynos_OSAL_SharedMemory_Free(pVideoDec->hSharedMemory, pVideoDec->pMFCDecInputBuffer[i]->pVirAddr[plane]);
@@ -2257,7 +2208,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
}
Mpeg4CodecClose(pMpeg4Dec);
-EXIT:
FunctionOut();
return ret;
@@ -2267,18 +2217,13 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_SrcIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_U32 oneFrameSize = pSrcInputData->dataLen;
OMX_BOOL bInStartCode = OMX_FALSE;
ExynosVideoDecOps *pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pMpeg4Dec->hMFCMpeg4Handle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
ExynosVideoErrorType codecReturn = VIDEO_ERROR_NONE;
- int i;
FunctionIn();
@@ -2350,7 +2295,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_SrcOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OM
EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- ExynosVideoDecOps *pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pMpeg4Dec->hMFCMpeg4Handle.pInbufOps;
ExynosVideoBuffer *pVideoBuffer;
@@ -2408,7 +2352,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_DstIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
- ExynosVideoDecOps *pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
ExynosVideoDecBufferOps *pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
OMX_U32 dataLen[MFC_OUTPUT_BUFFER_PLANE] = {0,};
ExynosVideoErrorType codecReturn = VIDEO_ERROR_NONE;
@@ -2461,7 +2404,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_DstOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OM
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg4Dec->hMFCMpeg4Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecOps *pDecOps = pMpeg4Dec->hMFCMpeg4Handle.pDecOps;
ExynosVideoDecBufferOps *pOutbufOps = pMpeg4Dec->hMFCMpeg4Handle.pOutbufOps;
@@ -2610,7 +2552,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_srcInputBufferProcess(OMX_COMPONENTTYPE *pOMXCompo
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
FunctionIn();
@@ -2626,8 +2567,8 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_srcInputBufferProcess(OMX_COMPONENTTYPE *pOMXCompo
ret = Exynos_Mpeg4Dec_SrcIn(pOMXComponent, pSrcInputData);
if ((ret != OMX_ErrorNone) &&
- (ret != OMX_ErrorInputDataDecodeYet) &&
- (ret != OMX_ErrorCorruptedFrame)) {
+ (ret != (OMX_ERRORTYPE)OMX_ErrorInputDataDecodeYet) &&
+ (ret != (OMX_ERRORTYPE)OMX_ErrorCorruptedFrame)) {
pExynosComponent->pCallbacks->EventHandler((OMX_HANDLETYPE)pOMXComponent,
pExynosComponent->callbackData,
OMX_EventError, ret, 0, NULL);
diff --git a/openmax/component/video/dec/mpeg4/library_register.c b/openmax/component/video/dec/mpeg4/library_register.c
index d4f670d..d4f670d 100755..100644
--- a/openmax/component/video/dec/mpeg4/library_register.c
+++ b/openmax/component/video/dec/mpeg4/library_register.c
diff --git a/openmax/component/video/dec/vc1/Exynos_OMX_Wmvdec.c b/openmax/component/video/dec/vc1/Exynos_OMX_Wmvdec.c
index ccbe1a3..78ef7b0 100755
--- a/openmax/component/video/dec/vc1/Exynos_OMX_Wmvdec.c
+++ b/openmax/component/video/dec/vc1/Exynos_OMX_Wmvdec.c
@@ -44,6 +44,7 @@
#include "ExynosVideoApi.h"
#include "Exynos_OSAL_SharedMemory.h"
#include "Exynos_OSAL_Event.h"
+#include "Exynos_OMX_VdecControl.h"
#ifdef USE_PB
#include "Exynos_OSAL_Platform_Specific.h"
@@ -75,16 +76,13 @@ const OMX_U32 wmva = 0x41564d57;
static OMX_ERRORTYPE GetCodecInputPrivateData(OMX_PTR codecBuffer, void *pVirtAddr, OMX_U32 *dataSize)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
-
-EXIT:
- return ret;
+ return OMX_ErrorNone;
}
-static OMX_ERRORTYPE GetCodecOutputPrivateData(OMX_PTR codecBuffer, void *addr[], int size[])
+static OMX_ERRORTYPE GetCodecOutputPrivateData(OMX_PTR codecBuffer, OMX_PTR addr[], OMX_U32 size[])
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
- ExynosVideoBuffer *pCodecBuffer;
+ OMX_ERRORTYPE ret = OMX_ErrorNone;
+ ExynosVideoBuffer *pCodecBuffer = NULL;
if (codecBuffer == NULL) {
ret = OMX_ErrorBadParameter;
@@ -271,7 +269,6 @@ static OMX_BOOL Make_Stream_MetaData(
switch (wmvFormat) {
case WMV_FORMAT_WMV3:
- if (*pStreamSize >= BITMAPINFOHEADER_SIZE) {
#ifndef TIZEN_FEATURE_E54XX
BitmapInfoHhr *pBitmapInfoHeader;
pBitmapInfoHeader = (BitmapInfoHhr *)pInputStream;
@@ -319,10 +316,6 @@ static OMX_BOOL Make_Stream_MetaData(
*pStreamSize = currPos;
return OMX_TRUE;
- } else {
- Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "%s: *pStreamSize is too small to contain metadata(%d)", __FUNCTION__, *pStreamSize);
- return OMX_FALSE;
- }
break;
case WMV_FORMAT_VC1:
if (*pStreamSize >= BITMAPINFOHEADER_ASFBINDING_SIZE) {
@@ -351,7 +344,6 @@ static OMX_BOOL Make_Stream_StartCode(
/* first 4 bytes : size of Frame, second 4 bytes : present Time stamp */
OMX_U8 frameStartCode2[8] = {0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00};
#endif
- OMX_U32 i;
switch (wmvFormat) {
case WMV_FORMAT_WMV3:
@@ -383,12 +375,9 @@ OMX_ERRORTYPE Process_Wmv_CodecConfigData(OMX_COMPONENTTYPE *pOMXComponent, void
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)pVideoDec->hCodecHandle;
- OMX_PTR hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
#ifdef TIZEN_FEATURE_E54XX
- EXYNOS_OMX_DATABUFFER *pSrcInputData = (EXYNOS_OMX_DATA *)pConfig;
+ EXYNOS_OMX_DATABUFFER *pSrcInputData = (EXYNOS_OMX_DATABUFFER *)pConfig;
OMX_U8 *pInputStream = pSrcInputData->bufferHeader->pBuffer;
#endif
@@ -592,7 +581,6 @@ OMX_ERRORTYPE WmvCodecStart(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
void *hMFCHandle = NULL;
- ExynosVideoDecOps *pDecOps = NULL;
ExynosVideoDecBufferOps *pInbufOps = NULL;
ExynosVideoDecBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
@@ -618,7 +606,6 @@ OMX_ERRORTYPE WmvCodecStart(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex
}
hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
- pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
pInbufOps = pWmvDec->hMFCWmvHandle.pInbufOps;
pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
@@ -639,7 +626,6 @@ OMX_ERRORTYPE WmvCodecStop(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
void *hMFCHandle = NULL;
- ExynosVideoDecOps *pDecOps = NULL;
ExynosVideoDecBufferOps *pInbufOps = NULL;
ExynosVideoDecBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
@@ -664,7 +650,6 @@ OMX_ERRORTYPE WmvCodecStop(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex)
}
hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
- pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
pInbufOps = pWmvDec->hMFCWmvHandle.pInbufOps;
pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
@@ -690,11 +675,9 @@ OMX_ERRORTYPE WmvCodecSrcInit(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecOps *pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pWmvDec->hMFCWmvHandle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
ExynosVideoGeometry bufferConf;
OMX_U32 inputBufferNumber = 0;
int i, plane;
@@ -817,10 +800,6 @@ EXIT:
OMX_ERRORTYPE WmvCodecOutputBufferProcessRun(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- void *hMFCHandle = NULL;
- ExynosVideoDecOps *pDecOps = NULL;
- ExynosVideoDecBufferOps *pInbufOps = NULL;
- ExynosVideoDecBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
EXYNOS_WMVDEC_HANDLE *pWmvDec = NULL;
@@ -842,11 +821,6 @@ OMX_ERRORTYPE WmvCodecOutputBufferProcessRun(OMX_COMPONENTTYPE *pOMXComponent, O
goto EXIT;
}
- hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
- pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
- pInbufOps = pWmvDec->hMFCWmvHandle.pInbufOps;
- pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
-
if (nPortIndex == INPUT_PORT_INDEX) {
if (pWmvDec->bSourceStart == OMX_FALSE) {
Exynos_OSAL_SignalSet(pWmvDec->hSourceStartEvent);
@@ -876,8 +850,6 @@ OMX_ERRORTYPE WmvCodecEnQueueAllBuffer(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
int i, nOutbufs;
ExynosVideoDecOps *pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
@@ -905,7 +877,6 @@ OMX_ERRORTYPE WmvCodecEnQueueAllBuffer(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32
pInbufOps->Clear_Queue(hMFCHandle);
} else if ((nPortIndex == OUTPUT_PORT_INDEX) &&
(pWmvDec->bDestinationStart == OMX_TRUE)) {
- OMX_U32 dataLen[MFC_OUTPUT_BUFFER_PLANE] = {0, 0};
ExynosVideoBuffer *pBuffer = NULL;
Exynos_CodecBufferReset(pExynosComponent, OUTPUT_PORT_INDEX);
@@ -928,7 +899,6 @@ EXIT:
OMX_ERRORTYPE WmvCodecDstFreeCodecBuffers(
OMX_COMPONENTTYPE *pOMXComponent)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)pVideoDec->hCodecHandle;
@@ -1066,8 +1036,6 @@ OMX_ERRORTYPE WmvCodecResetupAllElement(
EXYNOS_OMX_BASEPORT *pOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecBufferOps *pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
- int i, j, nOutbufs;
-
FunctionIn();
if ((nPortIndex == INPUT_PORT_INDEX) &&
@@ -1117,11 +1085,9 @@ OMX_ERRORTYPE WmvCodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_U32 oneFrameSize = pSrcInputData->dataLen;
OMX_BOOL bMetaData = OMX_FALSE;
@@ -1129,8 +1095,6 @@ OMX_ERRORTYPE WmvCodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
ExynosVideoDecBufferOps *pInbufOps = pWmvDec->hMFCWmvHandle.pInbufOps;
ExynosVideoDecBufferOps *pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
ExynosVideoGeometry bufferConf;
- OMX_U32 inputBufferNumber = 0;
- int i;
FunctionIn();
@@ -1235,11 +1199,8 @@ OMX_ERRORTYPE WmvCodecDstSetup(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
- ExynosVideoDecOps *pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
- ExynosVideoDecBufferOps *pInbufOps = pWmvDec->hMFCWmvHandle.pInbufOps;
ExynosVideoDecBufferOps *pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
int i, nOutbufs;
@@ -1367,10 +1328,7 @@ OMX_ERRORTYPE WmvCodecCheckResolutionChange(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecOps *pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
- ExynosVideoDecBufferOps *pInbufOps = pWmvDec->hMFCWmvHandle.pInbufOps;
ExynosVideoDecBufferOps *pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
- ExynosVideoGeometry bufferConf;
- int i;
FunctionIn();
@@ -1865,7 +1823,6 @@ OMX_ERRORTYPE Exynos_WmvDec_GetExtensionIndex(
}
if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL) == 0) {
- EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
*pIndexType = OMX_IndexVendorThumbnailMode;
ret = OMX_ErrorNone;
} else {
@@ -1884,8 +1841,6 @@ OMX_ERRORTYPE Exynos_WmvDec_ComponentRoleEnum(
OMX_U32 nIndex)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
FunctionIn();
@@ -1915,11 +1870,6 @@ OMX_ERRORTYPE Exynos_WmvDec_Init(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)pVideoDec->hCodecHandle;
- OMX_PTR hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
-
- ExynosVideoDecOps *pDecOps = NULL;
- ExynosVideoDecBufferOps *pInbufOps = NULL;
- ExynosVideoDecBufferOps *pOutbufOps = NULL;
CSC_METHOD csc_method = CSC_METHOD_SW;
int i, plane;
@@ -1937,10 +1887,6 @@ OMX_ERRORTYPE Exynos_WmvDec_Init(OMX_COMPONENTTYPE *pOMXComponent)
goto EXIT;
}
- pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
- pInbufOps = pWmvDec->hMFCWmvHandle.pInbufOps;
- pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
-
if (pExynosInputPort->bufferProcessType & BUFFER_COPY) {
Exynos_OSAL_SemaphoreCreate(&pExynosInputPort->codecSemID);
Exynos_OSAL_QueueCreate(&pExynosInputPort->codecBufferQ, MAX_QUEUE_ELEMENTS);
@@ -2028,11 +1974,6 @@ OMX_ERRORTYPE Exynos_WmvDec_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- OMX_PTR hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
-
- ExynosVideoDecOps *pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
- ExynosVideoDecBufferOps *pInbufOps = pWmvDec->hMFCWmvHandle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
int i, plane;
@@ -2085,7 +2026,6 @@ OMX_ERRORTYPE Exynos_WmvDec_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
}
WmvCodecClose(pWmvDec);
-EXIT:
FunctionOut();
return ret;
@@ -2095,18 +2035,13 @@ OMX_ERRORTYPE Exynos_WmvDec_SrcIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_D
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_U32 oneFrameSize = pSrcInputData->dataLen;
OMX_BOOL bStartCode = OMX_FALSE;
ExynosVideoDecOps *pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pWmvDec->hMFCWmvHandle.pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
ExynosVideoErrorType codecReturn = VIDEO_ERROR_NONE;
- int i;
FunctionIn();
@@ -2191,7 +2126,6 @@ OMX_ERRORTYPE Exynos_WmvDec_SrcOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_
EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- ExynosVideoDecOps *pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
ExynosVideoDecBufferOps *pInbufOps = pWmvDec->hMFCWmvHandle.pInbufOps;
ExynosVideoBuffer *pVideoBuffer;
@@ -2249,7 +2183,6 @@ OMX_ERRORTYPE Exynos_WmvDec_DstIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_D
EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
- ExynosVideoDecOps *pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
ExynosVideoDecBufferOps *pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
OMX_U32 dataLen[2] = {0,};
ExynosVideoErrorType codecReturn = VIDEO_ERROR_NONE;
@@ -2303,7 +2236,6 @@ OMX_ERRORTYPE Exynos_WmvDec_DstOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_
EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pWmvDec->hMFCWmvHandle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoDecOps *pDecOps = pWmvDec->hMFCWmvHandle.pDecOps;
ExynosVideoDecBufferOps *pOutbufOps = pWmvDec->hMFCWmvHandle.pOutbufOps;
@@ -2451,7 +2383,6 @@ OMX_ERRORTYPE Exynos_WmvDec_srcInputBufferProcess(OMX_COMPONENTTYPE *pOMXCompone
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_WMVDEC_HANDLE *pWmvDec = (EXYNOS_WMVDEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
FunctionIn();
@@ -2466,7 +2397,7 @@ OMX_ERRORTYPE Exynos_WmvDec_srcInputBufferProcess(OMX_COMPONENTTYPE *pOMXCompone
}
ret = Exynos_WmvDec_SrcIn(pOMXComponent, pSrcInputData);
- if ((ret != OMX_ErrorNone) && (ret != OMX_ErrorInputDataDecodeYet)) {
+ if ((ret != OMX_ErrorNone) && (ret != (OMX_ERRORTYPE)OMX_ErrorInputDataDecodeYet)) {
pExynosComponent->pCallbacks->EventHandler((OMX_HANDLETYPE)pOMXComponent,
pExynosComponent->callbackData,
OMX_EventError, ret, 0, NULL);
diff --git a/openmax/component/video/enc/Exynos_OMX_Venc.c b/openmax/component/video/enc/Exynos_OMX_Venc.c
index d6b2ae1..90190c8 100755..100644
--- a/openmax/component/video/enc/Exynos_OMX_Venc.c
+++ b/openmax/component/video/enc/Exynos_OMX_Venc.c
@@ -40,6 +40,7 @@
#include "Exynos_OSAL_ETC.h"
#include "ExynosVideoApi.h"
#include "csc.h"
+#include "Exynos_OSAL_SharedMemory.h"
#undef EXYNOS_LOG_TAG
#define EXYNOS_LOG_TAG "EXYNOS_VIDEO_ENC"
@@ -95,7 +96,6 @@ OMX_BOOL Exynos_Check_BufferProcess_State(EXYNOS_OMX_BASECOMPONENT *pExynosCompo
OMX_ERRORTYPE Exynos_Input_CodecBufferToData(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_PTR codecBuffer, EXYNOS_OMX_DATA *pData)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
CODEC_ENC_BUFFER *pInputCodecBuffer = (CODEC_ENC_BUFFER*)codecBuffer;
pData->buffer.multiPlaneBuffer.dataBuffer[0] = pInputCodecBuffer->pVirAddr[0];
@@ -137,8 +137,6 @@ OMX_ERRORTYPE Exynos_Output_CodecBufferToData(EXYNOS_OMX_BASECOMPONENT *pExynosC
void Exynos_Wait_ProcessPause(EXYNOS_OMX_BASECOMPONENT *pExynosComponent, OMX_U32 nPortIndex)
{
- EXYNOS_OMX_BASEPORT *exynosOMXInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *exynosOMXOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *exynosOMXPort = NULL;
FunctionIn();
@@ -171,7 +169,6 @@ OMX_BOOL Exynos_CSC_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
OMX_U32 nFrameHeight = exynosInputPort->portDefinition.format.video.nFrameHeight;
OMX_COLOR_FORMATTYPE eColorFormat = exynosInputPort->portDefinition.format.video.eColorFormat;
OMX_BYTE checkInputStream = NULL;
- OMX_BOOL flagEOS = OMX_FALSE;
FunctionIn();
@@ -200,9 +197,9 @@ OMX_BOOL Exynos_CSC_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
csc_get_method(pVideoEnc->csc_handle, &csc_method);
if (csc_method == CSC_METHOD_HW) {
- pDstBuf[0] = srcInputData->buffer.multiPlaneBuffer.fd[0];
- pDstBuf[1] = srcInputData->buffer.multiPlaneBuffer.fd[1];
- pDstBuf[2] = srcInputData->buffer.multiPlaneBuffer.fd[2];
+ pDstBuf[0] = (unsigned char*)(&srcInputData->buffer.multiPlaneBuffer.fd[0]);
+ pDstBuf[1] = (unsigned char*)(&srcInputData->buffer.multiPlaneBuffer.fd[1]);
+ pDstBuf[2] = (unsigned char*)(&srcInputData->buffer.multiPlaneBuffer.fd[2]);
}
#ifdef USE_METADATABUFFERTYPE
@@ -306,7 +303,6 @@ OMX_BOOL Exynos_CSC_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
ret = OMX_TRUE;
-EXIT:
FunctionOut();
return ret;
@@ -316,16 +312,10 @@ OMX_BOOL Exynos_Preprocessor_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
{
OMX_BOOL ret = OMX_FALSE;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_OMX_BASEPORT *exynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_DATABUFFER *inputUseBuffer = &exynosInputPort->way.port2WayDataBuffer.inputDataBuffer;
- OMX_U32 nFrameWidth = exynosInputPort->portDefinition.format.video.nFrameWidth;
- OMX_U32 nFrameHeight = exynosInputPort->portDefinition.format.video.nFrameHeight;
- OMX_COLOR_FORMATTYPE eColorFormat = exynosInputPort->portDefinition.format.video.eColorFormat;
OMX_U32 copySize = 0;
- OMX_BYTE checkInputStream = NULL;
OMX_U32 checkInputStreamLen = 0;
- OMX_BOOL flagEOS = OMX_FALSE;
FunctionIn();
@@ -349,6 +339,8 @@ OMX_BOOL Exynos_Preprocessor_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
/* kMetadataBufferTypeCameraSource */
Exynos_OSAL_GetInfoFromMetaData((OMX_BYTE)inputUseBuffer->bufferHeader->pBuffer, ppBuf);
#ifdef USE_DMA_BUF
+ EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
+
srcInputData->buffer.multiPlaneBuffer.fd[0] = ppBuf[0];
srcInputData->buffer.multiPlaneBuffer.fd[1] = ppBuf[1];
allocSize[0] = nFrameWidth * nFrameHeight;
@@ -396,14 +388,12 @@ OMX_BOOL Exynos_Preprocessor_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
/* reset dataBuffer */
Exynos_ResetDataBuffer(inputUseBuffer);
} else if (exynosInputPort->bufferProcessType & BUFFER_COPY) {
- checkInputStream = inputUseBuffer->bufferHeader->pBuffer + inputUseBuffer->usedDataLen;
checkInputStreamLen = inputUseBuffer->remainDataLen;
pExynosComponent->bUseFlagEOF = OMX_TRUE;
if (checkInputStreamLen == 0) {
inputUseBuffer->nFlags |= OMX_BUFFERFLAG_EOS;
- flagEOS = OMX_TRUE;
}
copySize = checkInputStreamLen;
@@ -431,8 +421,13 @@ OMX_BOOL Exynos_Preprocessor_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_
}
#ifndef TIZEN_FEATURE_E54XX
- if (((exynosInputPort->bStoreMetaData == OMX_TRUE) && (eColorFormat == OMX_COLOR_FormatAndroidOpaque)) ||
- (exynosInputPort->bStoreMetaData == OMX_FALSE))
+ {
+
+ OMX_COLOR_FORMATTYPE eColorFormat = exynosInputPort->portDefinition.format.video.eColorFormat;
+
+ if (((exynosInputPort->bStoreMetaData == OMX_TRUE) && (eColorFormat == OMX_COLOR_FormatAndroidOpaque)) ||
+ (exynosInputPort->bStoreMetaData == OMX_FALSE))
+ }
#else
if (exynosInputPort->bStoreMetaData == OMX_FALSE)
#endif
@@ -553,7 +548,6 @@ OMX_ERRORTYPE Exynos_OMX_SrcInputBufferProcess(OMX_HANDLETYPE hComponent)
EXYNOS_OMX_DATABUFFER *srcInputUseBuffer = &exynosInputPort->way.port2WayDataBuffer.inputDataBuffer;
EXYNOS_OMX_DATA *pSrcInputData = &exynosInputPort->processData;
OMX_BOOL bCheckInputData = OMX_FALSE;
- OMX_BOOL bValidCodecData = OMX_FALSE;
FunctionIn();
@@ -604,13 +598,11 @@ OMX_ERRORTYPE Exynos_OMX_SrcInputBufferProcess(OMX_HANDLETYPE hComponent)
ret = pVideoEnc->exynos_codec_srcInputProcess(pOMXComponent, pSrcInputData);
Exynos_ResetCodecData(pSrcInputData);
Exynos_OSAL_MutexUnlock(srcInputUseBuffer->bufferMutex);
- if (ret == OMX_ErrorCodecInit)
+ if (ret == (OMX_ERRORTYPE)OMX_ErrorCodecInit)
pVideoEnc->bExitBufferProcessThread = OMX_TRUE;
}
}
-EXIT:
-
FunctionOut();
return ret;
@@ -661,8 +653,6 @@ OMX_ERRORTYPE Exynos_OMX_SrcOutputBufferProcess(OMX_HANDLETYPE hComponent)
}
}
-EXIT:
-
FunctionOut();
return ret;
@@ -728,8 +718,6 @@ OMX_ERRORTYPE Exynos_OMX_DstInputBufferProcess(OMX_HANDLETYPE hComponent)
}
}
-EXIT:
-
FunctionOut();
return ret;
@@ -794,8 +782,6 @@ OMX_ERRORTYPE Exynos_OMX_DstOutputBufferProcess(OMX_HANDLETYPE hComponent)
}
}
-EXIT:
-
FunctionOut();
return ret;
@@ -805,8 +791,6 @@ static OMX_ERRORTYPE Exynos_OMX_SrcInputProcessThread(OMX_PTR threadData)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_MESSAGE *message = NULL;
FunctionIn();
@@ -819,7 +803,6 @@ static OMX_ERRORTYPE Exynos_OMX_SrcInputProcessThread(OMX_PTR threadData)
if (ret != OMX_ErrorNone) {
goto EXIT;
}
- pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
Exynos_OMX_SrcInputBufferProcess(pOMXComponent);
Exynos_OSAL_ThreadExit(NULL);
@@ -834,8 +817,6 @@ static OMX_ERRORTYPE Exynos_OMX_SrcOutputProcessThread(OMX_PTR threadData)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_MESSAGE *message = NULL;
FunctionIn();
@@ -848,7 +829,6 @@ static OMX_ERRORTYPE Exynos_OMX_SrcOutputProcessThread(OMX_PTR threadData)
if (ret != OMX_ErrorNone) {
goto EXIT;
}
- pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
Exynos_OMX_SrcOutputBufferProcess(pOMXComponent);
Exynos_OSAL_ThreadExit(NULL);
@@ -863,8 +843,6 @@ static OMX_ERRORTYPE Exynos_OMX_DstInputProcessThread(OMX_PTR threadData)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_MESSAGE *message = NULL;
FunctionIn();
@@ -877,7 +855,6 @@ static OMX_ERRORTYPE Exynos_OMX_DstInputProcessThread(OMX_PTR threadData)
if (ret != OMX_ErrorNone) {
goto EXIT;
}
- pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
Exynos_OMX_DstInputBufferProcess(pOMXComponent);
Exynos_OSAL_ThreadExit(NULL);
@@ -892,8 +869,6 @@ static OMX_ERRORTYPE Exynos_OMX_DstOutputProcessThread(OMX_PTR threadData)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_MESSAGE *message = NULL;
FunctionIn();
@@ -906,7 +881,6 @@ static OMX_ERRORTYPE Exynos_OMX_DstOutputProcessThread(OMX_PTR threadData)
if (ret != OMX_ErrorNone) {
goto EXIT;
}
- pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
Exynos_OMX_DstOutputBufferProcess(pOMXComponent);
Exynos_OSAL_ThreadExit(NULL);
@@ -944,7 +918,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess_Create(OMX_HANDLETYPE hComponent)
Exynos_OMX_SrcInputProcessThread,
pOMXComponent);
-EXIT:
FunctionOut();
return ret;
@@ -957,7 +930,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess_Terminate(OMX_HANDLETYPE hComponent)
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
OMX_S32 countValue = 0;
- unsigned int i = 0;
FunctionIn();
@@ -995,7 +967,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferProcess_Terminate(OMX_HANDLETYPE hComponent)
Exynos_OSAL_ThreadTerminate(pVideoEnc->hDstOutputThread);
pVideoEnc->hDstOutputThread = NULL;
-EXIT:
FunctionOut();
return ret;
diff --git a/openmax/component/video/enc/Exynos_OMX_Venc.h b/openmax/component/video/enc/Exynos_OMX_Venc.h
index 05eb997..884e4da 100755
--- a/openmax/component/video/enc/Exynos_OMX_Venc.h
+++ b/openmax/component/video/enc/Exynos_OMX_Venc.h
@@ -127,7 +127,7 @@ typedef struct _EXYNOS_OMX_VIDEOENC_COMPONENT
int (*exynos_checkInputFrame) (OMX_U8 *pInputStream, OMX_U32 buffSize, OMX_U32 flag,
OMX_BOOL bPreviousFrameEOF, OMX_BOOL *pbEndOfFrame);
OMX_ERRORTYPE (*exynos_codec_getCodecInputPrivateData) (OMX_PTR codecBuffer, OMX_PTR addr[], OMX_U32 size[]);
- OMX_ERRORTYPE (*exynos_codec_getCodecOutputPrivateData) (OMX_PTR codecBuffer, OMX_PTR addr, OMX_U32 *size);
+ OMX_ERRORTYPE (*exynos_codec_getCodecOutputPrivateData) (OMX_PTR codecBuffer, OMX_PTR *addr, OMX_U32 *size);
} EXYNOS_OMX_VIDEOENC_COMPONENT;
#ifdef __cplusplus
diff --git a/openmax/component/video/enc/Exynos_OMX_VencControl.c b/openmax/component/video/enc/Exynos_OMX_VencControl.c
index 4f0dec4..c68a048 100755
--- a/openmax/component/video/enc/Exynos_OMX_VencControl.c
+++ b/openmax/component/video/enc/Exynos_OMX_VencControl.c
@@ -91,8 +91,7 @@ OMX_ERRORTYPE Exynos_OMX_UseBuffer(
}
pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
- if ((nPortIndex < 0) ||
- (nPortIndex >= pExynosComponent->portParam.nPorts)) {
+ if (nPortIndex >= pExynosComponent->portParam.nPorts) {
ret = OMX_ErrorBadPortIndex;
goto EXIT;
}
@@ -222,8 +221,8 @@ OMX_ERRORTYPE Exynos_OMX_AllocateBuffer(
}
pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
- if ((nPortIndex < 0) ||
- (nPortIndex >= pExynosComponent->portParam.nPorts)) {
+ if (nPortIndex >= pExynosComponent->portParam.nPorts) {
+ Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "[%p][%s] invalid parameter(0x%x)", pExynosComponent, __FUNCTION__, nPortIndex);
ret = OMX_ErrorBadPortIndex;
goto EXIT;
}
@@ -333,8 +332,8 @@ OMX_ERRORTYPE Exynos_OMX_FreeBuffer(
}
pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
- if ((nPortIndex < 0) ||
- (nPortIndex >= pExynosComponent->portParam.nPorts)) {
+ if (nPortIndex >= pExynosComponent->portParam.nPorts) {
+ Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "[%p][%s] invalid parameter(0x%x)", pExynosComponent, __FUNCTION__, nPortIndex);
ret = OMX_ErrorBadPortIndex;
goto EXIT;
}
@@ -401,31 +400,14 @@ OMX_ERRORTYPE Exynos_OMX_AllocateTunnelBuffer(
EXYNOS_OMX_BASEPORT *pOMXBasePort,
OMX_U32 nPortIndex)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- OMX_BUFFERHEADERTYPE *pTempBufferHdr = NULL;
- OMX_U8 *pTempBuffer = NULL;
- OMX_U32 nBufferSize = 0;
- OMX_PARAM_PORTDEFINITIONTYPE portDefinition;
-
- ret = OMX_ErrorTunnelingUnsupported;
-EXIT:
- return ret;
+ return OMX_ErrorTunnelingUnsupported;
}
OMX_ERRORTYPE Exynos_OMX_FreeTunnelBuffer(
EXYNOS_OMX_BASEPORT *pOMXBasePort,
OMX_U32 nPortIndex)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- OMX_BUFFERHEADERTYPE *pTempBufferHdr = NULL;
- OMX_U8 *pTempBuffer = NULL;
- OMX_U32 nBufferSize = 0;
-
- ret = OMX_ErrorTunnelingUnsupported;
-EXIT:
- return ret;
+ return OMX_ErrorTunnelingUnsupported;
}
OMX_ERRORTYPE Exynos_OMX_ComponentTunnelRequest(
@@ -435,11 +417,7 @@ OMX_ERRORTYPE Exynos_OMX_ComponentTunnelRequest(
OMX_IN OMX_U32 nTunneledPort,
OMX_INOUT OMX_TUNNELSETUPTYPE *pTunnelSetup)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
-
- ret = OMX_ErrorTunnelingUnsupported;
-EXIT:
- return ret;
+ return OMX_ErrorTunnelingUnsupported;
}
OMX_ERRORTYPE Exynos_OMX_GetFlushBuffer(
@@ -459,7 +437,6 @@ OMX_ERRORTYPE Exynos_OMX_GetFlushBuffer(
pDataBuffer[1] = &(pExynosPort->way.port2WayDataBuffer.outputDataBuffer);
}
-EXIT:
FunctionOut();
return ret;
@@ -591,7 +568,6 @@ OMX_ERRORTYPE Exynos_OMX_BufferFlush(
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
EXYNOS_OMX_DATABUFFER *pDataBuffer[2] = {NULL, NULL};
- OMX_U32 i = 0;
FunctionIn();
#ifdef TIZEN_FEATURE_E54XX
@@ -1126,8 +1102,7 @@ OMX_ERRORTYPE Exynos_CodecBufferEnqueue(
goto EXIT;
}
- if ((nPortIndex < 0) ||
- (nPortIndex >= pExynosComponent->portParam.nPorts)) {
+ if (nPortIndex >= pExynosComponent->portParam.nPorts) {
ret = OMX_ErrorBadPortIndex;
goto EXIT;
}
@@ -1169,8 +1144,7 @@ OMX_ERRORTYPE Exynos_CodecBufferDequeue(
goto EXIT;
}
- if ((nPortIndex < 0) ||
- (nPortIndex >= pExynosComponent->portParam.nPorts)) {
+ if (nPortIndex >= pExynosComponent->portParam.nPorts) {
ret = OMX_ErrorBadPortIndex;
goto EXIT;
}
@@ -1206,8 +1180,7 @@ OMX_ERRORTYPE Exynos_CodecBufferReset(
goto EXIT;
}
- if ((nPortIndex < 0) ||
- (nPortIndex >= pExynosComponent->portParam.nPorts)) {
+ if (nPortIndex >= pExynosComponent->portParam.nPorts) {
ret = OMX_ErrorBadPortIndex;
goto EXIT;
}
@@ -1220,7 +1193,7 @@ OMX_ERRORTYPE Exynos_CodecBufferReset(
}
while (1) {
- int cnt = 0;
+ OMX_S32 cnt = 0;
Exynos_OSAL_Get_SemaphoreCount(pExynosPort->codecSemID, &cnt);
if (cnt > 0)
Exynos_OSAL_SemaphoreWait(pExynosPort->codecSemID);
@@ -1243,7 +1216,6 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeGetParameter(
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
FunctionIn();
@@ -1302,8 +1274,7 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeGetParameter(
goto EXIT;
}
- if ((nPortIndex < 0) ||
- (nPortIndex >= pExynosComponent->portParam.nPorts)) {
+ if (nPortIndex >= pExynosComponent->portParam.nPorts) {
ret = OMX_ErrorBadPortIndex;
goto EXIT;
}
@@ -1406,9 +1377,7 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeGetParameter(
{
OMX_VIDEO_PARAM_QUANTIZATIONTYPE *pVideoQuantization = (OMX_VIDEO_PARAM_QUANTIZATIONTYPE *)pComponentParameterStructure;
OMX_U32 nPortIndex = pVideoQuantization->nPortIndex;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL;
- OMX_PARAM_PORTDEFINITIONTYPE *pPortDef = NULL;
if (nPortIndex != OUTPUT_PORT_INDEX) {
ret = OMX_ErrorBadPortIndex;
@@ -1419,8 +1388,6 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeGetParameter(
ret = OMX_ErrorBadParameter;
goto EXIT;
}
- pExynosPort = &pExynosComponent->pExynosPort[nPortIndex];
- pPortDef = &pExynosPort->portDefinition;
pVideoQuantization->nQpI = pVideoEnc->quantization.nQpI;
pVideoQuantization->nQpP = pVideoEnc->quantization.nQpP;
@@ -1435,8 +1402,7 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeGetParameter(
OMX_U32 nPortIndex = pPortDef->nPortIndex;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- if ((nPortIndex < 0) ||
- (nPortIndex >= pExynosComponent->portParam.nPorts)) {
+ if (nPortIndex >= pExynosComponent->portParam.nPorts) {
ret = OMX_ErrorBadPortIndex;
goto EXIT;
}
@@ -1477,7 +1443,6 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeSetParameter(
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
FunctionIn();
@@ -1513,17 +1478,14 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeSetParameter(
{
OMX_VIDEO_PARAM_PORTFORMATTYPE *pPortFormat = (OMX_VIDEO_PARAM_PORTFORMATTYPE *)pComponentParameterStructure;
OMX_U32 nPortIndex = pPortFormat->nPortIndex;
- OMX_U32 nIndex = pPortFormat->nIndex;
OMX_PARAM_PORTDEFINITIONTYPE *pPortDef = NULL;
- OMX_U32 nSupportFormat = 0;
ret = Exynos_OMX_Check_SizeVersion(pPortFormat, sizeof(OMX_VIDEO_PARAM_PORTFORMATTYPE));
if (ret != OMX_ErrorNone) {
goto EXIT;
}
- if ((nPortIndex < 0) ||
- (nPortIndex >= pExynosComponent->portParam.nPorts)) {
+ if (nPortIndex >= pExynosComponent->portParam.nPorts) {
ret = OMX_ErrorBadPortIndex;
goto EXIT;
}
@@ -1538,7 +1500,6 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeSetParameter(
{
OMX_VIDEO_PARAM_BITRATETYPE *pVideoBitrate = (OMX_VIDEO_PARAM_BITRATETYPE *)pComponentParameterStructure;
OMX_U32 nPortIndex = pVideoBitrate->nPortIndex;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL;
OMX_PARAM_PORTDEFINITIONTYPE *pPortDef = NULL;
@@ -1563,9 +1524,7 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeSetParameter(
{
OMX_VIDEO_PARAM_QUANTIZATIONTYPE *pVideoQuantization = (OMX_VIDEO_PARAM_QUANTIZATIONTYPE *)pComponentParameterStructure;
OMX_U32 nPortIndex = pVideoQuantization->nPortIndex;
- EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL;
- OMX_PARAM_PORTDEFINITIONTYPE *pPortDef = NULL;
if (nPortIndex != OUTPUT_PORT_INDEX) {
ret = OMX_ErrorBadPortIndex;
@@ -1576,8 +1535,6 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeSetParameter(
ret = OMX_ErrorBadParameter;
goto EXIT;
}
- pExynosPort = &pExynosComponent->pExynosPort[nPortIndex];
- pPortDef = &pExynosPort->portDefinition;
pVideoEnc->quantization.nQpI = pVideoQuantization->nQpI;
pVideoEnc->quantization.nQpP = pVideoQuantization->nQpP;
@@ -1591,10 +1548,8 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeSetParameter(
OMX_PARAM_PORTDEFINITIONTYPE *pPortDef = (OMX_PARAM_PORTDEFINITIONTYPE *)pComponentParameterStructure;
OMX_U32 nPortIndex = pPortDef->nPortIndex;
EXYNOS_OMX_BASEPORT *pExynosPort = NULL;
- OMX_U32 width, height, size;
- if ((nPortIndex < 0) ||
- (nPortIndex >= pExynosComponent->portParam.nPorts)) {
+ if (nPortIndex >= pExynosComponent->portParam.nPorts) {
ret = OMX_ErrorBadPortIndex;
goto EXIT;
}
diff --git a/openmax/component/video/enc/Exynos_OMX_VencControl.h b/openmax/component/video/enc/Exynos_OMX_VencControl.h
index f2bd4ed..3a7b5f4 100755
--- a/openmax/component/video/enc/Exynos_OMX_VencControl.h
+++ b/openmax/component/video/enc/Exynos_OMX_VencControl.h
@@ -87,6 +87,23 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeGetExtensionIndex(
OMX_IN OMX_HANDLETYPE hComponent,
OMX_IN OMX_STRING szParameterName,
OMX_OUT OMX_INDEXTYPE *pIndexType);
+OMX_ERRORTYPE Exynos_OutputBufferGetQueue(
+ EXYNOS_OMX_BASECOMPONENT *pExynosComponent);
+OMX_BUFFERHEADERTYPE *Exynos_OutputBufferGetQueue_Direct(
+ EXYNOS_OMX_BASECOMPONENT *pExynosComponent);
+OMX_ERRORTYPE Exynos_InputBufferGetQueue(
+ EXYNOS_OMX_BASECOMPONENT *pExynosComponent);
+OMX_ERRORTYPE Exynos_CodecBufferEnqueue(
+ EXYNOS_OMX_BASECOMPONENT *pExynosComponent,
+ OMX_U32 nPortIndex,
+ OMX_PTR pData);
+OMX_ERRORTYPE Exynos_CodecBufferReset(
+ EXYNOS_OMX_BASECOMPONENT *pExynosComponent,
+ OMX_U32 nPortIndex);
+OMX_ERRORTYPE Exynos_CodecBufferDequeue(
+ EXYNOS_OMX_BASECOMPONENT *pExynosComponent,
+ OMX_U32 nPortIndex,
+ OMX_PTR *pData);
OMX_ERRORTYPE Exynos_InputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent);
OMX_ERRORTYPE Exynos_OutputBufferReturn(OMX_COMPONENTTYPE *pOMXComponent);
OMX_ERRORTYPE Exynos_OMX_BufferFlush(OMX_COMPONENTTYPE *pOMXComponent, OMX_S32 nPortIndex, OMX_BOOL bEvent);
diff --git a/openmax/component/video/enc/h264/Exynos_OMX_H264enc.c b/openmax/component/video/enc/h264/Exynos_OMX_H264enc.c
index 5e8b9cd..9dbde18 100755..100644
--- a/openmax/component/video/enc/h264/Exynos_OMX_H264enc.c
+++ b/openmax/component/video/enc/h264/Exynos_OMX_H264enc.c
@@ -40,6 +40,7 @@
//#include "ExynosVideoApi.h"
#include "Exynos_OSAL_SharedMemory.h"
#include "Exynos_OSAL_Event.h"
+#include "Exynos_OMX_VencControl.h"
#ifdef USE_PB
#include "Exynos_OSAL_Platform_Specific.h"
@@ -377,10 +378,7 @@ static void Change_H264Enc_Param(EXYNOS_OMX_BASECOMPONENT *pExynosComponent)
OMX_ERRORTYPE GetCodecInputPrivateData(OMX_PTR codecBuffer, OMX_PTR addr[], OMX_U32 size[])
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
-
-EXIT:
- return ret;
+ return OMX_ErrorNone;
}
OMX_ERRORTYPE GetCodecOutputPrivateData(OMX_PTR codecBuffer, OMX_PTR *pVirtAddr, OMX_U32 *dataSize)
@@ -559,7 +557,6 @@ OMX_ERRORTYPE H264CodecStart(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInde
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
void *hMFCHandle = NULL;
- ExynosVideoEncOps *pEncOps = NULL;
ExynosVideoEncBufferOps *pInbufOps = NULL;
ExynosVideoEncBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL;
@@ -585,7 +582,6 @@ OMX_ERRORTYPE H264CodecStart(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInde
}
hMFCHandle = pH264Enc->hMFCH264Handle.hMFCHandle;
- pEncOps = pH264Enc->hMFCH264Handle.pEncOps;
pInbufOps = pH264Enc->hMFCH264Handle.pInbufOps;
pOutbufOps = pH264Enc->hMFCH264Handle.pOutbufOps;
@@ -605,10 +601,10 @@ EXIT:
OMX_ERRORTYPE H264CodecStop(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- void *hMFCHandle = NULL;
- ExynosVideoEncOps *pEncOps = NULL;
- ExynosVideoEncBufferOps *pInbufOps = NULL;
+
+ void *hMFCHandle = NULL;
ExynosVideoEncBufferOps *pOutbufOps = NULL;
+ ExynosVideoEncBufferOps *pInbufOps = NULL;
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL;
EXYNOS_H264ENC_HANDLE *pH264Enc = NULL;
@@ -629,9 +625,7 @@ OMX_ERRORTYPE H264CodecStop(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex
ret = OMX_ErrorBadParameter;
goto EXIT;
}
-
hMFCHandle = pH264Enc->hMFCH264Handle.hMFCHandle;
- pEncOps = pH264Enc->hMFCH264Handle.pEncOps;
pInbufOps = pH264Enc->hMFCH264Handle.pInbufOps;
pOutbufOps = pH264Enc->hMFCH264Handle.pOutbufOps;
@@ -657,16 +651,14 @@ OMX_ERRORTYPE H264CodecSrcInit(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_MFC_H264ENC_HANDLE *pMFCH264Handle = &pH264Enc->hMFCH264Handle;
void *hMFCHandle = pMFCH264Handle->hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
ExynosVideoEncOps *pEncOps = pH264Enc->hMFCH264Handle.pEncOps;
ExynosVideoEncBufferOps *pInbufOps = pH264Enc->hMFCH264Handle.pInbufOps;
- ExynosVideoEncBufferOps *pOutbufOps = pH264Enc->hMFCH264Handle.pOutbufOps;
ExynosVideoEncParam *pEncParam = NULL;
ExynosVideoGeometry bufferConf;
OMX_U32 inputBufferNumber = 0;
- int i, nOutbufs;
+ int i;
FunctionIn();
@@ -798,10 +790,6 @@ EXIT:
OMX_ERRORTYPE H264CodecOutputBufferProcessRun(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- void *hMFCHandle = NULL;
- ExynosVideoEncOps *pEncOps = NULL;
- ExynosVideoEncBufferOps *pInbufOps = NULL;
- ExynosVideoEncBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL;
EXYNOS_H264ENC_HANDLE *pH264Enc = NULL;
@@ -823,11 +811,6 @@ OMX_ERRORTYPE H264CodecOutputBufferProcessRun(OMX_COMPONENTTYPE *pOMXComponent,
goto EXIT;
}
- hMFCHandle = pH264Enc->hMFCH264Handle.hMFCHandle;
- pEncOps = pH264Enc->hMFCH264Handle.pEncOps;
- pInbufOps = pH264Enc->hMFCH264Handle.pInbufOps;
- pOutbufOps = pH264Enc->hMFCH264Handle.pOutbufOps;
-
if (nPortIndex == INPUT_PORT_INDEX) {
if (pH264Enc->bSourceStart == OMX_FALSE) {
Exynos_OSAL_SignalSet(pH264Enc->hSourceStartEvent);
@@ -857,11 +840,8 @@ OMX_ERRORTYPE H264CodecEnqueueAllBuffer(OMX_COMPONENTTYPE *pOMXComponent, OMX_U3
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_H264ENC_HANDLE *pH264Enc = (EXYNOS_H264ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pH264Enc->hMFCH264Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
- int i, nOutbufs;
+ int i;
- ExynosVideoEncOps *pEncOps = pH264Enc->hMFCH264Handle.pEncOps;
ExynosVideoEncBufferOps *pInbufOps = pH264Enc->hMFCH264Handle.pInbufOps;
ExynosVideoEncBufferOps *pOutbufOps = pH264Enc->hMFCH264Handle.pOutbufOps;
@@ -887,7 +867,6 @@ OMX_ERRORTYPE H264CodecEnqueueAllBuffer(OMX_COMPONENTTYPE *pOMXComponent, OMX_U3
pInbufOps->Clear_Queue(hMFCHandle);
} else if ((nPortIndex == OUTPUT_PORT_INDEX) &&
(pH264Enc->bDestinationStart == OMX_TRUE)) {
- OMX_U32 dataLen[2] = {0, 0};
ExynosVideoBuffer *pBuffer = NULL;
Exynos_CodecBufferReset(pExynosComponent, OUTPUT_PORT_INDEX);
@@ -912,23 +891,10 @@ OMX_ERRORTYPE H264CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DAT
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_H264ENC_HANDLE *pH264Enc = (EXYNOS_H264ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- EXYNOS_MFC_H264ENC_HANDLE *pMFCH264Handle = &pH264Enc->hMFCH264Handle;
- void *hMFCHandle = pMFCH264Handle->hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_U32 oneFrameSize = pSrcInputData->dataLen;
- ExynosVideoEncOps *pEncOps = pH264Enc->hMFCH264Handle.pEncOps;
- ExynosVideoEncBufferOps *pInbufOps = pH264Enc->hMFCH264Handle.pInbufOps;
- ExynosVideoEncBufferOps *pOutbufOps = pH264Enc->hMFCH264Handle.pOutbufOps;
- ExynosVideoEncParam *pEncParam = NULL;
-
- ExynosVideoGeometry bufferConf;
- OMX_U32 inputBufferNumber = 0;
- int i, nOutbufs;
-
FunctionIn();
if ((oneFrameSize <= 0) && (pSrcInputData->nFlags & OMX_BUFFERFLAG_EOS)) {
@@ -972,14 +938,11 @@ OMX_ERRORTYPE H264CodecDstSetup(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_H264ENC_HANDLE *pH264Enc = (EXYNOS_H264ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
EXYNOS_MFC_H264ENC_HANDLE *pMFCH264Handle = &pH264Enc->hMFCH264Handle;
void *hMFCHandle = pMFCH264Handle->hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
- ExynosVideoEncOps *pEncOps = pH264Enc->hMFCH264Handle.pEncOps;
- ExynosVideoEncBufferOps *pInbufOps = pH264Enc->hMFCH264Handle.pInbufOps;
ExynosVideoEncBufferOps *pOutbufOps = pH264Enc->hMFCH264Handle.pOutbufOps;
ExynosVideoGeometry bufferConf;
- int i, nOutbufs, nPlanes, OutBufferSize;
+ int i,nPlanes, OutBufferSize;
FunctionIn();
@@ -1548,7 +1511,6 @@ OMX_ERRORTYPE Exynos_H264Enc_SetConfig(
switch (nIndex) {
case OMX_IndexConfigVideoIntraPeriod:
{
- EXYNOS_OMX_VIDEOENC_COMPONENT *pVEncBase = ((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle);
OMX_U32 nPFrames = (*((OMX_U32 *)pComponentConfigStructure)) - 1;
pH264Enc->AVCComponent[OUTPUT_PORT_INDEX].nPFrames = nPFrames;
@@ -1647,8 +1609,6 @@ EXIT:
OMX_ERRORTYPE Exynos_H264Enc_ComponentRoleEnum(OMX_HANDLETYPE hComponent, OMX_U8 *cRole, OMX_U32 nIndex)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- OMX_COMPONENTTYPE *pOMXComponent = NULL;
- EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
FunctionIn();
@@ -1678,15 +1638,8 @@ OMX_ERRORTYPE Exynos_H264Enc_Init(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_H264ENC_HANDLE *pH264Enc = (EXYNOS_H264ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;;
- EXYNOS_MFC_H264ENC_HANDLE *pMFCH264Handle = &pH264Enc->hMFCH264Handle;
- OMX_PTR hMFCHandle = pH264Enc->hMFCH264Handle.hMFCHandle;
OMX_COLOR_FORMATTYPE eColorFormat;
- ExynosVideoEncOps *pEncOps = NULL;
- ExynosVideoEncBufferOps *pInbufOps = NULL;
- ExynosVideoEncBufferOps *pOutbufOps = NULL;
-
- CSC_METHOD csc_method = CSC_METHOD_SW;
int i = 0;
FunctionIn();
@@ -1707,8 +1660,8 @@ OMX_ERRORTYPE Exynos_H264Enc_Init(OMX_COMPONENTTYPE *pOMXComponent)
}
#endif
} else {
- if (eColorFormat == OMX_SEC_COLOR_FormatNV12L_DmaBuf_Fd ||
- eColorFormat == OMX_SEC_COLOR_FormatNV12T_DmaBuf_Fd) {
+ if (eColorFormat == (OMX_COLOR_FORMATTYPE)OMX_SEC_COLOR_FormatNV12L_DmaBuf_Fd ||
+ eColorFormat == (OMX_COLOR_FORMATTYPE)OMX_SEC_COLOR_FormatNV12T_DmaBuf_Fd) {
pExynosInputPort->bufferProcessType = BUFFER_SHARE;
} else {
pExynosInputPort->bufferProcessType = BUFFER_COPY;
@@ -1729,10 +1682,6 @@ OMX_ERRORTYPE Exynos_H264Enc_Init(OMX_COMPONENTTYPE *pOMXComponent)
goto EXIT;
}
- pEncOps = pH264Enc->hMFCH264Handle.pEncOps;
- pInbufOps = pH264Enc->hMFCH264Handle.pInbufOps;
- pOutbufOps = pH264Enc->hMFCH264Handle.pOutbufOps;
-
if (pExynosInputPort->bufferProcessType & BUFFER_COPY) {
Exynos_OSAL_SemaphoreCreate(&pExynosInputPort->codecSemID);
Exynos_OSAL_QueueCreate(&pExynosInputPort->codecBufferQ, MAX_QUEUE_ELEMENTS);
@@ -1805,6 +1754,7 @@ OMX_ERRORTYPE Exynos_H264Enc_Init(OMX_COMPONENTTYPE *pOMXComponent)
pExynosComponent->getAllDelayBuffer = OMX_FALSE;
#if 0//defined(USE_CSC_GSCALER)
+ CSC_METHOD csc_method = CSC_METHOD_SW;
csc_method = CSC_METHOD_HW; //in case of Use ION buffer.
pVideoEnc->csc_handle = csc_init(csc_method);
if (pVideoEnc->csc_handle == NULL) {
@@ -1828,13 +1778,8 @@ OMX_ERRORTYPE Exynos_H264Enc_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_H264ENC_HANDLE *pH264Enc = (EXYNOS_H264ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- OMX_PTR hMFCHandle = pH264Enc->hMFCH264Handle.hMFCHandle;
-
- ExynosVideoEncOps *pEncOps = pH264Enc->hMFCH264Handle.pEncOps;
- ExynosVideoEncBufferOps *pInbufOps = pH264Enc->hMFCH264Handle.pInbufOps;
- ExynosVideoEncBufferOps *pOutbufOps = pH264Enc->hMFCH264Handle.pOutbufOps;
- int i = 0, plane = 0;
+ int i = 0;
FunctionIn();
@@ -1897,7 +1842,6 @@ OMX_ERRORTYPE Exynos_H264Enc_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
}
H264CodecClose(pH264Enc);
-EXIT:
FunctionOut();
return ret;
@@ -1911,13 +1855,10 @@ OMX_ERRORTYPE Exynos_H264Enc_SrcIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_
EXYNOS_H264ENC_HANDLE *pH264Enc = (EXYNOS_H264ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pH264Enc->hMFCH264Handle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_U32 oneFrameSize = pSrcInputData->dataLen;
ExynosVideoEncOps *pEncOps = pH264Enc->hMFCH264Handle.pEncOps;
ExynosVideoEncBufferOps *pInbufOps = pH264Enc->hMFCH264Handle.pInbufOps;
- ExynosVideoEncBufferOps *pOutbufOps = pH264Enc->hMFCH264Handle.pOutbufOps;
ExynosVideoErrorType codecReturn = VIDEO_ERROR_NONE;
- int i;
FunctionIn();
@@ -1935,9 +1876,8 @@ OMX_ERRORTYPE Exynos_H264Enc_SrcIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_
pVideoEnc->configChange = OMX_FALSE;
}
- if ((pSrcInputData->dataLen >= 0) ||
- ((pSrcInputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS)) {
- OMX_U32 pMFCYUVDataSize[MFC_INPUT_BUFFER_PLANE] = {NULL, NULL};
+ if ((pSrcInputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS) {
+ OMX_U32 pMFCYUVDataSize[MFC_INPUT_BUFFER_PLANE] = {0, };
ExynosVideoPlane planes[MFC_INPUT_BUFFER_PLANE];
int plane;
@@ -2039,7 +1979,6 @@ OMX_ERRORTYPE Exynos_H264Enc_SrcOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
EXYNOS_H264ENC_HANDLE *pH264Enc = (EXYNOS_H264ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pH264Enc->hMFCH264Handle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- ExynosVideoEncOps *pEncOps = pH264Enc->hMFCH264Handle.pEncOps;
ExynosVideoEncBufferOps *pInbufOps = pH264Enc->hMFCH264Handle.pInbufOps;
ExynosVideoBuffer *pVideoBuffer;
@@ -2098,10 +2037,8 @@ OMX_ERRORTYPE Exynos_H264Enc_DstIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_H264ENC_HANDLE *pH264Enc = (EXYNOS_H264ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pH264Enc->hMFCH264Handle.hMFCHandle;
- ExynosVideoEncOps *pEncOps = pH264Enc->hMFCH264Handle.pEncOps;
ExynosVideoEncBufferOps *pOutbufOps = pH264Enc->hMFCH264Handle.pOutbufOps;
OMX_U32 dataLen = 0;
ExynosVideoErrorType codecReturn = VIDEO_ERROR_NONE;
@@ -2143,7 +2080,6 @@ OMX_ERRORTYPE Exynos_H264Enc_DstOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
ExynosVideoEncBufferOps *pOutbufOps = pH264Enc->hMFCH264Handle.pOutbufOps;
ExynosVideoBuffer *pVideoBuffer;
ExynosVideoFrameStatusType displayStatus = VIDEO_FRAME_STATUS_UNKNOWN;
- ExynosVideoGeometry bufferGeometry;
OMX_S32 indexTimestamp = 0;
FunctionIn();
@@ -2228,7 +2164,6 @@ OMX_ERRORTYPE Exynos_H264Enc_srcInputBufferProcess(OMX_COMPONENTTYPE *pOMXCompon
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_H264ENC_HANDLE *pH264Enc = (EXYNOS_H264ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
FunctionIn();
diff --git a/openmax/component/video/enc/h264/Exynos_OMX_H264enc.h b/openmax/component/video/enc/h264/Exynos_OMX_H264enc.h
index caa606d..d988c02 100755
--- a/openmax/component/video/enc/h264/Exynos_OMX_H264enc.h
+++ b/openmax/component/video/enc/h264/Exynos_OMX_H264enc.h
@@ -52,9 +52,9 @@ typedef struct _EXYNOS_MFC_H264ENC_HANDLE
OMX_BOOL bPrependSpsPpsToIdr;
EXTRA_DATA headerData;
- ExynosVideoDecOps *pEncOps;
- ExynosVideoDecBufferOps *pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps;
+ ExynosVideoEncOps *pEncOps;
+ ExynosVideoEncBufferOps *pInbufOps;
+ ExynosVideoEncBufferOps *pOutbufOps;
ExynosVideoEncParam encParam;
} EXYNOS_MFC_H264ENC_HANDLE;
@@ -79,6 +79,7 @@ extern "C" {
OSCL_EXPORT_REF OMX_ERRORTYPE Exynos_OMX_ComponentInit(OMX_HANDLETYPE hComponent, OMX_STRING componentName);
OMX_ERRORTYPE Exynos_OMX_ComponentDeinit(OMX_HANDLETYPE hComponent);
+OMX_ERRORTYPE GetCodecOutputPrivateData(OMX_PTR codecBuffer, OMX_PTR *pVirtAddr, OMX_U32 *dataSize);
#ifdef __cplusplus
};
diff --git a/openmax/component/video/enc/h264/library_register.c b/openmax/component/video/enc/h264/library_register.c
index c8afbd6..c8afbd6 100755..100644
--- a/openmax/component/video/enc/h264/library_register.c
+++ b/openmax/component/video/enc/h264/library_register.c
diff --git a/openmax/component/video/enc/mpeg4/Exynos_OMX_Mpeg4enc.c b/openmax/component/video/enc/mpeg4/Exynos_OMX_Mpeg4enc.c
index 07e94c5..d6ff970 100755
--- a/openmax/component/video/enc/mpeg4/Exynos_OMX_Mpeg4enc.c
+++ b/openmax/component/video/enc/mpeg4/Exynos_OMX_Mpeg4enc.c
@@ -40,6 +40,7 @@
//#include "ExynosVideoApi.h"
#include "Exynos_OSAL_SharedMemory.h"
#include "Exynos_OSAL_Event.h"
+#include "Exynos_OMX_VencControl.h"
/* To use CSC_METHOD_HW in EXYNOS OMX, gralloc should allocate physical memory using FIMC */
/* It means GRALLOC_USAGE_HW_FIMC1 should be set on Native Window usage */
@@ -243,8 +244,8 @@ static void Set_Mpeg4Enc_Param(EXYNOS_OMX_BASECOMPONENT *pExynosComponent)
pCommonParam->CrPadVal = 0;
switch ((EXYNOS_OMX_COLOR_FORMATTYPE)pExynosInputPort->portDefinition.format.video.eColorFormat) {
- case OMX_COLOR_FormatYUV420SemiPlanar:
- case OMX_COLOR_FormatYUV420Planar: /* Converted to NV12 in Exynos_Preprocessor_InputData */
+ case (EXYNOS_OMX_COLOR_FORMATTYPE)OMX_COLOR_FormatYUV420SemiPlanar:
+ case (EXYNOS_OMX_COLOR_FORMATTYPE)OMX_COLOR_FormatYUV420Planar: /* Converted to NV12 in Exynos_Preprocessor_InputData */
#ifdef TIZEN_FEATURE_E54XX
case OMX_SEC_COLOR_FormatNV12L_DmaBuf_Fd:
#endif
@@ -491,10 +492,7 @@ static void Change_H263Enc_Param(EXYNOS_OMX_BASECOMPONENT *pExynosComponent)
OMX_ERRORTYPE GetCodecInputPrivateData(OMX_PTR codecBuffer, OMX_PTR addr[], OMX_U32 size[])
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
-
-EXIT:
- return ret;
+ return OMX_ErrorNone;
}
OMX_ERRORTYPE GetCodecOutputPrivateData(OMX_PTR codecBuffer, OMX_PTR *pVirtAddr, OMX_U32 *dataSize)
@@ -673,7 +671,6 @@ OMX_ERRORTYPE Mpeg4CodecStart(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInd
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
void *hMFCHandle = NULL;
- ExynosVideoEncOps *pEncOps = NULL;
ExynosVideoEncBufferOps *pInbufOps = NULL;
ExynosVideoEncBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL;
@@ -699,7 +696,6 @@ OMX_ERRORTYPE Mpeg4CodecStart(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInd
}
hMFCHandle = pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle;
- pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
pInbufOps = pMpeg4Enc->hMFCMpeg4Handle.pInbufOps;
pOutbufOps = pMpeg4Enc->hMFCMpeg4Handle.pOutbufOps;
@@ -720,7 +716,6 @@ OMX_ERRORTYPE Mpeg4CodecStop(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInde
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
void *hMFCHandle = NULL;
- ExynosVideoEncOps *pEncOps = NULL;
ExynosVideoEncBufferOps *pInbufOps = NULL;
ExynosVideoEncBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL;
@@ -745,7 +740,6 @@ OMX_ERRORTYPE Mpeg4CodecStop(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortInde
}
hMFCHandle = pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle;
- pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
pInbufOps = pMpeg4Enc->hMFCMpeg4Handle.pInbufOps;
pOutbufOps = pMpeg4Enc->hMFCMpeg4Handle.pOutbufOps;
@@ -771,16 +765,13 @@ OMX_ERRORTYPE Mpeg4CodecSrcInit(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_MFC_MPEG4ENC_HANDLE *pMFCMpeg4Handle = &pMpeg4Enc->hMFCMpeg4Handle;
void *hMFCHandle = pMFCMpeg4Handle->hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
- ExynosVideoEncOps *pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
ExynosVideoEncBufferOps *pInbufOps = pMpeg4Enc->hMFCMpeg4Handle.pInbufOps;
- ExynosVideoEncBufferOps *pOutbufOps = pMpeg4Enc->hMFCMpeg4Handle.pOutbufOps;
ExynosVideoEncParam *pEncParam = NULL;
ExynosVideoGeometry bufferConf;
OMX_U32 inputBufferNumber = 0;
- int i, nOutbufs;
+ int i;
FunctionIn();
@@ -911,10 +902,6 @@ EXIT:
OMX_ERRORTYPE Mpeg4CodecOutputBufferProcessRun(OMX_COMPONENTTYPE *pOMXComponent, OMX_U32 nPortIndex)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- void *hMFCHandle = NULL;
- ExynosVideoEncOps *pEncOps = NULL;
- ExynosVideoEncBufferOps *pInbufOps = NULL;
- ExynosVideoEncBufferOps *pOutbufOps = NULL;
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL;
EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = NULL;
@@ -936,11 +923,6 @@ OMX_ERRORTYPE Mpeg4CodecOutputBufferProcessRun(OMX_COMPONENTTYPE *pOMXComponent,
goto EXIT;
}
- hMFCHandle = pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle;
- pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
- pInbufOps = pMpeg4Enc->hMFCMpeg4Handle.pInbufOps;
- pOutbufOps = pMpeg4Enc->hMFCMpeg4Handle.pOutbufOps;
-
if (nPortIndex == INPUT_PORT_INDEX) {
if (pMpeg4Enc->bSourceStart == OMX_FALSE) {
Exynos_OSAL_SignalSet(pMpeg4Enc->hSourceStartEvent);
@@ -970,11 +952,8 @@ OMX_ERRORTYPE Mpeg4CodecEnqueueAllBuffer(OMX_COMPONENTTYPE *pOMXComponent, OMX_U
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = (EXYNOS_MPEG4ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
- int i, nOutbufs;
+ int i;
- ExynosVideoEncOps *pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
ExynosVideoEncBufferOps *pInbufOps = pMpeg4Enc->hMFCMpeg4Handle.pInbufOps;
ExynosVideoEncBufferOps *pOutbufOps = pMpeg4Enc->hMFCMpeg4Handle.pOutbufOps;
@@ -1000,7 +979,6 @@ OMX_ERRORTYPE Mpeg4CodecEnqueueAllBuffer(OMX_COMPONENTTYPE *pOMXComponent, OMX_U
pInbufOps->Clear_Queue(hMFCHandle);
} else if ((nPortIndex == OUTPUT_PORT_INDEX) &&
(pMpeg4Enc->bDestinationStart == OMX_TRUE)) {
- OMX_U32 dataLen[2] = {0, 0};
ExynosVideoBuffer *pBuffer = NULL;
Exynos_CodecBufferReset(pExynosComponent, OUTPUT_PORT_INDEX);
@@ -1025,23 +1003,10 @@ OMX_ERRORTYPE Mpeg4CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DA
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = (EXYNOS_MPEG4ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- EXYNOS_MFC_MPEG4ENC_HANDLE *pMFCMpeg4Handle = &pMpeg4Enc->hMFCMpeg4Handle;
- void *hMFCHandle = pMFCMpeg4Handle->hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_U32 oneFrameSize = pSrcInputData->dataLen;
- ExynosVideoEncOps *pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
- ExynosVideoEncBufferOps *pInbufOps = pMpeg4Enc->hMFCMpeg4Handle.pInbufOps;
- ExynosVideoEncBufferOps *pOutbufOps = pMpeg4Enc->hMFCMpeg4Handle.pOutbufOps;
- ExynosVideoEncParam *pEncParam = NULL;
-
- ExynosVideoGeometry bufferConf;
- OMX_U32 inputBufferNumber = 0;
- int i, nOutbufs;
-
FunctionIn();
if ((oneFrameSize <= 0) && (pSrcInputData->nFlags & OMX_BUFFERFLAG_EOS)) {
@@ -1054,9 +1019,10 @@ OMX_ERRORTYPE Mpeg4CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DA
OMXBuffer->nTimeStamp = pSrcInputData->timeStamp;
OMXBuffer->nFlags = pSrcInputData->nFlags;
- Exynos_OMX_OutputBufferReturn(pOMXComponent, OMXBuffer);
-
- ret = OMX_ErrorNone;
+ ret = Exynos_OMX_OutputBufferReturn(pOMXComponent, OMXBuffer);
+ if (ret != OMX_ErrorNone) {
+ goto EXIT;
+ }
goto EXIT;
}
@@ -1089,14 +1055,11 @@ OMX_ERRORTYPE Mpeg4CodecDstSetup(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = (EXYNOS_MPEG4ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
EXYNOS_MFC_MPEG4ENC_HANDLE *pMFCMpeg4Handle = &pMpeg4Enc->hMFCMpeg4Handle;
void *hMFCHandle = pMFCMpeg4Handle->hMFCHandle;
- EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
- ExynosVideoEncOps *pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
- ExynosVideoEncBufferOps *pInbufOps = pMpeg4Enc->hMFCMpeg4Handle.pInbufOps;
ExynosVideoEncBufferOps *pOutbufOps = pMpeg4Enc->hMFCMpeg4Handle.pOutbufOps;
ExynosVideoGeometry bufferConf;
- int i, nOutbufs, nPlanes, OutBufferSize;
+ int i, nPlanes, OutBufferSize;
FunctionIn();
@@ -1688,7 +1651,7 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_SetConfig(
pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
pMpeg4Enc = (EXYNOS_MPEG4ENC_HANDLE *)pVideoEnc->hCodecHandle;
- switch (nIndex) {
+ switch ((EXYNOS_OMX_INDEXTYPE)nIndex) {
case OMX_IndexConfigVideoIntraPeriod:
{
OMX_U32 nPFrames = (*((OMX_U32 *)pComponentConfigStructure)) - 1;
@@ -1818,15 +1781,11 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_Init(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = (EXYNOS_MPEG4ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;;
- EXYNOS_MFC_MPEG4ENC_HANDLE *pMFCMpeg4Handle = &pMpeg4Enc->hMFCMpeg4Handle;
- OMX_PTR hMFCHandle = pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle;
OMX_COLOR_FORMATTYPE eColorFormat;
- ExynosVideoEncOps *pEncOps = NULL;
- ExynosVideoEncBufferOps *pInbufOps = NULL;
- ExynosVideoEncBufferOps *pOutbufOps = NULL;
-
+/*
CSC_METHOD csc_method = CSC_METHOD_SW;
+*/
int i = 0;
FunctionIn();
@@ -1847,8 +1806,8 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_Init(OMX_COMPONENTTYPE *pOMXComponent)
}
#endif
} else {
- if (eColorFormat == OMX_SEC_COLOR_FormatNV12L_DmaBuf_Fd ||
- eColorFormat == OMX_SEC_COLOR_FormatNV12T_DmaBuf_Fd) {
+ if (eColorFormat == (OMX_COLOR_FORMATTYPE)OMX_SEC_COLOR_FormatNV12L_DmaBuf_Fd ||
+ eColorFormat == (OMX_COLOR_FORMATTYPE)OMX_SEC_COLOR_FormatNV12T_DmaBuf_Fd) {
pExynosInputPort->bufferProcessType = BUFFER_SHARE;
} else {
pExynosInputPort->bufferProcessType = BUFFER_COPY;
@@ -1861,10 +1820,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_Init(OMX_COMPONENTTYPE *pOMXComponent)
goto EXIT;
}
- pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
- pInbufOps = pMpeg4Enc->hMFCMpeg4Handle.pInbufOps;
- pOutbufOps = pMpeg4Enc->hMFCMpeg4Handle.pOutbufOps;
-
if (pExynosInputPort->bufferProcessType & BUFFER_COPY) {
Exynos_OSAL_SemaphoreCreate(&pExynosInputPort->codecSemID);
Exynos_OSAL_QueueCreate(&pExynosInputPort->codecBufferQ, MAX_QUEUE_ELEMENTS);
@@ -1872,6 +1827,11 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_Init(OMX_COMPONENTTYPE *pOMXComponent)
if (pMpeg4Enc->hMFCMpeg4Handle.bShareableBuf == OMX_TRUE) {
for (i = 0; i < MFC_INPUT_BUFFER_NUM_MAX; i++) {
pVideoEnc->pMFCEncInputBuffer[i] = Exynos_OSAL_Malloc(sizeof(CODEC_ENC_BUFFER));
+ if (pVideoEnc->pMFCEncInputBuffer[i] == NULL) {
+ Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to Alloc input buffer");
+ ret = OMX_ErrorInsufficientResources;
+ goto EXIT;
+ }
/* Use ION Allocator */
/*Alloc Y-Buffer */
pVideoEnc->pMFCEncInputBuffer[i]->pVirAddr[0] = (void *)Exynos_OSAL_SharedMemory_Alloc(pVideoEnc->hSharedMemory, DEFAULT_MFC_INPUT_YBUFFER_SIZE, NORMAL_MEMORY);
@@ -1960,13 +1920,8 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = (EXYNOS_MPEG4ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- OMX_PTR hMFCHandle = pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle;
-
- ExynosVideoEncOps *pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
- ExynosVideoEncBufferOps *pInbufOps = pMpeg4Enc->hMFCMpeg4Handle.pInbufOps;
- ExynosVideoEncBufferOps *pOutbufOps = pMpeg4Enc->hMFCMpeg4Handle.pOutbufOps;
- int i = 0, plane = 0;
+ int i = 0;
FunctionIn();
@@ -1987,7 +1942,7 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
for (i = 0; i < MFC_INPUT_BUFFER_NUM_MAX; i++) {
if (pVideoEnc->pMFCEncInputBuffer[i] != NULL) {
#ifndef TIZEN_FEATURE_E54XX /* do not use ion */
- for (plane = 0; plane < MFC_INPUT_BUFFER_PLANE; plane++) {
+ for (int plane = 0; plane < MFC_INPUT_BUFFER_PLANE; plane++) {
if (pVideoEnc->pMFCEncInputBuffer[i]->pVirAddr[plane] != NULL)
Exynos_OSAL_SharedMemory_Free(pVideoEnc->hSharedMemory, pVideoEnc->pMFCEncInputBuffer[i]->pVirAddr[plane]);
}
@@ -2011,7 +1966,7 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
for (i = 0; i < MFC_INPUT_BUFFER_NUM_MAX; i++) {
if (pVideoEnc->pMFCEncInputBuffer[i] != NULL) {
#ifndef TIZEN_FEATURE_E54XX /* do not use ion */
- for (plane = 0; plane < MFC_INPUT_BUFFER_PLANE; plane++) {
+ for (int plane = 0; plane < MFC_INPUT_BUFFER_PLANE; plane++) {
if (pVideoEnc->pMFCEncInputBuffer[i]->pVirAddr[plane] != NULL)
Exynos_OSAL_SharedMemory_Free(pVideoEnc->hSharedMemory, pVideoEnc->pMFCEncInputBuffer[i]->pVirAddr[plane]);
}
@@ -2031,7 +1986,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_Terminate(OMX_COMPONENTTYPE *pOMXComponent)
}
Mpeg4CodecClose(pMpeg4Enc);
-EXIT:
FunctionOut();
return ret;
@@ -2045,13 +1999,10 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_SrcIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = (EXYNOS_MPEG4ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
OMX_U32 oneFrameSize = pSrcInputData->dataLen;
ExynosVideoEncOps *pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
ExynosVideoEncBufferOps *pInbufOps = pMpeg4Enc->hMFCMpeg4Handle.pInbufOps;
- ExynosVideoEncBufferOps *pOutbufOps = pMpeg4Enc->hMFCMpeg4Handle.pOutbufOps;
ExynosVideoErrorType codecReturn = VIDEO_ERROR_NONE;
- int i;
FunctionIn();
@@ -2075,9 +2026,8 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_SrcIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
}
- if ((pSrcInputData->dataLen >= 0) ||
- ((pSrcInputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS)) {
- OMX_U32 pMFCYUVDataSize[MFC_INPUT_BUFFER_PLANE] = {NULL, NULL};
+ if ((pSrcInputData->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS) {
+ OMX_U32 pMFCYUVDataSize[MFC_INPUT_BUFFER_PLANE] = {0, };
ExynosVideoPlane planes[MFC_INPUT_BUFFER_PLANE];
int plane;
@@ -2097,7 +2047,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_SrcIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
(unsigned int *)pMFCYUVDataSize, MFC_INPUT_BUFFER_PLANE, pSrcInputData->bufferHeader);
if ((codecReturn == VIDEO_ERROR_NOBUFFERS) &&
(pExynosInputPort->bufferProcessType & BUFFER_SHARE)) {
- OMX_U32 nAllocLen[MFC_INPUT_BUFFER_PLANE] = {0, 0};
for (plane = 0; plane < MFC_INPUT_BUFFER_PLANE; plane++) {
planes[plane].addr = pSrcInputData->buffer.multiPlaneBuffer.dataBuffer[plane];
@@ -2150,7 +2099,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_SrcOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OM
EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = (EXYNOS_MPEG4ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
- ExynosVideoEncOps *pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
ExynosVideoEncBufferOps *pInbufOps = pMpeg4Enc->hMFCMpeg4Handle.pInbufOps;
ExynosVideoBuffer *pVideoBuffer;
@@ -2209,10 +2157,8 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_DstIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = (EXYNOS_MPEG4ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
void *hMFCHandle = pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle;
- ExynosVideoEncOps *pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
ExynosVideoEncBufferOps *pOutbufOps = pMpeg4Enc->hMFCMpeg4Handle.pOutbufOps;
OMX_U32 dataLen = 0;
ExynosVideoErrorType codecReturn = VIDEO_ERROR_NONE;
@@ -2248,13 +2194,12 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_DstOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OM
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
- EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = (EXYNOS_MPEG4ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
+ EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = (EXYNOS_MPEG4ENC_HANDLE *)pVideoEnc->hCodecHandle;
void *hMFCHandle = pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle;
ExynosVideoEncOps *pEncOps = pMpeg4Enc->hMFCMpeg4Handle.pEncOps;
ExynosVideoEncBufferOps *pOutbufOps = pMpeg4Enc->hMFCMpeg4Handle.pOutbufOps;
ExynosVideoBuffer *pVideoBuffer;
ExynosVideoFrameStatusType displayStatus = VIDEO_FRAME_STATUS_UNKNOWN;
- ExynosVideoGeometry bufferGeometry;
OMX_S32 indexTimestamp = 0;
FunctionIn();
@@ -2283,7 +2228,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_DstOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OM
pDstOutputData->bufferHeader = (OMX_BUFFERHEADERTYPE *)pVideoBuffer->pPrivate;
if (pVideoEnc->bFirstOutput == OMX_FALSE) {
- OMX_U8 *p = NULL;
pDstOutputData->timeStamp = 0;
pDstOutputData->nFlags |= OMX_BUFFERFLAG_CODECCONFIG;
@@ -2322,7 +2266,6 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_srcInputBufferProcess(OMX_COMPONENTTYPE *pOMXCompo
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = (EXYNOS_MPEG4ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
EXYNOS_OMX_BASEPORT *pExynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
FunctionIn();
@@ -2679,7 +2622,7 @@ OMX_ERRORTYPE Exynos_OMX_ComponentDeinit(OMX_HANDLETYPE hComponent)
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL;
+ //EXYNOS_OMX_VIDEOENC_COMPONENT *pVideoEnc = NULL;
EXYNOS_MPEG4ENC_HANDLE *pMpeg4Enc = NULL;
FunctionIn();
@@ -2690,9 +2633,9 @@ OMX_ERRORTYPE Exynos_OMX_ComponentDeinit(OMX_HANDLETYPE hComponent)
}
pOMXComponent = (OMX_COMPONENTTYPE *)hComponent;
pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
- pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
+ //pVideoEnc = (EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle;
#ifndef TIZEN_FEATURE_E54XX /* do not use ion */
- Exynos_OSAL_SharedMemory_Close(pVideoEnc->hSharedMemory);
+ Exynos_OSAL_SharedMemory_Close(pExynosComponent->hComponentHandle->hSharedMemory);
#endif
Exynos_OSAL_Free(pExynosComponent->componentName);
pExynosComponent->componentName = NULL;
diff --git a/openmax/component/video/enc/mpeg4/Exynos_OMX_Mpeg4enc.h b/openmax/component/video/enc/mpeg4/Exynos_OMX_Mpeg4enc.h
index 37792bb..6db3033 100755
--- a/openmax/component/video/enc/mpeg4/Exynos_OMX_Mpeg4enc.h
+++ b/openmax/component/video/enc/mpeg4/Exynos_OMX_Mpeg4enc.h
@@ -49,9 +49,9 @@ typedef struct _EXYNOS_MFC_MPEG4ENC_HANDLE
OMX_BOOL bConfiguredMFCDst;
CODEC_TYPE codecType;
- ExynosVideoDecOps *pEncOps;
- ExynosVideoDecBufferOps *pInbufOps;
- ExynosVideoDecBufferOps *pOutbufOps;
+ ExynosVideoEncOps *pEncOps;
+ ExynosVideoEncBufferOps *pInbufOps;
+ ExynosVideoEncBufferOps *pOutbufOps;
ExynosVideoEncParam encParam;
} EXYNOS_MFC_MPEG4ENC_HANDLE;
diff --git a/openmax/core/Exynos_OMX_Component_Register.c b/openmax/core/Exynos_OMX_Component_Register.c
index d5cc978..9b1e970 100755
--- a/openmax/core/Exynos_OMX_Component_Register.c
+++ b/openmax/core/Exynos_OMX_Component_Register.c
@@ -48,10 +48,8 @@
OMX_ERRORTYPE Exynos_OMX_Component_Register(EXYNOS_OMX_COMPONENT_REGLIST **compList, OMX_U32 *compNum)
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
- int componentNum = 0, roleNum = 0, totalCompNum = 0;
- int read;
+ int componentNum = 0, totalCompNum = 0;
char *libName;
- size_t len;
const char *errorMsg;
DIR *dir;
struct dirent *d;
@@ -139,13 +137,10 @@ EXIT:
OMX_ERRORTYPE Exynos_OMX_Component_Unregister(EXYNOS_OMX_COMPONENT_REGLIST *componentList)
{
- OMX_ERRORTYPE ret = OMX_ErrorNone;
-
Exynos_OSAL_Memset(componentList, 0, sizeof(EXYNOS_OMX_COMPONENT_REGLIST) * MAX_OMX_COMPONENT_NUM);
Exynos_OSAL_Free(componentList);
-EXIT:
- return ret;
+ return OMX_ErrorNone;
}
OMX_ERRORTYPE Exynos_OMX_ComponentAPICheck(OMX_COMPONENTTYPE *component)
diff --git a/openmax/core/Exynos_OMX_Core.c b/openmax/core/Exynos_OMX_Core.c
index 0cabd0a..e783ea5 100755
--- a/openmax/core/Exynos_OMX_Core.c
+++ b/openmax/core/Exynos_OMX_Core.c
@@ -260,20 +260,14 @@ OMX_API OMX_ERRORTYPE OMX_APIENTRY Exynos_OMX_SetupTunnel(
OMX_IN OMX_HANDLETYPE hInput,
OMX_IN OMX_U32 nPortInput)
{
- OMX_ERRORTYPE ret = OMX_ErrorNotImplemented;
-
-EXIT:
- return ret;
+ return OMX_ErrorNotImplemented;
}
OMX_API OMX_ERRORTYPE Exynos_OMX_GetContentPipe(
OMX_OUT OMX_HANDLETYPE *hPipe,
OMX_IN OMX_STRING szURI)
{
- OMX_ERRORTYPE ret = OMX_ErrorNotImplemented;
-
-EXIT:
- return ret;
+ return OMX_ErrorNotImplemented;
}
OMX_API OMX_ERRORTYPE Exynos_OMX_GetComponentsOfRole (
@@ -283,7 +277,6 @@ OMX_API OMX_ERRORTYPE Exynos_OMX_GetComponentsOfRole (
{
OMX_ERRORTYPE ret = OMX_ErrorNone;
int max_role_num = 0;
- OMX_STRING RoleString[MAX_OMX_COMPONENT_ROLE_SIZE];
int i = 0, j = 0;
FunctionIn();
diff --git a/openmax/osal/Exynos_OSAL_Event.c b/openmax/osal/Exynos_OSAL_Event.c
index ef14f85..76ae995 100755
--- a/openmax/osal/Exynos_OSAL_Event.c
+++ b/openmax/osal/Exynos_OSAL_Event.c
@@ -30,6 +30,7 @@
#include <string.h>
#include <pthread.h>
#include <errno.h>
+#include <sys/time.h>
#include "Exynos_OSAL_Memory.h"
#include "Exynos_OSAL_Mutex.h"
@@ -37,7 +38,7 @@
#undef EXYNOS_LOG_TAG
#define EXYNOS_LOG_TAG "Exynos_OSAL_EVENT"
-#define EXYNOS_LOG_OFF
+//#define EXYNOS_LOG_OFF
#include "Exynos_OSAL_Log.h"
diff --git a/openmax/osal/Exynos_OSAL_Mutex.c b/openmax/osal/Exynos_OSAL_Mutex.c
index 4ef773c..511a715 100755
--- a/openmax/osal/Exynos_OSAL_Mutex.c
+++ b/openmax/osal/Exynos_OSAL_Mutex.c
@@ -66,7 +66,6 @@ OMX_ERRORTYPE Exynos_OSAL_MutexTerminate(OMX_HANDLETYPE mutexHandle)
OMX_ERRORTYPE Exynos_OSAL_MutexLock(OMX_HANDLETYPE mutexHandle)
{
pthread_mutex_t *mutex = (pthread_mutex_t *)mutexHandle;
- int result;
if (mutex == NULL)
return OMX_ErrorBadParameter;
@@ -80,7 +79,6 @@ OMX_ERRORTYPE Exynos_OSAL_MutexLock(OMX_HANDLETYPE mutexHandle)
OMX_ERRORTYPE Exynos_OSAL_MutexUnlock(OMX_HANDLETYPE mutexHandle)
{
pthread_mutex_t *mutex = (pthread_mutex_t *)mutexHandle;
- int result;
if (mutex == NULL)
return OMX_ErrorBadParameter;
diff --git a/openmax/osal/Exynos_OSAL_Platform_Specific.c b/openmax/osal/Exynos_OSAL_Platform_Specific.c
index 7887615..02b16a7 100755
--- a/openmax/osal/Exynos_OSAL_Platform_Specific.c
+++ b/openmax/osal/Exynos_OSAL_Platform_Specific.c
@@ -28,6 +28,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <mm_types.h>
#include "Exynos_OSAL_Semaphore.h"
@@ -105,9 +106,9 @@ OMX_ERRORTYPE Exynos_OSAL_LockPBHandle(
vplanes[2].addr = vaddr[2];
Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "%s: buffer locked: 0x%x", __func__, *vaddr);
-#endif
EXIT:
+#endif
FunctionOut();
return ret;
@@ -177,7 +178,6 @@ OMX_ERRORTYPE Exynos_OSAL_LockPB(
*pStride = pANB->stride;
#endif
-EXIT:
FunctionOut();
return ret;
@@ -454,7 +454,6 @@ OMX_ERRORTYPE Exynos_OSAL_SetPBParameter(
OMX_ERRORTYPE ret = OMX_ErrorNone;
OMX_COMPONENTTYPE *pOMXComponent = NULL;
EXYNOS_OMX_BASECOMPONENT *pExynosComponent = NULL;
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = NULL;
FunctionIn();
@@ -485,8 +484,6 @@ OMX_ERRORTYPE Exynos_OSAL_SetPBParameter(
goto EXIT;
}
- pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
-
switch (nIndex) {
#ifdef TIZEN_FEATURE_E54XX
case OMX_IndexParamEnablePlatformSpecificBuffers:
diff --git a/openmax/osal/Exynos_OSAL_SharedMemory.c b/openmax/osal/Exynos_OSAL_SharedMemory.c
index 89d90a8..6964b92 100755
--- a/openmax/osal/Exynos_OSAL_SharedMemory.c
+++ b/openmax/osal/Exynos_OSAL_SharedMemory.c
@@ -38,7 +38,9 @@
#include <fcntl.h>
#include <sys/mman.h>
+#include "Exynos_OSAL_Memory.h"
#include "Exynos_OSAL_SharedMemory.h"
+#include "Exynos_OSAL_Mutex.h"
#include "ion.h"
#define EXYNOS_LOG_OFF
@@ -74,7 +76,7 @@ OMX_HANDLETYPE Exynos_OSAL_SharedMemory_Open()
if (pHandle == NULL)
goto EXIT;
- IONClient = (OMX_HANDLETYPE)ion_client_create();
+ IONClient = ion_client_create();
if (IONClient <= 0) {
Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "ion_client_create Error: %d", IONClient);
Exynos_OSAL_Free((void *)pHandle);
@@ -82,7 +84,7 @@ OMX_HANDLETYPE Exynos_OSAL_SharedMemory_Open()
goto EXIT;
}
- pHandle->hIONHandle = IONClient;
+ pHandle->hIONHandle = (OMX_HANDLETYPE)IONClient;
Exynos_OSAL_MutexCreate(&pHandle->hSMMutex);
@@ -299,7 +301,7 @@ OMX_PTR Exynos_OSAL_SharedMemory_Map(OMX_HANDLETYPE handle, OMX_U32 size, unsign
pElement = (EXYNOS_SHAREDMEM_LIST *)Exynos_OSAL_Malloc(sizeof(EXYNOS_SHAREDMEM_LIST));
Exynos_OSAL_Memset(pElement, 0, sizeof(EXYNOS_SHAREDMEM_LIST));
- IONBuffer = (OMX_PTR)ionfd;
+ IONBuffer = ionfd;
if (IONBuffer <= 0) {
Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "ion_alloc Error: %d", IONBuffer);