summaryrefslogtreecommitdiff
path: root/exynos_omx
diff options
context:
space:
mode:
authorGreg Hackmann <ghackmann@google.com>2013-01-14 15:56:05 -0800
committerGreg Hackmann <ghackmann@google.com>2013-02-05 09:56:43 -0800
commit96e4aa13425191365eb04752736fbde9938e7a51 (patch)
tree84aa52912eab9561f7c0d98dbe2fe55c5f41eca9 /exynos_omx
parent8f10f92ba026b460bb068beaebe279fb3b31f854 (diff)
downloadexynos5-96e4aa13425191365eb04752736fbde9938e7a51.tar.gz
omx: use G2D CSC for encoding surface textures
Change-Id: I1c7297f35b7740a5a9f0ce040c005135125c15fe Signed-off-by: Greg Hackmann <ghackmann@google.com>
Diffstat (limited to 'exynos_omx')
-rw-r--r--exynos_omx/openmax/exynos_omx/component/video/enc/Android.mk2
-rw-r--r--exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c8
2 files changed, 7 insertions, 3 deletions
diff --git a/exynos_omx/openmax/exynos_omx/component/video/enc/Android.mk b/exynos_omx/openmax/exynos_omx/component/video/enc/Android.mk
index 0d3e767..2435e0f 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/enc/Android.mk
+++ b/exynos_omx/openmax/exynos_omx/component/video/enc/Android.mk
@@ -9,7 +9,7 @@ LOCAL_MODULE := libExynosOMX_Venc
LOCAL_ARM_MODE := arm
LOCAL_MODULE_TAGS := optional
-LOCAL_CFLAGS := -DUSE_CSC_GSCALER -DCSC_GSCALER_IDX=3
+LOCAL_CFLAGS := -DUSE_CSC_G2D
LOCAL_C_INCLUDES := $(EXYNOS_OMX_INC)/khronos \
$(EXYNOS_OMX_INC)/exynos \
diff --git a/exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c b/exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c
index 8831608..22efe36 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c
+++ b/exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c
@@ -222,7 +222,7 @@ OMX_BOOL Exynos_CSC_InputData(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
Exynos_OSAL_LockANBHandle((OMX_U32)ppBuf[0], nFrameWidth, nFrameHeight, OMX_COLOR_FormatAndroidOpaque, planes);
-#ifdef USE_CSC_GSCALER
+#if defined(USE_CSC_GSCALER) || defined(USE_CSC_G2D)
csc_method = CSC_METHOD_HW;
#endif
pSrcBuf[0] = planes[0].addr;
@@ -1150,9 +1150,13 @@ OMX_ERRORTYPE Exynos_OMX_VideoEncodeComponentInit(OMX_IN OMX_HANDLETYPE hCompone
goto EXIT;
}
pVideoEnc->csc_set_format = OMX_FALSE;
-#if defined(USE_CSC_GSCALER)
+#if defined(USE_CSC_GSCALER) && defined(USE_CSC_G2D)
+#error USE_CSC_GSCALER and USE_CSC_G2D are mutually exclusive
+#elif defined(USE_CSC_GSCALER)
csc_set_hw_property(pVideoEnc->csc_handle, CSC_HW_PROPERTY_FIXED_NODE, CSC_GSCALER_IDX);
csc_set_hw_property(pVideoEnc->csc_handle, CSC_HW_PROPERTY_HW_TYPE, CSC_HW_TYPE_GSCALER);
+#elif defined(USE_CSC_G2D)
+ csc_set_hw_property(pVideoEnc->csc_handle, CSC_HW_PROPERTY_HW_TYPE, CSC_HW_TYPE_G2D);
#endif
pExynosComponent->bMultiThreadProcess = OMX_TRUE;