Skip to content
This repository was archived by the owner on Jan 31, 2025. It is now read-only.

Commit 3ed3f6a

Browse files
edwarddavidbakerxhaihao
authored andcommitted
Fix VP9.2 config verification
This commit addresses the following test_va_api failures collected on a Braswell with the hybrid codec enabled. Fixes #534. localhost ~ # test_va_api <snip> [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigWithAttributes/210, where GetParam() = (21:VAProfileVP9Profile2, 1:VAEntrypointVLD) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigWithAttributes/211, where GetParam() = (21:VAProfileVP9Profile2, 2:VAEntrypointIZZ) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigWithAttributes/212, where GetParam() = (21:VAProfileVP9Profile2, 3:VAEntrypointIDCT) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigWithAttributes/213, where GetParam() = (21:VAProfileVP9Profile2, 4:VAEntrypointMoComp) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigWithAttributes/214, where GetParam() = (21:VAProfileVP9Profile2, 5:VAEntrypointDeblocking) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigWithAttributes/215, where GetParam() = (21:VAProfileVP9Profile2, 6:VAEntrypointEncSlice) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigWithAttributes/216, where GetParam() = (21:VAProfileVP9Profile2, 7:VAEntrypointEncPicture) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigWithAttributes/217, where GetParam() = (21:VAProfileVP9Profile2, 8:VAEntrypointEncSliceLP) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigWithAttributes/218, where GetParam() = (21:VAProfileVP9Profile2, 10:VAEntrypointVideoProc) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigWithAttributes/219, where GetParam() = (21:VAProfileVP9Profile2, 11:VAEntrypointFEI) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigNoAttributes/210, where GetParam() = (21:VAProfileVP9Profile2, 1:VAEntrypointVLD) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigNoAttributes/211, where GetParam() = (21:VAProfileVP9Profile2, 2:VAEntrypointIZZ) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigNoAttributes/212, where GetParam() = (21:VAProfileVP9Profile2, 3:VAEntrypointIDCT) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigNoAttributes/213, where GetParam() = (21:VAProfileVP9Profile2, 4:VAEntrypointMoComp) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigNoAttributes/214, where GetParam() = (21:VAProfileVP9Profile2, 5:VAEntrypointDeblocking) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigNoAttributes/215, where GetParam() = (21:VAProfileVP9Profile2, 6:VAEntrypointEncSlice) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigNoAttributes/216, where GetParam() = (21:VAProfileVP9Profile2, 7:VAEntrypointEncPicture) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigNoAttributes/217, where GetParam() = (21:VAProfileVP9Profile2, 8:VAEntrypointEncSliceLP) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigNoAttributes/218, where GetParam() = (21:VAProfileVP9Profile2, 10:VAEntrypointVideoProc) [ FAILED ] GetCreateConfig/VAAPIGetCreateConfig.CreateConfigNoAttributes/219, where GetParam() = (21:VAProfileVP9Profile2, 11:VAEntrypointFEI) Signed-off-by: Ed Baker <[email protected]>
1 parent 88336a9 commit 3ed3f6a

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

src/i965_drv_video.c

+21-4
Original file line numberDiff line numberDiff line change
@@ -885,10 +885,6 @@ i965_validate_config(VADriverContextP ctx, VAProfile profile,
885885
profile == VAProfileVP9Profile0 &&
886886
entrypoint == VAEntrypointEncSliceLP)) {
887887
va_status = VA_STATUS_SUCCESS;
888-
} else if (profile == VAProfileVP9Profile0 &&
889-
entrypoint == VAEntrypointVLD &&
890-
i965->wrapper_pdrvctx) {
891-
va_status = VA_STATUS_SUCCESS;
892888
} else if (!HAS_VP9_DECODING_PROFILE(i965, profile) &&
893889
!HAS_VP9_ENCODING(i965) &&
894890
!HAS_LP_VP9_ENCODING(i965) &&
@@ -898,6 +894,27 @@ i965_validate_config(VADriverContextP ctx, VAProfile profile,
898894
va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
899895
}
900896

897+
if (i965->wrapper_pdrvctx && va_status != VA_STATUS_SUCCESS) {
898+
VAEntrypoint wrapper_entrypoints[5] = {0};
899+
int32_t wrapper_num_entrypoints = 0;
900+
VADriverContextP pdrvctx = i965->wrapper_pdrvctx;
901+
902+
CALL_VTABLE(pdrvctx, va_status,
903+
vaQueryConfigEntrypoints(pdrvctx,
904+
profile,
905+
wrapper_entrypoints,
906+
&wrapper_num_entrypoints));
907+
908+
if (va_status == VA_STATUS_SUCCESS) {
909+
va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
910+
for (int i = 0; i < wrapper_num_entrypoints; i++) {
911+
if (entrypoint == wrapper_entrypoints[i]) {
912+
va_status = VA_STATUS_SUCCESS;
913+
}
914+
}
915+
}
916+
}
917+
901918
break;
902919

903920
default:

0 commit comments

Comments
 (0)