omx: use G2D CSC for encoding surface textures
authorGreg Hackmann <ghackmann@google.com>
Mon, 14 Jan 2013 23:56:05 +0000 (15:56 -0800)
committerGreg Hackmann <ghackmann@google.com>
Tue, 5 Feb 2013 17:56:43 +0000 (09:56 -0800)
Change-Id: I1c7297f35b7740a5a9f0ce040c005135125c15fe
Signed-off-by: Greg Hackmann <ghackmann@google.com>
exynos_omx/openmax/exynos_omx/component/video/enc/Android.mk
exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c

index 0d3e7670c84c05192169abf6a3dd043bcf8a7f8d..2435e0f064b239b8fb0af022d2477e9dd5a19c9d 100644 (file)
@@ -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 \
index 8831608edb6c83a21af8428375b29d253ac26b96..22efe3659a1c96c0e878ebf3fc823432da4b464e 100644 (file)
@@ -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;