diff options
author | SeungBeom Kim <sbcrux.kim@samsung.com> | 2011-07-18 11:18:27 +0900 |
---|---|---|
committer | James Dong <jdong@google.com> | 2011-07-25 10:03:49 -0700 |
commit | 5af084cebef71cbe8990a96e73b37cc5fdfce462 (patch) | |
tree | 3aba03155c9f858898b66a0955fe173bff68b0b6 /sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c | |
parent | abc28ea135621af9735021ea27763cdf624aada5 (diff) | |
download | device_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.c | 20 |
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); } } |