Skip to content

Commit a393998

Browse files
committed
Upgrade Libva to 2.19.0
Upgrade to libva release tag: https://github.com/intel/libva/releases/tag/2.19.0 Remove va_version.h from gitignore and add va_version.h for Android. Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
1 parent 807044b commit a393998

File tree

3 files changed

+140
-12
lines changed

3 files changed

+140
-12
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ ltmain.sh
2929
/m4
3030
missing
3131
stamp-h1
32-
/va/va_version.h
3332
/va/wayland/wayland-drm-client-protocol.*
3433
/doc/Doxyfile
3534
/doc/html-out

va/Android.mk

Lines changed: 53 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525

2626
LOCAL_PATH:= $(call my-dir)
2727

28-
LIBVA_DRIVERS_PATH_32 := /vendor/lib/dri
29-
LIBVA_DRIVERS_PATH_64 := /vendor/lib64/dri
28+
LIBVA_DRIVERS_PATH_32 := /vendor/lib
29+
LIBVA_DRIVERS_PATH_64 := /vendor/lib64
3030

3131
include $(CLEAR_VARS)
3232

@@ -41,7 +41,10 @@ IGNORED_WARNNING = \
4141
LOCAL_SRC_FILES := \
4242
va.c \
4343
va_trace.c \
44-
va_str.c
44+
va_str.c \
45+
drm/va_drm.c \
46+
drm/va_drm_auth.c \
47+
drm/va_drm_utils.c
4548

4649
LOCAL_CFLAGS_32 += \
4750
-DVA_DRIVERS_PATH="\"$(LIBVA_DRIVERS_PATH_32)\"" \
@@ -51,30 +54,63 @@ LOCAL_CFLAGS_64 += \
5154

5255
LOCAL_CFLAGS := \
5356
$(IGNORED_WARNNING) \
54-
-DLOG_TAG=\"libva\"
57+
-DLOG_TAG=\"libva\" \
58+
-DSYSCONFDIR='"$(sysconfdir)"'
5559

5660
LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
5761

62+
LOCAL_COPY_HEADERS := \
63+
va.h \
64+
va_android.h \
65+
va_version.h \
66+
va_dec_hevc.h \
67+
va_dec_jpeg.h \
68+
va_dec_vp8.h \
69+
va_dec_vp9.h \
70+
va_enc_hevc.h \
71+
va_enc_h264.h \
72+
va_enc_jpeg.h \
73+
va_enc_vp8.h \
74+
va_enc_av1.h \
75+
va_backend.h \
76+
va_drmcommon.h \
77+
va_vpp.h \
78+
va_backend_prot.h \
79+
va_backend_vpp.h \
80+
va_enc_mpeg2.h \
81+
sysdeps.h \
82+
va_compat.h \
83+
va_egl.h \
84+
va_prot.h \
85+
va_enc_vp9.h \
86+
va_fei.h \
87+
va_fei_h264.h \
88+
va_fei_hevc.h \
89+
va_internal.h \
90+
va_str.h \
91+
va_tpi.h \
92+
va_trace.h \
93+
va_dec_av1.h \
94+
drm/va_drm.h
95+
96+
LOCAL_COPY_HEADERS_TO := libva/va
97+
5898
LOCAL_MODULE_TAGS := optional
5999
LOCAL_MODULE := libva
60100
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
61101
LOCAL_PROPRIETARY_MODULE := true
62102

63103
LOCAL_SHARED_LIBRARIES := libdl libdrm libcutils liblog
104+
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
105+
LOCAL_HEADER_LIBRARIES += libutils_headers
106+
endif
64107

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

67110
LOCAL_EXPORT_C_INCLUDE_DIRS := \
68111
$(intermediates) \
69112
$(LOCAL_C_INCLUDES)
70113

71-
GEN := $(intermediates)/va/va_version.h
72-
$(GEN): SCRIPT := $(LOCAL_PATH)/../build/gen_version.sh
73-
$(GEN): PRIVATE_CUSTOM_TOOL = sh $(SCRIPT) $(<D)/.. $< > $@
74-
$(GEN): $(intermediates)/va/%.h : $(LOCAL_PATH)/%.h.in $(LOCAL_PATH)/../configure.ac
75-
$(transform-generated-source)
76-
LOCAL_GENERATED_SOURCES += $(GEN)
77-
78114
include $(BUILD_SHARED_LIBRARY)
79115

