Skip to content

Commit

Permalink
Add Android Compile support for libva 2.7.1 bypass .gitignore for va_…
Browse files Browse the repository at this point in the history
…version.h
  • Loading branch information
LukeZheZhu committed May 28, 2020
1 parent 5cef34f commit 0e1ca76
Show file tree
Hide file tree
Showing 3 changed files with 136 additions and 5 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ ltmain.sh
/m4
missing
stamp-h1
/va/va_version.h
#/va/va_version.h
/va/wayland/wayland-drm-client-protocol-export.c
/va/wayland/wayland-drm-client-protocol.*
/doc/Doxyfile
Expand Down
52 changes: 48 additions & 4 deletions va/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@

LOCAL_PATH:= $(call my-dir)

LIBVA_DRIVERS_PATH_32 := /vendor/lib/dri
LIBVA_DRIVERS_PATH_64 := /vendor/lib64/dri
LIBVA_DRIVERS_PATH_32 := /vendor/lib/:/system/lib
LIBVA_DRIVERS_PATH_64 := /vendor/lib64/:/system/lib64

include $(CLEAR_VARS)

Expand Down Expand Up @@ -56,13 +56,47 @@ LOCAL_CFLAGS := \
-DLOG_TAG=\"libva\"

LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
LOCAL_COPY_HEADERS := \
va.h \
va_version.h \
va_dec_hevc.h \
va_dec_jpeg.h \
va_dec_vp8.h \
va_dec_vp9.h \
va_enc_hevc.h \
va_enc_h264.h \
va_enc_jpeg.h \
va_enc_vp8.h \
va_backend.h \
va_drmcommon.h \
va_vpp.h \
va_backend_vpp.h \
va_enc_mpeg2.h \
sysdeps.h \
va_compat.h \
va_egl.h \
va_enc_vp9.h \
va_fei.h \
va_fei_h264.h \
va_fei_hevc.h \
va_fool.h \
va_internal.h \
va_str.h \
va_tpi.h \
va_trace.h \
va_dec_av1.h \

LOCAL_COPY_HEADERS_TO := libva/va

LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libva
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_PROPRIETARY_MODULE := true

LOCAL_CFLAGS += -Wno-error
LOCAL_SHARED_LIBRARIES := libdl libdrm libcutils liblog
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
LOCAL_HEADER_LIBRARIES += libutils_headers
endif

intermediates := $(call local-generated-sources-dir)

Expand Down Expand Up @@ -95,10 +129,20 @@ LOCAL_CFLAGS += \
LOCAL_C_INCLUDES += \
$(LOCAL_PATH)/drm

LOCAL_COPY_HEADERS_TO := libva/va

LOCAL_COPY_HEADERS := va_android.h

LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libva-android
LOCAL_PROPRIETARY_MODULE := true

LOCAL_SHARED_LIBRARIES := libva libdrm liblog
LOCAL_SHARED_LIBRARIES := libva libdrm libnativewindow liblog

ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
LOCAL_STATIC_LIBRARIES += libarect
LOCAL_HEADER_LIBRARIES += libnativebase_headers libutils_headers
endif


include $(BUILD_SHARED_LIBRARY)
87 changes: 87 additions & 0 deletions va/va_version.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
/*
* Copyright (C) 2009 Splitted-Desktop Systems. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sub license, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice (including the
* next paragraph) shall be included in all copies or substantial portions
* of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
* IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

#ifndef VA_VERSION_H
#define VA_VERSION_H

/**
* VA_MAJOR_VERSION:
*
* The major version of VA-API (1, if %VA_VERSION is 1.2.3)
*/
#define VA_MAJOR_VERSION 1

/**
* VA_MINOR_VERSION:
*
* The minor version of VA-API (2, if %VA_VERSION is 1.2.3)
*/
#define VA_MINOR_VERSION 7

/**
* VA_MICRO_VERSION:
*
* The micro version of VA-API (3, if %VA_VERSION is 1.2.3)
*/
#define VA_MICRO_VERSION 0

/**
* VA_VERSION:
*
* The full version of VA-API, like 1.2.3
*/
#define VA_VERSION 1.7.0

/**
* VA_VERSION_S:
*
* The full version of VA-API, in string form (suited for string
* concatenation)
*/
#define VA_VERSION_S "1.7.0"

/**
* VA_VERSION_HEX:
*
* Numerically encoded version of VA-API, like 0x010203
*/
#define VA_VERSION_HEX ((VA_MAJOR_VERSION << 24) | \
(VA_MINOR_VERSION << 16) | \
(VA_MICRO_VERSION << 8))

/**
* VA_CHECK_VERSION:
* @major: major version, like 1 in 1.2.3
* @minor: minor version, like 2 in 1.2.3
* @micro: micro version, like 3 in 1.2.3
*
* Evaluates to %TRUE if the version of VA-API is greater than
* @major, @minor and @micro
*/
#define VA_CHECK_VERSION(major,minor,micro) \
(VA_MAJOR_VERSION > (major) || \
(VA_MAJOR_VERSION == (major) && VA_MINOR_VERSION > (minor)) || \
(VA_MAJOR_VERSION == (major) && VA_MINOR_VERSION == (minor) && VA_MICRO_VERSION >= (micro)))

#endif /* VA_VERSION_H */

0 comments on commit 0e1ca76

Please sign in to comment.