OSDN Git Service

gtest: Fix 5 failed cases on legacy platforms
authorXiang, Haihao <haihao.xiang@intel.com>
Sat, 21 Oct 2017 06:30:24 +0000 (14:30 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Tue, 28 Nov 2017 00:55:13 +0000 (16:55 -0800)
Some legacy platforms only support VAProfileH264StereoHigh decoding

[----------] Global test environment tear-down
[==========] 599 tests from 16 test cases ran. (335 ms total)
[  PASSED  ] 594 tests.
[  FAILED  ] 5 tests, listed below:
[  FAILED  ] AVCDecode/I965ConfigTest.Create/3, where GetParam() = VAProfileH264MultiviewHigh : VAEntrypointVLD
[  FAILED  ] AVCEncode/I965ConfigTest.Create/12, where GetParam() = VAProfileH264MultiviewHigh : VAEntrypointEncSlice
[  FAILED  ] AVCEncode/I965ConfigTest.Create/13, where GetParam() = VAProfileH264MultiviewHigh : VAEntrypointEncSliceLP
[  FAILED  ] AVCEncode/I965ConfigTest.Create/14, where GetParam() = VAProfileH264MultiviewHigh : VAEntrypointEncPicture
[  FAILED  ] AVCEncode/I965ConfigTest.Create/15, where GetParam() = VAProfileH264MultiviewHigh : VAEntrypointFEI

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
test/i965_avcd_config_test.cpp
test/i965_avce_config_test.cpp

index ad10ffb..790ed61 100644 (file)
@@ -89,7 +89,21 @@ VAStatus HasMVCDecodeSupport()
     struct i965_driver_data *i965(*env);
     EXPECT_PTR(i965);
 
-    if (HAS_H264_MVC_DECODING(i965))
+    if (HAS_H264_MVC_DECODING_PROFILE(i965, VAProfileH264MultiviewHigh))
+        return VA_STATUS_SUCCESS;
+
+    return H264MVCNotSupported();
+}
+
+VAStatus HasStereoCDecodeSupport()
+{
+    I965TestEnvironment *env(I965TestEnvironment::instance());
+    EXPECT_PTR(env);
+
+    struct i965_driver_data *i965(*env);
+    EXPECT_PTR(i965);
+
+    if (HAS_H264_MVC_DECODING_PROFILE(i965, VAProfileH264StereoHigh))
         return VA_STATUS_SUCCESS;
 
     return H264MVCNotSupported();
@@ -103,7 +117,7 @@ static const std::vector<ConfigTestInput> inputs = {
     { VAProfileH264MultiviewHigh, VAEntrypointVLD,
       &HasMVCDecodeSupport },
     { VAProfileH264StereoHigh, VAEntrypointVLD,
-      &HasMVCDecodeSupport },
+      &HasStereoCDecodeSupport },
 };
 
 INSTANTIATE_TEST_CASE_P(
index c5f3cfb..f76d242 100644 (file)
@@ -95,7 +95,21 @@ VAStatus H264MVCNotSupported()
     struct i965_driver_data *i965(*env);
     EXPECT_PTR(i965);
 
-    if (!HAS_H264_MVC_DECODING(i965))
+    if (!HAS_H264_MVC_DECODING_PROFILE(i965, VAProfileH264MultiviewHigh))
+        return ProfileNotSupported();
+
+    return EntrypointNotSupported();
+}
+
+VAStatus H264StereoNotSupported()
+{
+    I965TestEnvironment *env(I965TestEnvironment::instance());
+    EXPECT_PTR(env);
+
+    struct i965_driver_data *i965(*env);
+    EXPECT_PTR(i965);
+
+    if (!HAS_H264_MVC_DECODING_PROFILE(i965, VAProfileH264StereoHigh))
         return ProfileNotSupported();
 
     return EntrypointNotSupported();
@@ -164,6 +178,20 @@ VAStatus HasMVCEncodeSupport()
     return H264MVCNotSupported();
 }
 
+VAStatus HasStereoEncodeSupport()
+{
+    I965TestEnvironment *env(I965TestEnvironment::instance());
+    EXPECT_PTR(env);
+
+    struct i965_driver_data *i965(*env);
+    EXPECT_PTR(i965);
+
+    if (HAS_H264_MVC_ENCODING(i965))
+        return VA_STATUS_SUCCESS;
+
+    return H264StereoNotSupported();
+}
+
 static const std::vector<ConfigTestInput> inputs = {
     {VAProfileH264ConstrainedBaseline, VAEntrypointEncSlice, &HasEncodeSupport},
     {VAProfileH264ConstrainedBaseline, VAEntrypointEncSliceLP, &HasLPEncodeSupport},
@@ -185,10 +213,10 @@ static const std::vector<ConfigTestInput> inputs = {
     {VAProfileH264MultiviewHigh, VAEntrypointEncPicture, &H264MVCNotSupported},
     {VAProfileH264MultiviewHigh, VAEntrypointFEI, &H264MVCNotSupported},
 
-    {VAProfileH264StereoHigh, VAEntrypointEncSlice, &HasMVCEncodeSupport},
-    {VAProfileH264StereoHigh, VAEntrypointEncSliceLP, &H264MVCNotSupported},
-    {VAProfileH264StereoHigh, VAEntrypointEncPicture, &H264MVCNotSupported},
-    {VAProfileH264StereoHigh, VAEntrypointFEI, &H264MVCNotSupported},
+    {VAProfileH264StereoHigh, VAEntrypointEncSlice, &HasStereoEncodeSupport},
+    {VAProfileH264StereoHigh, VAEntrypointEncSliceLP, &H264StereoNotSupported},
+    {VAProfileH264StereoHigh, VAEntrypointEncPicture, &H264StereoNotSupported},
+    {VAProfileH264StereoHigh, VAEntrypointFEI, &H264StereoNotSupported},
 };
 
 INSTANTIATE_TEST_CASE_P(