summaryrefslogtreecommitdiffstats
path: root/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
diff options
context:
space:
mode:
authorSeungBeom Kim <sbcrux.kim@samsung.com>2011-07-18 11:18:27 +0900
committerJames Dong <jdong@google.com>2011-07-25 10:03:49 -0700
commit5af084cebef71cbe8990a96e73b37cc5fdfce462 (patch)
tree3aba03155c9f858898b66a0955fe173bff68b0b6 /sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
parentabc28ea135621af9735021ea27763cdf624aada5 (diff)
downloaddevice_samsung_crespo-5af084cebef71cbe8990a96e73b37cc5fdfce462.zip
device_samsung_crespo-5af084cebef71cbe8990a96e73b37cc5fdfce462.tar.gz
device_samsung_crespo-5af084cebef71cbe8990a96e73b37cc5fdfce462.tar.bz2
Add color space convertor in SEC_OMX
NV12T to YUV420P NV12T to YUV420SP YUV420P to NV12T YUV420SP to NV12T Change-Id: I769bea28953786a9191824c488a633e8c997520f Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
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..2c5f3bb 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(
+ (unsigned char *)pOutBuf,
+ (unsigned char *)outputInfo.YVirAddr,
+ bufWidth,
+ bufHeight);
+ csc_tiled_to_linear_deinterleave(
+ (unsigned char *)pOutBuf + frameSize,
+ (unsigned char *)pOutBuf + (frameSize * 5) / 4,
+ (unsigned char *)outputInfo.CVirAddr,
+ bufWidth,
+ bufHeight >> 1);
}
}