[Libva] [PATCH 2/2][libva-intel-driver] i965_test_config: return properly unsupported profile

Daniel Charles daniel.charles at intel.com
Tue Oct 25 16:18:54 UTC 2016


jpege and avce config tests to check against all supported
entrypoints for a profile.  UNSUPPORTED_PROFILE is expected
when no entrypoints are available for a given profile, else
expect UNSUPPORTED_ENTRYPOINT

Signed-off-by: Daniel Charles <daniel.charles at intel.com>
---
 test/i965_avce_config_test.cpp  | 27 +++++++++++++++++++--------
 test/i965_jpege_config_test.cpp | 17 ++++++++---------
 2 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/test/i965_avce_config_test.cpp b/test/i965_avce_config_test.cpp
index b30abbc..605c6a7 100644
--- a/test/i965_avce_config_test.cpp
+++ b/test/i965_avce_config_test.cpp
@@ -45,8 +45,13 @@ VAStatus HasEncodeSupport()
     struct i965_driver_data *i965(*env);
     EXPECT_PTR(i965);
 
-    return HAS_H264_ENCODING(i965) ? VA_STATUS_SUCCESS :
-        EntrypointNotSupported();
+    if (HAS_H264_ENCODING(i965))
+        return VA_STATUS_SUCCESS;
+    else if (!HAS_H264_ENCODING(i965) && !HAS_H264_DECODING(i965)
+             && !HAS_LP_H264_ENCODING(i965))
+        return ProfileNotSupported();
+    else
+        return EntrypointNotSupported();
 }
 
 VAStatus HasLPEncodeSupport()
@@ -57,11 +62,13 @@ VAStatus HasLPEncodeSupport()
     struct i965_driver_data *i965(*env);
     EXPECT_PTR(i965);
 
-    if (IS_SKL(i965->intel.device_info))
+    if (HAS_LP_H264_ENCODING(i965))
         return VA_STATUS_SUCCESS;
-
-    return HAS_LP_H264_ENCODING(i965) ? VA_STATUS_SUCCESS :
-        EntrypointNotSupported();
+    else if (!HAS_H264_ENCODING(i965) && !HAS_H264_DECODING(i965)
+             && !HAS_LP_H264_ENCODING(i965))
+        return ProfileNotSupported();
+    else
+        return EntrypointNotSupported();
 }
 
 VAStatus HasMVCEncodeSupport()
@@ -72,8 +79,12 @@ VAStatus HasMVCEncodeSupport()
     struct i965_driver_data *i965(*env);
     EXPECT_PTR(i965);
 
-    return HAS_H264_MVC_ENCODING(i965) ? VA_STATUS_SUCCESS :
-        EntrypointNotSupported();
+    if (HAS_H264_MVC_ENCODING(i965))
+        return VA_STATUS_SUCCESS;
+    else if (!HAS_H264_MVC_ENCODING(i965) && !HAS_H264_MVC_DECODING(i965))
+        return ProfileNotSupported();
+    else
+        return EntrypointNotSupported();
 }
 
 static const std::vector<ConfigTestInput> inputs = {
diff --git a/test/i965_jpege_config_test.cpp b/test/i965_jpege_config_test.cpp
index 924eccb..fdf98b6 100644
--- a/test/i965_jpege_config_test.cpp
+++ b/test/i965_jpege_config_test.cpp
@@ -27,11 +27,6 @@
 namespace JPEG {
 namespace Encode {
 
-VAStatus EntrypointNotSupported()
-{
-    return VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
-}
-
 VAStatus HasEncodeSupport()
 {
     I965TestEnvironment *env(I965TestEnvironment::instance());
@@ -40,14 +35,18 @@ VAStatus HasEncodeSupport()
     struct i965_driver_data *i965(*env);
     EXPECT_PTR(i965);
 
-    return HAS_JPEG_ENCODING(i965) ? VA_STATUS_SUCCESS :
-        EntrypointNotSupported();
+    if (HAS_JPEG_ENCODING(i965))
+        return VA_STATUS_SUCCESS;
+    else if (!HAS_JPEG_ENCODING(i965) && !HAS_JPEG_DECODING(i965))
+        return VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
+    else
+        return VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
 }
 
 static const std::vector<ConfigTestInput> inputs = {
     {VAProfileJPEGBaseline, VAEntrypointEncPicture, &HasEncodeSupport},
-    {VAProfileJPEGBaseline, VAEntrypointEncSlice, &EntrypointNotSupported},
-    {VAProfileJPEGBaseline, VAEntrypointEncSliceLP, &EntrypointNotSupported},
+    {VAProfileJPEGBaseline, VAEntrypointEncSlice, &HasEncodeSupport},
+    {VAProfileJPEGBaseline, VAEntrypointEncSliceLP, &HasEncodeSupport},
 };
 
 INSTANTIATE_TEST_CASE_P(
-- 
2.5.5



More information about the Libva mailing list