diff options
author | Chirayu Desai <chirayudesai1@gmail.com> | 2012-10-16 15:50:18 +0530 |
---|---|---|
committer | Chirayu Desai <chirayudesai1@gmail.com> | 2012-10-27 17:46:28 +0530 |
commit | 79e21ef09bc2f0156ca6c40b6ce640138d878c37 (patch) | |
tree | 36798a9aa4904a8a71d75dfbe0a12c19f71f7a87 /exynos3 | |
parent | 88fda93e7365a7f61c612acdb31237e732b24a38 (diff) | |
download | hardware_samsung-79e21ef09bc2f0156ca6c40b6ce640138d878c37.zip hardware_samsung-79e21ef09bc2f0156ca6c40b6ce640138d878c37.tar.gz hardware_samsung-79e21ef09bc2f0156ca6c40b6ce640138d878c37.tar.bz2 |
exynos3: omx: moar love for p1
- bump up mfc memsize
- use H/W decoding for TV-Out
Change-Id: I9425a371c29671e4ba9f82207f79d236ff6731e1
Diffstat (limited to 'exynos3')
5 files changed, 33 insertions, 17 deletions
diff --git a/exynos3/s5pc110/sec_mm/sec_omx/sec_codecs/Android.mk b/exynos3/s5pc110/sec_mm/sec_omx/sec_codecs/Android.mk index 3c163a4..05d4d86 100644 --- a/exynos3/s5pc110/sec_mm/sec_omx/sec_codecs/Android.mk +++ b/exynos3/s5pc110/sec_mm/sec_omx/sec_codecs/Android.mk @@ -2,6 +2,10 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) -include $(SEC_CODECS)/video/mfc_c110/dec/Android.mk -include $(SEC_CODECS)/video/mfc_c110/enc/Android.mk -include $(SEC_CODECS)/video/mfc_c110/csc/Android.mk
\ No newline at end of file +include $(SEC_CODECS)/video/mfc_c110/dec/Android.mk +include $(SEC_CODECS)/video/mfc_c110/enc/Android.mk +include $(SEC_CODECS)/video/mfc_c110/csc/Android.mk + +ifneq ($(TARGET_SEC_OMX_BIG_MMAP_BUFFER_SIZE),true) + LOCAL_CFLAGS += -DBIG_MMAP_BUFFER_SIZE +endif diff --git a/exynos3/s5pc110/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/SsbSipMfcApi.h b/exynos3/s5pc110/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/SsbSipMfcApi.h index 118e1ba..071fb5d 100644 --- a/exynos3/s5pc110/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/SsbSipMfcApi.h +++ b/exynos3/s5pc110/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/SsbSipMfcApi.h @@ -23,7 +23,11 @@ #define MAX_DECODER_INPUT_BUFFER_SIZE (1024 * 3072) #define MAX_ENCODER_OUTPUT_BUFFER_SIZE (1024 * 3072) +#ifdef BIG_MMAP_BUFFER_SIZE +#define MMAP_BUFFER_SIZE_MMAP (62*1024*1024) +#else #define MMAP_BUFFER_SIZE_MMAP (35328*1024) // 34.5*1024*1024 +#endif // BIG_MMAP_BUFFER_SIZE #define S5PC110_MFC_DEV_NAME "/dev/s3c-mfc" diff --git a/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/Android.mk b/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/Android.mk index 772c477..5802cc0 100644 --- a/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/Android.mk +++ b/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/Android.mk @@ -17,4 +17,8 @@ LOCAL_C_INCLUDES := $(SEC_OMX_INC)/khronos \ LOCAL_C_INCLUDES += $(SEC_OMX_TOP)/sec_codecs/video/mfc_c110/include +ifeq ($(TARGET_USE_HWDECODING_TVOUT),true) + LOCAL_CFLAGS += -DUSE_HWDECODING_TVOUT +endif + include $(BUILD_STATIC_LIBRARY) diff --git a/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c b/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c index 64ac7eb..6376989 100644 --- a/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c +++ b/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c @@ -699,13 +699,15 @@ OMX_ERRORTYPE SEC_MFC_H264Dec_GetExtensionIndex( ret = OMX_ErrorNone; #ifdef USE_ANDROID_EXTENSION } else if (SEC_OSAL_Strcmp(cParameterName, SEC_INDEX_PARAM_ENABLE_ANB) == 0) { - if (isTvOutEnabled()) { - // Samsung normally pushes HW-decoded frames to the TV Out driver - // but it's hard for us to do that without source, so return an error - // and let Android fallback to software decoding - ret = OMX_ErrorInsufficientResources; - goto EXIT; - } +#ifndef USE_HWDECODING_TVOUT + if (isTvOutEnabled()) { + // Samsung normally pushes HW-decoded frames to the TV Out driver + // but it's hard for us to do that without source, so return an error + // and let Android fallback to software decoding + ret = OMX_ErrorInsufficientResources; + goto EXIT; + } +#endif // USE_HWDECODING_TVOUT *pIndexType = OMX_IndexParamEnableAndroidBuffers; ret = OMX_ErrorNone; diff --git a/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c b/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c index fb679da..1da14e7 100644 --- a/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c +++ b/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c @@ -836,13 +836,15 @@ OMX_ERRORTYPE SEC_MFC_Mpeg4Dec_GetExtensionIndex( ret = OMX_ErrorNone; #ifdef USE_ANDROID_EXTENSION } else if (SEC_OSAL_Strcmp(cParameterName, SEC_INDEX_PARAM_ENABLE_ANB) == 0) { - if (isTvOutEnabled()) { - // Samsung normally pushes HW-decoded frames to the TV Out driver - // but it's hard for us to do that without source, so return an error - // and let Android fallback to software decoding - ret = OMX_ErrorInsufficientResources; - goto EXIT; - } +#ifndef USE_HWDECODING_TVOUT + if (isTvOutEnabled()) { + // Samsung normally pushes HW-decoded frames to the TV Out driver + // but it's hard for us to do that without source, so return an error + // and let Android fallback to software decoding + ret = OMX_ErrorInsufficientResources; + goto EXIT; + } +#endif // USE_HWDECODING_TVOUT *pIndexType = OMX_IndexParamEnableAndroidBuffers; ret = OMX_ErrorNone; |