80116
# For libva-android
@@ -93,10 +129,16 @@ LOCAL_CFLAGS += \
93129
LOCAL_C_INCLUDES += \
94130
$(LOCAL_PATH)/drm
95131

132+
LOCAL_COPY_HEADERS_TO := libva/va
96133
LOCAL_MODULE_TAGS := optional
97134
LOCAL_MODULE := libva-android
98135
LOCAL_PROPRIETARY_MODULE := true
99136

100137
LOCAL_SHARED_LIBRARIES := libva libdrm liblog
101138

139+
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
140+
LOCAL_STATIC_LIBRARIES += libarect
141+
LOCAL_HEADER_LIBRARIES += libnativebase_headers libutils_headers
142+
endif
143+
102144
include $(BUILD_SHARED_LIBRARY)

va/va_version.h

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
/*
2+
* Copyright (C) 2009 Splitted-Desktop Systems. All Rights Reserved.
3+
*
4+
* Permission is hereby granted, free of charge, to any person obtaining a
5+
* copy of this software and associated documentation files (the
6+
* "Software"), to deal in the Software without restriction, including
7+
* without limitation the rights to use, copy, modify, merge, publish,
8+
* distribute, sub license, and/or sell copies of the Software, and to
9+
* permit persons to whom the Software is furnished to do so, subject to
10+
* the following conditions:
11+
*
12+
* The above copyright notice and this permission notice (including the
13+
* next paragraph) shall be included in all copies or substantial portions
14+
* of the Software.
15+
*
16+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17+
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
19+
* IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
20+
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21+
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23+
*/
24+
25+
#ifndef VA_VERSION_H
26+
#define VA_VERSION_H
27+
28+
/**
29+
* VA_MAJOR_VERSION:
30+
*
31+
* The major version of VA-API (1, if %VA_VERSION is 1.2.3)
32+
*/
33+
#define VA_MAJOR_VERSION 2
34+
35+
/**
36+
* VA_MINOR_VERSION:
37+
*
38+
* The minor version of VA-API (2, if %VA_VERSION is 1.2.3)
39+
*/
40+
#define VA_MINOR_VERSION 19
41+
42+
/**
43+
* VA_MICRO_VERSION:
44+
*
45+
* The micro version of VA-API (3, if %VA_VERSION is 1.2.3)
46+
*/
47+
#define VA_MICRO_VERSION 0
48+
49+
/**
50+
* VA_VERSION:
51+
*
52+
* The full version of VA-API, like 1.2.3
53+
*/
54+
#define VA_VERSION 2.19.0
55+
56+
/**
57+
* VA_VERSION_S:
58+
*
59+
* The full version of VA-API, in string form (suited for string
60+
* concatenation)
61+
*/
62+
#define VA_VERSION_S "2.19.0"
63+
64+
/**
65+
* VA_VERSION_HEX:
66+
*
67+
* Numerically encoded version of VA-API, like 0x010203
68+
*/
69+
#define VA_VERSION_HEX ((VA_MAJOR_VERSION << 24) | \
70+
(VA_MINOR_VERSION << 16) | \
71+
(VA_MICRO_VERSION << 8))
72+
73+
/**
74+
* VA_CHECK_VERSION:
75+
* @major: major version, like 1 in 1.2.3
76+
* @minor: minor version, like 2 in 1.2.3
77+
* @micro: micro version, like 3 in 1.2.3
78+
*
79+
* Evaluates to %TRUE if the version of VA-API is greater than
80+
* @major, @minor and @micro
81+
*/
82+
#define VA_CHECK_VERSION(major,minor,micro) \
83+
(VA_MAJOR_VERSION > (major) || \
84+
(VA_MAJOR_VERSION == (major) && VA_MINOR_VERSION > (minor)) || \
85+
(VA_MAJOR_VERSION == (major) && VA_MINOR_VERSION == (minor) && VA_MICRO_VERSION >= (micro)))
86+
87+
#endif /* VA_VERSION_H */

0 commit comments

Comments
 (0)