diff --git a/prebuilts/aarch64/bin/vainfo b/prebuilts/aarch64/bin/vainfo index d4551a7..8cbb8b5 100755 Binary files a/prebuilts/aarch64/bin/vainfo and b/prebuilts/aarch64/bin/vainfo differ diff --git a/prebuilts/aarch64/include/va/va.h b/prebuilts/aarch64/include/va/va.h index 954f071..957dc53 100644 --- a/prebuilts/aarch64/include/va/va.h +++ b/prebuilts/aarch64/include/va/va.h @@ -1021,6 +1021,13 @@ typedef enum { * VAConfigAttribValEncAV1Ext2 union. */ VAConfigAttribEncAV1Ext2 = 54, + /** \brief Settings per block attribute for Encoding. Read-only. + * + * This attribute describes whether to support delta qp per block, + * the supported size of delta qp block and the size of delta QP in bytes. + * The value returned uses the VAConfigAttribValEncPerBlockControl type. + */ + VAConfigAttribEncPerBlockControl = 55, /**@}*/ VAConfigAttribTypeMax } VAConfigAttribType; @@ -1401,6 +1408,21 @@ typedef union _VAConfigAttribValContextPriority { uint32_t value; } VAConfigAttribValContextPriority; +/** brief Attribute value VAConfigAttribEncPerBlockControl */ +typedef union _VAConfigAttribValEncPerBlockControl { + struct { + /** \brief whether to support dela qp per block */ + uint32_t delta_qp_support : 1; + /** \brief supported size of delta qp block */ + uint32_t log2_delta_qp_block_size : 4; + /** \brief size of delta qp per block in bytes*/ + uint32_t delta_qp_size_in_bytes : 3; + /** \brief reserved bit for future, must be zero */ + uint32_t reserved : 24; + } bits; + uint32_t value; +} VAConfigAttribValEncPerBlockControl; + /** @name Attribute values for VAConfigAttribProtectedContentCipherAlgorithm */ /** \brief AES cipher */ #define VA_PC_CIPHER_AES 0x00000001 @@ -2069,6 +2091,17 @@ typedef enum { */ VAEncryptionParameterBufferType = 60, + /** + * \brief Encoding delta QP per block buffer + * + * This buffer only could be created and accepted + * when \c VAConfigAttribValEncPerBlockControl delta_qp_support == 1. + * This input buffer contains delta QP per block for encoding. + * The supported size of delta QP block and the size of delta QP + * must be quried from \c VAConfigAttribValEncPerBlockControl. + */ + VAEncDeltaQpPerBlockBufferType = 61, + VABufferTypeMax } VABufferType; @@ -5036,6 +5069,11 @@ typedef enum { * modes of vaCopy */ VADisplayAttribCopy = 20, + /* + * HW attribute. read only. retrieve the device information from backend driver + * the value should be combined with vendor ID << 16 | device ID + */ + VADisplayPCIID = 21, } VADisplayAttribType; /* flags for VADisplayAttribute */ diff --git a/prebuilts/aarch64/include/va/va_android.h b/prebuilts/aarch64/include/va/va_android.h new file mode 100644 index 0000000..dfed8fd --- /dev/null +++ b/prebuilts/aarch64/include/va/va_android.h @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2012 Intel Corporation. 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_ANDROID_H_ +#define _VA_ANDROID_H_ + +#include + +/** \brief Android Gralloc buffer memory type. */ +#define VA_SURFACE_ATTRIB_MEM_TYPE_ANDROID_GRALLOC 0x00100000 +/** \brief Android ION buffer memory type. */ +#define VA_SURFACE_ATTRIB_MEM_TYPE_ANDROID_ION 0x00200000 + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Returns a suitable VADisplay for VA API + */ +VADisplay vaGetDisplay( + void *android_dpy +); + +#ifdef __cplusplus +} +#endif + +#endif /* _VA_ANDROID_H_ */ diff --git a/prebuilts/aarch64/include/va/va_enc_av1.h b/prebuilts/aarch64/include/va/va_enc_av1.h index 09848df..6a845b7 100644 --- a/prebuilts/aarch64/include/va/va_enc_av1.h +++ b/prebuilts/aarch64/include/va/va_enc_av1.h @@ -305,8 +305,14 @@ typedef struct _VAEncSequenceParameterBufferAV1 { uint32_t enable_cdef : 1; /** \brief Corresponds to AV1 syntax element of the same name. */ uint32_t enable_restoration : 1; + /** \brief Sepcify number of bits for every channel(Y, U or V). */ + uint32_t bit_depth_minus8 : 3; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint32_t subsampling_x : 1; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint32_t subsampling_y : 1; /** \brief Reserved bytes for future use, must be zero. */ - uint32_t reserved_bits : 18; + uint32_t reserved_bits : 13; } bits; uint32_t value; } seq_fields; @@ -588,7 +594,10 @@ typedef struct _VAEncPictureParameterBufferAV1 /** \brief Corresponds to AV1 syntax element of the same name. */ uint8_t order_hint; - uint16_t reserved16bits0; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint8_t refresh_frame_flags; + + uint8_t reserved8bits1; /** \brief Suggest which frames to be used as references. * see struct #VARefFrameCtrl for details. diff --git a/prebuilts/aarch64/include/va/va_version.h b/prebuilts/aarch64/include/va/va_version.h index d700fb3..ab2ec18 100644 --- a/prebuilts/aarch64/include/va/va_version.h +++ b/prebuilts/aarch64/include/va/va_version.h @@ -37,7 +37,7 @@ * * The minor version of VA-API (2, if %VA_VERSION is 1.2.3) */ -#define VA_MINOR_VERSION 14 +#define VA_MINOR_VERSION 15 /** * VA_MICRO_VERSION: @@ -51,7 +51,7 @@ * * The full version of VA-API, like 1.2.3 */ -#define VA_VERSION 1.14.0 +#define VA_VERSION 1.15.0 /** * VA_VERSION_S: @@ -59,7 +59,7 @@ * The full version of VA-API, in string form (suited for string * concatenation) */ -#define VA_VERSION_S "1.14.0" +#define VA_VERSION_S "1.15.0" /** * VA_VERSION_HEX: diff --git a/prebuilts/aarch64/lib/libva-drm.so.2 b/prebuilts/aarch64/lib/libva-drm.so.2 index 9782b75..932aeff 120000 --- a/prebuilts/aarch64/lib/libva-drm.so.2 +++ b/prebuilts/aarch64/lib/libva-drm.so.2 @@ -1 +1 @@ -libva-drm.so.2.1400.0 \ No newline at end of file +libva-drm.so.2.1500.0 \ No newline at end of file diff --git a/prebuilts/aarch64/lib/libva-drm.so.2.1400.0 b/prebuilts/aarch64/lib/libva-drm.so.2.1400.0 deleted file mode 100755 index 21a21d0..0000000 Binary files a/prebuilts/aarch64/lib/libva-drm.so.2.1400.0 and /dev/null differ diff --git a/prebuilts/aarch64/lib/libva-drm.so.2.1500.0 b/prebuilts/aarch64/lib/libva-drm.so.2.1500.0 new file mode 100755 index 0000000..16f153c Binary files /dev/null and b/prebuilts/aarch64/lib/libva-drm.so.2.1500.0 differ diff --git a/prebuilts/aarch64/lib/libva.so.2 b/prebuilts/aarch64/lib/libva.so.2 index f20227f..610270e 120000 --- a/prebuilts/aarch64/lib/libva.so.2 +++ b/prebuilts/aarch64/lib/libva.so.2 @@ -1 +1 @@ -libva.so.2.1400.0 \ No newline at end of file +libva.so.2.1500.0 \ No newline at end of file diff --git a/prebuilts/aarch64/lib/libva.so.2.1400.0 b/prebuilts/aarch64/lib/libva.so.2.1400.0 deleted file mode 100755 index c1bebdb..0000000 Binary files a/prebuilts/aarch64/lib/libva.so.2.1400.0 and /dev/null differ diff --git a/prebuilts/aarch64/lib/libva.so.2.1500.0 b/prebuilts/aarch64/lib/libva.so.2.1500.0 new file mode 100755 index 0000000..c0c5af3 Binary files /dev/null and b/prebuilts/aarch64/lib/libva.so.2.1500.0 differ diff --git a/prebuilts/arm/bin/vainfo b/prebuilts/arm/bin/vainfo index 5e9983a..edb89e6 100755 Binary files a/prebuilts/arm/bin/vainfo and b/prebuilts/arm/bin/vainfo differ diff --git a/prebuilts/arm/include/va/va.h b/prebuilts/arm/include/va/va.h index 954f071..957dc53 100644 --- a/prebuilts/arm/include/va/va.h +++ b/prebuilts/arm/include/va/va.h @@ -1021,6 +1021,13 @@ typedef enum { * VAConfigAttribValEncAV1Ext2 union. */ VAConfigAttribEncAV1Ext2 = 54, + /** \brief Settings per block attribute for Encoding. Read-only. + * + * This attribute describes whether to support delta qp per block, + * the supported size of delta qp block and the size of delta QP in bytes. + * The value returned uses the VAConfigAttribValEncPerBlockControl type. + */ + VAConfigAttribEncPerBlockControl = 55, /**@}*/ VAConfigAttribTypeMax } VAConfigAttribType; @@ -1401,6 +1408,21 @@ typedef union _VAConfigAttribValContextPriority { uint32_t value; } VAConfigAttribValContextPriority; +/** brief Attribute value VAConfigAttribEncPerBlockControl */ +typedef union _VAConfigAttribValEncPerBlockControl { + struct { + /** \brief whether to support dela qp per block */ + uint32_t delta_qp_support : 1; + /** \brief supported size of delta qp block */ + uint32_t log2_delta_qp_block_size : 4; + /** \brief size of delta qp per block in bytes*/ + uint32_t delta_qp_size_in_bytes : 3; + /** \brief reserved bit for future, must be zero */ + uint32_t reserved : 24; + } bits; + uint32_t value; +} VAConfigAttribValEncPerBlockControl; + /** @name Attribute values for VAConfigAttribProtectedContentCipherAlgorithm */ /** \brief AES cipher */ #define VA_PC_CIPHER_AES 0x00000001 @@ -2069,6 +2091,17 @@ typedef enum { */ VAEncryptionParameterBufferType = 60, + /** + * \brief Encoding delta QP per block buffer + * + * This buffer only could be created and accepted + * when \c VAConfigAttribValEncPerBlockControl delta_qp_support == 1. + * This input buffer contains delta QP per block for encoding. + * The supported size of delta QP block and the size of delta QP + * must be quried from \c VAConfigAttribValEncPerBlockControl. + */ + VAEncDeltaQpPerBlockBufferType = 61, + VABufferTypeMax } VABufferType; @@ -5036,6 +5069,11 @@ typedef enum { * modes of vaCopy */ VADisplayAttribCopy = 20, + /* + * HW attribute. read only. retrieve the device information from backend driver + * the value should be combined with vendor ID << 16 | device ID + */ + VADisplayPCIID = 21, } VADisplayAttribType; /* flags for VADisplayAttribute */ diff --git a/prebuilts/arm/include/va/va_android.h b/prebuilts/arm/include/va/va_android.h new file mode 100644 index 0000000..dfed8fd --- /dev/null +++ b/prebuilts/arm/include/va/va_android.h @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2012 Intel Corporation. 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_ANDROID_H_ +#define _VA_ANDROID_H_ + +#include + +/** \brief Android Gralloc buffer memory type. */ +#define VA_SURFACE_ATTRIB_MEM_TYPE_ANDROID_GRALLOC 0x00100000 +/** \brief Android ION buffer memory type. */ +#define VA_SURFACE_ATTRIB_MEM_TYPE_ANDROID_ION 0x00200000 + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Returns a suitable VADisplay for VA API + */ +VADisplay vaGetDisplay( + void *android_dpy +); + +#ifdef __cplusplus +} +#endif + +#endif /* _VA_ANDROID_H_ */ diff --git a/prebuilts/arm/include/va/va_enc_av1.h b/prebuilts/arm/include/va/va_enc_av1.h index 09848df..6a845b7 100644 --- a/prebuilts/arm/include/va/va_enc_av1.h +++ b/prebuilts/arm/include/va/va_enc_av1.h @@ -305,8 +305,14 @@ typedef struct _VAEncSequenceParameterBufferAV1 { uint32_t enable_cdef : 1; /** \brief Corresponds to AV1 syntax element of the same name. */ uint32_t enable_restoration : 1; + /** \brief Sepcify number of bits for every channel(Y, U or V). */ + uint32_t bit_depth_minus8 : 3; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint32_t subsampling_x : 1; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint32_t subsampling_y : 1; /** \brief Reserved bytes for future use, must be zero. */ - uint32_t reserved_bits : 18; + uint32_t reserved_bits : 13; } bits; uint32_t value; } seq_fields; @@ -588,7 +594,10 @@ typedef struct _VAEncPictureParameterBufferAV1 /** \brief Corresponds to AV1 syntax element of the same name. */ uint8_t order_hint; - uint16_t reserved16bits0; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint8_t refresh_frame_flags; + + uint8_t reserved8bits1; /** \brief Suggest which frames to be used as references. * see struct #VARefFrameCtrl for details. diff --git a/prebuilts/arm/include/va/va_version.h b/prebuilts/arm/include/va/va_version.h index d700fb3..ab2ec18 100644 --- a/prebuilts/arm/include/va/va_version.h +++ b/prebuilts/arm/include/va/va_version.h @@ -37,7 +37,7 @@ * * The minor version of VA-API (2, if %VA_VERSION is 1.2.3) */ -#define VA_MINOR_VERSION 14 +#define VA_MINOR_VERSION 15 /** * VA_MICRO_VERSION: @@ -51,7 +51,7 @@ * * The full version of VA-API, like 1.2.3 */ -#define VA_VERSION 1.14.0 +#define VA_VERSION 1.15.0 /** * VA_VERSION_S: @@ -59,7 +59,7 @@ * The full version of VA-API, in string form (suited for string * concatenation) */ -#define VA_VERSION_S "1.14.0" +#define VA_VERSION_S "1.15.0" /** * VA_VERSION_HEX: diff --git a/prebuilts/arm/lib/libva-drm.so.2 b/prebuilts/arm/lib/libva-drm.so.2 index 9782b75..932aeff 120000 --- a/prebuilts/arm/lib/libva-drm.so.2 +++ b/prebuilts/arm/lib/libva-drm.so.2 @@ -1 +1 @@ -libva-drm.so.2.1400.0 \ No newline at end of file +libva-drm.so.2.1500.0 \ No newline at end of file diff --git a/prebuilts/arm/lib/libva-drm.so.2.1400.0 b/prebuilts/arm/lib/libva-drm.so.2.1400.0 deleted file mode 100755 index edd4c03..0000000 Binary files a/prebuilts/arm/lib/libva-drm.so.2.1400.0 and /dev/null differ diff --git a/prebuilts/arm/lib/libva-drm.so.2.1500.0 b/prebuilts/arm/lib/libva-drm.so.2.1500.0 new file mode 100755 index 0000000..c512676 Binary files /dev/null and b/prebuilts/arm/lib/libva-drm.so.2.1500.0 differ diff --git a/prebuilts/arm/lib/libva.so.2 b/prebuilts/arm/lib/libva.so.2 index f20227f..610270e 120000 --- a/prebuilts/arm/lib/libva.so.2 +++ b/prebuilts/arm/lib/libva.so.2 @@ -1 +1 @@ -libva.so.2.1400.0 \ No newline at end of file +libva.so.2.1500.0 \ No newline at end of file diff --git a/prebuilts/arm/lib/libva.so.2.1400.0 b/prebuilts/arm/lib/libva.so.2.1400.0 deleted file mode 100755 index 0862db6..0000000 Binary files a/prebuilts/arm/lib/libva.so.2.1400.0 and /dev/null differ diff --git a/prebuilts/arm/lib/libva.so.2.1500.0 b/prebuilts/arm/lib/libva.so.2.1500.0 new file mode 100755 index 0000000..b580d9f Binary files /dev/null and b/prebuilts/arm/lib/libva.so.2.1500.0 differ diff --git a/prebuilts/x86/bin/vainfo b/prebuilts/x86/bin/vainfo index 9eb3e9a..a442ce0 100755 Binary files a/prebuilts/x86/bin/vainfo and b/prebuilts/x86/bin/vainfo differ diff --git a/prebuilts/x86/include/va/va.h b/prebuilts/x86/include/va/va.h index 954f071..957dc53 100644 --- a/prebuilts/x86/include/va/va.h +++ b/prebuilts/x86/include/va/va.h @@ -1021,6 +1021,13 @@ typedef enum { * VAConfigAttribValEncAV1Ext2 union. */ VAConfigAttribEncAV1Ext2 = 54, + /** \brief Settings per block attribute for Encoding. Read-only. + * + * This attribute describes whether to support delta qp per block, + * the supported size of delta qp block and the size of delta QP in bytes. + * The value returned uses the VAConfigAttribValEncPerBlockControl type. + */ + VAConfigAttribEncPerBlockControl = 55, /**@}*/ VAConfigAttribTypeMax } VAConfigAttribType; @@ -1401,6 +1408,21 @@ typedef union _VAConfigAttribValContextPriority { uint32_t value; } VAConfigAttribValContextPriority; +/** brief Attribute value VAConfigAttribEncPerBlockControl */ +typedef union _VAConfigAttribValEncPerBlockControl { + struct { + /** \brief whether to support dela qp per block */ + uint32_t delta_qp_support : 1; + /** \brief supported size of delta qp block */ + uint32_t log2_delta_qp_block_size : 4; + /** \brief size of delta qp per block in bytes*/ + uint32_t delta_qp_size_in_bytes : 3; + /** \brief reserved bit for future, must be zero */ + uint32_t reserved : 24; + } bits; + uint32_t value; +} VAConfigAttribValEncPerBlockControl; + /** @name Attribute values for VAConfigAttribProtectedContentCipherAlgorithm */ /** \brief AES cipher */ #define VA_PC_CIPHER_AES 0x00000001 @@ -2069,6 +2091,17 @@ typedef enum { */ VAEncryptionParameterBufferType = 60, + /** + * \brief Encoding delta QP per block buffer + * + * This buffer only could be created and accepted + * when \c VAConfigAttribValEncPerBlockControl delta_qp_support == 1. + * This input buffer contains delta QP per block for encoding. + * The supported size of delta QP block and the size of delta QP + * must be quried from \c VAConfigAttribValEncPerBlockControl. + */ + VAEncDeltaQpPerBlockBufferType = 61, + VABufferTypeMax } VABufferType; @@ -5036,6 +5069,11 @@ typedef enum { * modes of vaCopy */ VADisplayAttribCopy = 20, + /* + * HW attribute. read only. retrieve the device information from backend driver + * the value should be combined with vendor ID << 16 | device ID + */ + VADisplayPCIID = 21, } VADisplayAttribType; /* flags for VADisplayAttribute */ diff --git a/prebuilts/x86/include/va/va_android.h b/prebuilts/x86/include/va/va_android.h new file mode 100644 index 0000000..dfed8fd --- /dev/null +++ b/prebuilts/x86/include/va/va_android.h @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2012 Intel Corporation. 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_ANDROID_H_ +#define _VA_ANDROID_H_ + +#include + +/** \brief Android Gralloc buffer memory type. */ +#define VA_SURFACE_ATTRIB_MEM_TYPE_ANDROID_GRALLOC 0x00100000 +/** \brief Android ION buffer memory type. */ +#define VA_SURFACE_ATTRIB_MEM_TYPE_ANDROID_ION 0x00200000 + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Returns a suitable VADisplay for VA API + */ +VADisplay vaGetDisplay( + void *android_dpy +); + +#ifdef __cplusplus +} +#endif + +#endif /* _VA_ANDROID_H_ */ diff --git a/prebuilts/x86/include/va/va_enc_av1.h b/prebuilts/x86/include/va/va_enc_av1.h index 09848df..6a845b7 100644 --- a/prebuilts/x86/include/va/va_enc_av1.h +++ b/prebuilts/x86/include/va/va_enc_av1.h @@ -305,8 +305,14 @@ typedef struct _VAEncSequenceParameterBufferAV1 { uint32_t enable_cdef : 1; /** \brief Corresponds to AV1 syntax element of the same name. */ uint32_t enable_restoration : 1; + /** \brief Sepcify number of bits for every channel(Y, U or V). */ + uint32_t bit_depth_minus8 : 3; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint32_t subsampling_x : 1; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint32_t subsampling_y : 1; /** \brief Reserved bytes for future use, must be zero. */ - uint32_t reserved_bits : 18; + uint32_t reserved_bits : 13; } bits; uint32_t value; } seq_fields; @@ -588,7 +594,10 @@ typedef struct _VAEncPictureParameterBufferAV1 /** \brief Corresponds to AV1 syntax element of the same name. */ uint8_t order_hint; - uint16_t reserved16bits0; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint8_t refresh_frame_flags; + + uint8_t reserved8bits1; /** \brief Suggest which frames to be used as references. * see struct #VARefFrameCtrl for details. diff --git a/prebuilts/x86/include/va/va_version.h b/prebuilts/x86/include/va/va_version.h index d700fb3..ab2ec18 100644 --- a/prebuilts/x86/include/va/va_version.h +++ b/prebuilts/x86/include/va/va_version.h @@ -37,7 +37,7 @@ * * The minor version of VA-API (2, if %VA_VERSION is 1.2.3) */ -#define VA_MINOR_VERSION 14 +#define VA_MINOR_VERSION 15 /** * VA_MICRO_VERSION: @@ -51,7 +51,7 @@ * * The full version of VA-API, like 1.2.3 */ -#define VA_VERSION 1.14.0 +#define VA_VERSION 1.15.0 /** * VA_VERSION_S: @@ -59,7 +59,7 @@ * The full version of VA-API, in string form (suited for string * concatenation) */ -#define VA_VERSION_S "1.14.0" +#define VA_VERSION_S "1.15.0" /** * VA_VERSION_HEX: diff --git a/prebuilts/x86/lib/libva-drm.so.2 b/prebuilts/x86/lib/libva-drm.so.2 index 9782b75..932aeff 120000 --- a/prebuilts/x86/lib/libva-drm.so.2 +++ b/prebuilts/x86/lib/libva-drm.so.2 @@ -1 +1 @@ -libva-drm.so.2.1400.0 \ No newline at end of file +libva-drm.so.2.1500.0 \ No newline at end of file diff --git a/prebuilts/x86/lib/libva-drm.so.2.1400.0 b/prebuilts/x86/lib/libva-drm.so.2.1400.0 deleted file mode 100755 index 48b3400..0000000 Binary files a/prebuilts/x86/lib/libva-drm.so.2.1400.0 and /dev/null differ diff --git a/prebuilts/x86/lib/libva-drm.so.2.1500.0 b/prebuilts/x86/lib/libva-drm.so.2.1500.0 new file mode 100755 index 0000000..9deecbc Binary files /dev/null and b/prebuilts/x86/lib/libva-drm.so.2.1500.0 differ diff --git a/prebuilts/x86/lib/libva.so.2 b/prebuilts/x86/lib/libva.so.2 index f20227f..610270e 120000 --- a/prebuilts/x86/lib/libva.so.2 +++ b/prebuilts/x86/lib/libva.so.2 @@ -1 +1 @@ -libva.so.2.1400.0 \ No newline at end of file +libva.so.2.1500.0 \ No newline at end of file diff --git a/prebuilts/x86/lib/libva.so.2.1400.0 b/prebuilts/x86/lib/libva.so.2.1400.0 deleted file mode 100755 index c3c5a62..0000000 Binary files a/prebuilts/x86/lib/libva.so.2.1400.0 and /dev/null differ diff --git a/prebuilts/x86/lib/libva.so.2.1500.0 b/prebuilts/x86/lib/libva.so.2.1500.0 new file mode 100755 index 0000000..8d8fcef Binary files /dev/null and b/prebuilts/x86/lib/libva.so.2.1500.0 differ diff --git a/prebuilts/x86_64/bin/vainfo b/prebuilts/x86_64/bin/vainfo index a06ba5b..371c782 100755 Binary files a/prebuilts/x86_64/bin/vainfo and b/prebuilts/x86_64/bin/vainfo differ diff --git a/prebuilts/x86_64/include/va/va.h b/prebuilts/x86_64/include/va/va.h index 954f071..957dc53 100644 --- a/prebuilts/x86_64/include/va/va.h +++ b/prebuilts/x86_64/include/va/va.h @@ -1021,6 +1021,13 @@ typedef enum { * VAConfigAttribValEncAV1Ext2 union. */ VAConfigAttribEncAV1Ext2 = 54, + /** \brief Settings per block attribute for Encoding. Read-only. + * + * This attribute describes whether to support delta qp per block, + * the supported size of delta qp block and the size of delta QP in bytes. + * The value returned uses the VAConfigAttribValEncPerBlockControl type. + */ + VAConfigAttribEncPerBlockControl = 55, /**@}*/ VAConfigAttribTypeMax } VAConfigAttribType; @@ -1401,6 +1408,21 @@ typedef union _VAConfigAttribValContextPriority { uint32_t value; } VAConfigAttribValContextPriority; +/** brief Attribute value VAConfigAttribEncPerBlockControl */ +typedef union _VAConfigAttribValEncPerBlockControl { + struct { + /** \brief whether to support dela qp per block */ + uint32_t delta_qp_support : 1; + /** \brief supported size of delta qp block */ + uint32_t log2_delta_qp_block_size : 4; + /** \brief size of delta qp per block in bytes*/ + uint32_t delta_qp_size_in_bytes : 3; + /** \brief reserved bit for future, must be zero */ + uint32_t reserved : 24; + } bits; + uint32_t value; +} VAConfigAttribValEncPerBlockControl; + /** @name Attribute values for VAConfigAttribProtectedContentCipherAlgorithm */ /** \brief AES cipher */ #define VA_PC_CIPHER_AES 0x00000001 @@ -2069,6 +2091,17 @@ typedef enum { */ VAEncryptionParameterBufferType = 60, + /** + * \brief Encoding delta QP per block buffer + * + * This buffer only could be created and accepted + * when \c VAConfigAttribValEncPerBlockControl delta_qp_support == 1. + * This input buffer contains delta QP per block for encoding. + * The supported size of delta QP block and the size of delta QP + * must be quried from \c VAConfigAttribValEncPerBlockControl. + */ + VAEncDeltaQpPerBlockBufferType = 61, + VABufferTypeMax } VABufferType; @@ -5036,6 +5069,11 @@ typedef enum { * modes of vaCopy */ VADisplayAttribCopy = 20, + /* + * HW attribute. read only. retrieve the device information from backend driver + * the value should be combined with vendor ID << 16 | device ID + */ + VADisplayPCIID = 21, } VADisplayAttribType; /* flags for VADisplayAttribute */ diff --git a/prebuilts/x86_64/include/va/va_enc_av1.h b/prebuilts/x86_64/include/va/va_enc_av1.h index 09848df..6a845b7 100644 --- a/prebuilts/x86_64/include/va/va_enc_av1.h +++ b/prebuilts/x86_64/include/va/va_enc_av1.h @@ -305,8 +305,14 @@ typedef struct _VAEncSequenceParameterBufferAV1 { uint32_t enable_cdef : 1; /** \brief Corresponds to AV1 syntax element of the same name. */ uint32_t enable_restoration : 1; + /** \brief Sepcify number of bits for every channel(Y, U or V). */ + uint32_t bit_depth_minus8 : 3; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint32_t subsampling_x : 1; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint32_t subsampling_y : 1; /** \brief Reserved bytes for future use, must be zero. */ - uint32_t reserved_bits : 18; + uint32_t reserved_bits : 13; } bits; uint32_t value; } seq_fields; @@ -588,7 +594,10 @@ typedef struct _VAEncPictureParameterBufferAV1 /** \brief Corresponds to AV1 syntax element of the same name. */ uint8_t order_hint; - uint16_t reserved16bits0; + /** \brief Corresponds to AV1 syntax element of the same name. */ + uint8_t refresh_frame_flags; + + uint8_t reserved8bits1; /** \brief Suggest which frames to be used as references. * see struct #VARefFrameCtrl for details. diff --git a/prebuilts/x86_64/include/va/va_version.h b/prebuilts/x86_64/include/va/va_version.h index d700fb3..ab2ec18 100644 --- a/prebuilts/x86_64/include/va/va_version.h +++ b/prebuilts/x86_64/include/va/va_version.h @@ -37,7 +37,7 @@ * * The minor version of VA-API (2, if %VA_VERSION is 1.2.3) */ -#define VA_MINOR_VERSION 14 +#define VA_MINOR_VERSION 15 /** * VA_MICRO_VERSION: @@ -51,7 +51,7 @@ * * The full version of VA-API, like 1.2.3 */ -#define VA_VERSION 1.14.0 +#define VA_VERSION 1.15.0 /** * VA_VERSION_S: @@ -59,7 +59,7 @@ * The full version of VA-API, in string form (suited for string * concatenation) */ -#define VA_VERSION_S "1.14.0" +#define VA_VERSION_S "1.15.0" /** * VA_VERSION_HEX: diff --git a/prebuilts/x86_64/lib/libva-drm.so.2 b/prebuilts/x86_64/lib/libva-drm.so.2 index 9782b75..932aeff 120000 --- a/prebuilts/x86_64/lib/libva-drm.so.2 +++ b/prebuilts/x86_64/lib/libva-drm.so.2 @@ -1 +1 @@ -libva-drm.so.2.1400.0 \ No newline at end of file +libva-drm.so.2.1500.0 \ No newline at end of file diff --git a/prebuilts/x86_64/lib/libva-drm.so.2.1400.0 b/prebuilts/x86_64/lib/libva-drm.so.2.1400.0 deleted file mode 100755 index d5c6e37..0000000 Binary files a/prebuilts/x86_64/lib/libva-drm.so.2.1400.0 and /dev/null differ diff --git a/prebuilts/x86_64/lib/libva-drm.so.2.1500.0 b/prebuilts/x86_64/lib/libva-drm.so.2.1500.0 new file mode 100755 index 0000000..ac8b3dd Binary files /dev/null and b/prebuilts/x86_64/lib/libva-drm.so.2.1500.0 differ diff --git a/prebuilts/x86_64/lib/libva.so.2 b/prebuilts/x86_64/lib/libva.so.2 index f20227f..610270e 120000 --- a/prebuilts/x86_64/lib/libva.so.2 +++ b/prebuilts/x86_64/lib/libva.so.2 @@ -1 +1 @@ -libva.so.2.1400.0 \ No newline at end of file +libva.so.2.1500.0 \ No newline at end of file diff --git a/prebuilts/x86_64/lib/libva.so.2.1400.0 b/prebuilts/x86_64/lib/libva.so.2.1400.0 deleted file mode 100755 index 8dec76d..0000000 Binary files a/prebuilts/x86_64/lib/libva.so.2.1400.0 and /dev/null differ diff --git a/prebuilts/x86_64/lib/libva.so.2.1500.0 b/prebuilts/x86_64/lib/libva.so.2.1500.0 new file mode 100755 index 0000000..51e66d4 Binary files /dev/null and b/prebuilts/x86_64/lib/libva.so.2.1500.0 differ