[Libva] [PATCH 2/2] test/encode: add avcenc target for Android.mk

Haitao Huang haitao.huang at intel.com
Thu May 17 15:47:37 PDT 2012


Signed-off-by: Haitao Huang <haitao.huang at intel.com>
---
 test/encode/Android.mk |   20 ++++++++++++++++++++
 test/encode/avcenc.c   |   26 ++++++++++++++++++++------
 2 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/test/encode/Android.mk b/test/encode/Android.mk
index 8395cdd..d075a5e 100755
--- a/test/encode/Android.mk
+++ b/test/encode/Android.mk
@@ -24,3 +24,23 @@ LOCAL_SHARED_LIBRARIES := libva-android libva libdl libdrm libcutils libutils li
 
 include $(BUILD_EXECUTABLE)
 
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := \
+       avcenc.c
+
+LOCAL_CFLAGS += \
+    -DANDROID  
+
+LOCAL_C_INCLUDES += \
+  $(TARGET_OUT_HEADERS)/libva	\
+
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE :=	avcenc
+
+LOCAL_SHARED_LIBRARIES := libva-android libva libdl libdrm libcutils libutils libgui
+
+include $(BUILD_EXECUTABLE)
+
+
diff --git a/test/encode/avcenc.c b/test/encode/avcenc.c
index 71c0644..33f0aaa 100644
--- a/test/encode/avcenc.c
+++ b/test/encode/avcenc.c
@@ -9,8 +9,9 @@
 #include <string.h>
 #include <stdlib.h>
 #include <getopt.h>
+#ifndef ANDROID
 #include <X11/Xlib.h>
-
+#endif
 #include <unistd.h>
 
 #include <sys/time.h>
@@ -24,8 +25,11 @@
 
 #include <va/va.h>
 #include <va/va_enc_h264.h>
+#ifdef ANDROID
+#include <va/va_android.h>
+#else
 #include <va/va_x11.h>
-
+#endif
 #define NAL_REF_IDC_NONE        0
 #define NAL_REF_IDC_LOW         1
 #define NAL_REF_IDC_MEDIUM      2
@@ -53,6 +57,8 @@
         exit(1);                                                        \
     }
 
+#define Display unsigned int
+
 static Display *x11_display;
 static VADisplay va_dpy;
 
@@ -118,8 +124,12 @@ static void create_encode_pipe()
     VAConfigAttrib attrib[2];
     int major_ver, minor_ver;
     VAStatus va_status;
-
+#ifdef ANDROID
+    x11_display = (Display*)malloc(sizeof(Display));
+    *(x11_display ) = 0x18c34078;
+#else
     x11_display = XOpenDisplay(":0.0");
+#endif
     assert(x11_display);
 
     va_dpy = vaGetDisplay(x11_display);
@@ -177,7 +187,11 @@ static void destory_encode_pipe()
     vaDestroyContext(va_dpy,avcenc_context.context_id);
     vaDestroyConfig(va_dpy,avcenc_context.config_id);
     vaTerminate(va_dpy);
+#ifdef ANDROID
+    free(x11_display);
+#else
     XCloseDisplay(x11_display);
+#endif
 }
 
 /***************************************************
@@ -647,8 +661,8 @@ get_coded_bitsteam_length(unsigned char *buffer, int buffer_length)
     return i;
 }
 #endif
-
-static unsigned int 
+#ifndef swap32
+static unsigned int
 swap32(unsigned int val)
 {
     unsigned char *pval = (unsigned char *)&val;
@@ -658,7 +672,7 @@ swap32(unsigned int val)
             (pval[2] << 8)      |
             (pval[3] << 0));
 }
-
+#endif
 static void
 bitstream_start(bitstream *bs)
 {
-- 
1.7.5.4



More information about the Libva mailing list