summaryrefslogtreecommitdiffstats
path: root/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2011-07-21 19:24:46 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-07-21 19:24:46 -0700
commit9d669beeaf822d69178437f9ca8b3305cd124817 (patch)
treedc6885137c92fe86d8f0b25681fa33d68e64fbfd /sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
parent6712a702d4501c8530810a3f3c2147c9e7d143bd (diff)
parent7cf106ba5ff2dac2be536d8c84c715ca87d0a2d9 (diff)
downloaddevice_samsung_crespo-9d669beeaf822d69178437f9ca8b3305cd124817.zip
device_samsung_crespo-9d669beeaf822d69178437f9ca8b3305cd124817.tar.gz
device_samsung_crespo-9d669beeaf822d69178437f9ca8b3305cd124817.tar.bz2
Merge "Add color space convertor in SEC_OMX"
Diffstat (limited to 'sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c')
-rw-r--r--sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c b/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
index 9acae4e..e1edf95 100644
--- a/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
+++ b/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
@@ -35,6 +35,7 @@
#include "library_register.h"
#include "SEC_OMX_H264dec.h"
#include "SsbSipMfcApi.h"
+#include "color_space_convertor.h"
#undef SEC_LOG_TAG
#define SEC_LOG_TAG "SEC_H264_DEC"
@@ -955,14 +956,17 @@ OMX_ERRORTYPE SEC_MFC_H264_Decode(OMX_COMPONENTTYPE *pOMXComponent, SEC_OMX_DATA
SEC_OSAL_Memcpy(pOutBuf + sizeof(frameSize) + (sizeof(void *) * 3), &(outputInfo.CVirAddr), sizeof(outputInfo.CVirAddr));
} else {
SEC_OSAL_Log(SEC_LOG_TRACE, "YUV420 out for ThumbnailMode");
- Y_tile_to_linear_4x2(
- (unsigned char *)pOutBuf,
- (unsigned char *)outputInfo.YVirAddr,
- bufWidth, bufHeight);
- CbCr_tile_to_linear_4x2(
- ((unsigned char *)pOutBuf) + frameSize,
- (unsigned char *)outputInfo.CVirAddr,
- bufWidth, bufHeight);
+ csc_tiled_to_linear_neon(
+ (unsigned char *)pOutBuf,
+ (unsigned char *)outputInfo.YVirAddr,
+ bufWidth,
+ bufHeight);
+ csc_tiled_to_linear_deinterleave_neon(
+ (unsigned char *)pOutBuf + frameSize,
+ (unsigned char *)pOutBuf + (frameSize * 5) / 4,
+ (unsigned char *)outputInfo.CVirAddr,
+ bufWidth,
+ bufHeight >> 1);
}
}