summaryrefslogtreecommitdiffstats
path: root/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video
diff options
context:
space:
mode:
Diffstat (limited to 'exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video')
-rw-r--r--exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/Android.mk4
-rw-r--r--exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/SEC_OMX_H264dec.c16
-rw-r--r--exynos3/s5pc110/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/SEC_OMX_Mpeg4dec.c16
3 files changed, 22 insertions, 14 deletions
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;