summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2017-05-02 10:46:27 +0800
committerGitHub <noreply@github.com>2017-05-02 10:46:27 +0800
commit22bbdaab115af6d779194faa7742105254fb7169 (patch)
tree9e20c0736f9234c2a0709caf41305629b75c3c0d
parentf88aa39384cca36538e37671c5a68a07235f1d84 (diff)
parent63e14fc10177f88fb1350681120b4bce15ea81a7 (diff)
downloadlibva-22bbdaab115af6d779194faa7742105254fb7169.tar.gz
Merge pull request #37 from cwhuang/master
A series patches for Android
-rw-r--r--[-rwxr-xr-x]va/Android.mk89
-rw-r--r--va/android/va_android.cpp2
-rw-r--r--va/va.c18
-rw-r--r--va/va_android.h5
-rw-r--r--[-rwxr-xr-x]va/va_enc_vp9.h0
5 files changed, 37 insertions, 77 deletions
diff --git a/va/Android.mk b/va/Android.mk
index b6f6f4f..de22725 100755..100644
--- a/va/Android.mk
+++ b/va/Android.mk
@@ -25,13 +25,8 @@
LOCAL_PATH:= $(call my-dir)
-LIBVA_DRIVERS_PATH_32 = /system/lib
-LIBVA_DRIVERS_PATH_64 = /system/lib64
-
-# Version set to Android Jelly Bean
-ALOG_VERSION_REQ := 4.1
-ALOG_VERSION := $(filter $(ALOG_VERSION_REQ),$(firstword $(sort $(PLATFORM_VERSION) \
- $(ALOG_VERSION_REQ))))
+LIBVA_DRIVERS_PATH_32 := /vendor/lib/dri
+LIBVA_DRIVERS_PATH_64 := /vendor/lib64/dri
include $(CLEAR_VARS)
@@ -44,57 +39,39 @@ LOCAL_SRC_FILES := \
va_fool.c
LOCAL_CFLAGS_32 += \
- -DANDROID \
-DVA_DRIVERS_PATH="\"$(LIBVA_DRIVERS_PATH_32)\"" \
- -DLOG_TAG=\"libva\"
LOCAL_CFLAGS_64 += \
- -DANDROID \
-DVA_DRIVERS_PATH="\"$(LIBVA_DRIVERS_PATH_64)\"" \
- -DLOG_TAG=\"libva\"
-# Android Jelly Bean defined ALOGx, older versions use LOGx
-ifeq ($(ALOG_VERSION), $(ALOG_VERSION_REQ))
-LOCAL_CFLAGS += -DANDROID_ALOG
-else
-LOCAL_CFLAGS += -DANDROID_LOG
-endif
+LOCAL_CFLAGS := \
+ $(if $(filter user,$(TARGET_BUILD_VARIANT)),,-DENABLE_VA_MESSAGING) \
+ -DLOG_TAG=\"libva\"
-LOCAL_C_INCLUDES += \
- $(TARGET_OUT_HEADERS)/libva \
- $(LOCAL_PATH)/x11 \
- $(LOCAL_PATH)/..
-
-LOCAL_COPY_HEADERS := \
- va.h \
- va_backend.h \
- va_dec_hevc.h \
- va_dec_jpeg.h \
- va_drmcommon.h \
- va_enc_hevc.h \
- va_enc_jpeg.h \
- va_enc_vp8.h \
- va_enc_vp9.h \
- va_dec_vp9.h \
- va_version.h
-
-LOCAL_COPY_HEADERS_TO := libva/va
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libva
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_PROPRIETARY_MODULE := true
LOCAL_SHARED_LIBRARIES := libdl libdrm libcutils liblog
-include $(BUILD_SHARED_LIBRARY)
+intermediates := $(call local-generated-sources-dir)
+
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+ $(intermediates) \
+ $(LOCAL_C_INCLUDES)
-GEN := $(LOCAL_PATH)/va_version.h
+GEN := $(intermediates)/va/va_version.h
$(GEN): SCRIPT := $(LOCAL_PATH)/../build/gen_version.sh
-$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
-$(GEN): PRIVATE_CUSTOM_TOOL = sh $(SCRIPT) $(PRIVATE_PATH)/.. $(PRIVATE_PATH)/va_version.h.in > $@
-$(GEN): $(LOCAL_PATH)/%.h : $(LOCAL_PATH)/%.h.in $(SCRIPT) $(LOCAL_PATH)/../configure.ac
+$(GEN): PRIVATE_CUSTOM_TOOL = sh $(SCRIPT) $(<D)/.. $< > $@
+$(GEN): $(intermediates)/va/%.h : $(LOCAL_PATH)/%.h.in $(LOCAL_PATH)/../configure.ac
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_SHARED_LIBRARY)
+
# For libva-android
# =====================================================
@@ -105,17 +82,11 @@ LOCAL_SRC_FILES := \
drm/va_drm_utils.c
LOCAL_CFLAGS += \
- -DANDROID -DLOG_TAG=\"libva-android\"
+ -DLOG_TAG=\"libva-android\"
LOCAL_C_INCLUDES += \
- $(TARGET_OUT_HEADERS)/libva \
- $(TARGET_OUT_HEADERS)/libdrm \
$(LOCAL_PATH)/drm
-LOCAL_COPY_HEADERS_TO := libva/va
-
-LOCAL_COPY_HEADERS := va_android.h
-
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libva-android
@@ -133,15 +104,7 @@ LOCAL_SRC_FILES := \
egl/va_egl.c
LOCAL_CFLAGS += \
- -DANDROID -DLOG_TAG=\"libva-egl\"
-
-LOCAL_C_INCLUDES += \
- $(TARGET_OUT_HEADERS)/libva \
- $(LOCAL_PATH)/x11
-
-LOCAL_COPY_HEADERS_TO := libva/va
-
-LOCAL_COPY_HEADERS := egl/va_egl.h egl/va_backend_egl.h
+ -DLOG_TAG=\"libva-egl\"
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libva-egl
@@ -158,17 +121,7 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := va_tpi.c
-LOCAL_CFLAGS += -DANDROID -DLOG_TAG=\"libva-tpi\"
-
-LOCAL_C_INCLUDES += \
- $(TARGET_OUT_HEADERS)/libva \
- $(LOCAL_PATH)/..
-
-LOCAL_COPY_HEADERS_TO := libva/va
-
-LOCAL_COPY_HEADERS := \
- va_tpi.h \
- va_backend_tpi.h
+LOCAL_CFLAGS += -DLOG_TAG=\"libva-tpi\"
LOCAL_SHARED_LIBRARIES := libva
diff --git a/va/android/va_android.cpp b/va/android/va_android.cpp
index ebbfbd3..0c2b0b5 100644
--- a/va/android/va_android.cpp
+++ b/va/android/va_android.cpp
@@ -194,7 +194,7 @@ extern "C" {
VAStatus vaPutSurface (
VADisplay dpy,
VASurfaceID surface,
- sp<ISurface> draw, /* Android Surface/Window */
+ sp<ANativeWindow> draw, /* Android Native Window */
short srcx,
short srcy,
unsigned short srcw,
diff --git a/va/va.c b/va/va.c
index d83fd60..4a0b7e5 100644
--- a/va/va.c
+++ b/va/va.c
@@ -37,6 +37,16 @@
#include <string.h>
#include <dlfcn.h>
#include <unistd.h>
+#ifdef ANDROID
+#include <cutils/log.h>
+/* support versions < JellyBean */
+#ifndef ALOGE
+#define ALOGE LOGE
+#endif
+#ifndef ALOGI
+#define ALOGI LOGI
+#endif
+#endif
#define DRIVER_EXTENSION "_drv_video.so"
@@ -108,10 +118,8 @@ int vaDisplayIsValid(VADisplay dpy)
static void default_log_error(const char *buffer)
{
-# ifdef ANDROID_ALOG
+# ifdef ANDROID
ALOGE("%s", buffer);
-# elif ANDROID_LOG
- LOGE("%s", buffer);
# else
fprintf(stderr, "libva error: %s", buffer);
# endif
@@ -119,10 +127,8 @@ static void default_log_error(const char *buffer)
static void default_log_info(const char *buffer)
{
-# ifdef ANDROID_ALOG
+# ifdef ANDROID
ALOGI("%s", buffer);
-# elif ANDROID_LOG
- LOGI("%s", buffer);
# else
fprintf(stderr, "libva info: %s", buffer);
# endif
diff --git a/va/va_android.h b/va/va_android.h
index 796ab63..92bf1e0 100644
--- a/va/va_android.h
+++ b/va/va_android.h
@@ -48,7 +48,8 @@ VADisplay vaGetDisplay (
#ifdef __cplusplus
#ifdef ANDROID
-#include <surfaceflinger/ISurface.h>
+#include <system/window.h>
+#include <utils/StrongPointer.h>
using namespace android;
/*
@@ -62,7 +63,7 @@ using namespace android;
VAStatus vaPutSurface (
VADisplay dpy,
VASurfaceID surface,
- sp<ISurface> draw, /* Android Window/Surface */
+ sp<ANativeWindow> draw, /* Android Native Window */
short srcx,
short srcy,
unsigned short srcw,
diff --git a/va/va_enc_vp9.h b/va/va_enc_vp9.h
index cd870e7..cd870e7 100755..100644
--- a/va/va_enc_vp9.h
+++ b/va/va_enc_vp9.h