exynos3: omx: moar love for p1

- bump up mfc memsize
- use H/W decoding for TV-Out

Change-Id: I9425a371c29671e4ba9f82207f79d236ff6731e1
tirimbino
Chirayu Desai 12 years ago
parent 88fda93e73
commit 79e21ef09b
  1. 10
      exynos3/s5pc110/sec_mm/sec_omx/sec_codecs/Android.mk
  2. 4
      exynos3/s5pc110/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/SsbSipMfcApi.h
  3. 4
      exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/Android.mk
  4. 16
      exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c
  5. 16
      exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c

@ -2,6 +2,10 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS) include $(CLEAR_VARS)
include $(SEC_CODECS)/video/mfc_c110/dec/Android.mk include $(SEC_CODECS)/video/mfc_c110/dec/Android.mk
include $(SEC_CODECS)/video/mfc_c110/enc/Android.mk include $(SEC_CODECS)/video/mfc_c110/enc/Android.mk
include $(SEC_CODECS)/video/mfc_c110/csc/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

@ -23,7 +23,11 @@
#define MAX_DECODER_INPUT_BUFFER_SIZE (1024 * 3072) #define MAX_DECODER_INPUT_BUFFER_SIZE (1024 * 3072)
#define MAX_ENCODER_OUTPUT_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 #define MMAP_BUFFER_SIZE_MMAP (35328*1024) // 34.5*1024*1024
#endif // BIG_MMAP_BUFFER_SIZE
#define S5PC110_MFC_DEV_NAME "/dev/s3c-mfc" #define S5PC110_MFC_DEV_NAME "/dev/s3c-mfc"

@ -17,4 +17,8 @@ LOCAL_C_INCLUDES := $(SEC_OMX_INC)/khronos \
LOCAL_C_INCLUDES += $(SEC_OMX_TOP)/sec_codecs/video/mfc_c110/include 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) include $(BUILD_STATIC_LIBRARY)

@ -699,13 +699,15 @@ OMX_ERRORTYPE SEC_MFC_H264Dec_GetExtensionIndex(
ret = OMX_ErrorNone; ret = OMX_ErrorNone;
#ifdef USE_ANDROID_EXTENSION #ifdef USE_ANDROID_EXTENSION
} else if (SEC_OSAL_Strcmp(cParameterName, SEC_INDEX_PARAM_ENABLE_ANB) == 0) { } else if (SEC_OSAL_Strcmp(cParameterName, SEC_INDEX_PARAM_ENABLE_ANB) == 0) {
if (isTvOutEnabled()) { #ifndef USE_HWDECODING_TVOUT
// Samsung normally pushes HW-decoded frames to the TV Out driver if (isTvOutEnabled()) {
// but it's hard for us to do that without source, so return an error // Samsung normally pushes HW-decoded frames to the TV Out driver
// and let Android fallback to software decoding // but it's hard for us to do that without source, so return an error
ret = OMX_ErrorInsufficientResources; // and let Android fallback to software decoding
goto EXIT; ret = OMX_ErrorInsufficientResources;
} goto EXIT;
}
#endif // USE_HWDECODING_TVOUT
*pIndexType = OMX_IndexParamEnableAndroidBuffers; *pIndexType = OMX_IndexParamEnableAndroidBuffers;
ret = OMX_ErrorNone; ret = OMX_ErrorNone;

@ -836,13 +836,15 @@ OMX_ERRORTYPE SEC_MFC_Mpeg4Dec_GetExtensionIndex(
ret = OMX_ErrorNone; ret = OMX_ErrorNone;
#ifdef USE_ANDROID_EXTENSION #ifdef USE_ANDROID_EXTENSION
} else if (SEC_OSAL_Strcmp(cParameterName, SEC_INDEX_PARAM_ENABLE_ANB) == 0) { } else if (SEC_OSAL_Strcmp(cParameterName, SEC_INDEX_PARAM_ENABLE_ANB) == 0) {
if (isTvOutEnabled()) { #ifndef USE_HWDECODING_TVOUT
// Samsung normally pushes HW-decoded frames to the TV Out driver if (isTvOutEnabled()) {
// but it's hard for us to do that without source, so return an error // Samsung normally pushes HW-decoded frames to the TV Out driver
// and let Android fallback to software decoding // but it's hard for us to do that without source, so return an error
ret = OMX_ErrorInsufficientResources; // and let Android fallback to software decoding
goto EXIT; ret = OMX_ErrorInsufficientResources;
} goto EXIT;
}
#endif // USE_HWDECODING_TVOUT
*pIndexType = OMX_IndexParamEnableAndroidBuffers; *pIndexType = OMX_IndexParamEnableAndroidBuffers;
ret = OMX_ErrorNone; ret = OMX_ErrorNone;

Loading…
Cancel
Save