MJPEG Encoding will fail on more than just SNB - IVB, Haswell, Broadwell, etc. Make sure the tests identify the requisite platforms.
On Wed, Oct 19, 2016 at 6:25 AM, Xiang, Haihao <[email protected]> wrote: > > Neither JPEG decoding nor JPEG encoding is supported on SNB, JPEG cases > will fail on SNB if don't change JPEG cases accordingly. On the old g4x, > AVC cases will fail too. > > Thanks > Haihao > > > >-----Original Message----- > >From: Libva [mailto:[email protected]] On Behalf Of > Eoff, > >Ullysses A > >Sent: Wednesday, October 19, 2016 2:26 AM > >To: Charles, Daniel <[email protected]> > >Cc: [email protected] > >Subject: Re: [Libva] [PATCH][libva-intel-driver] i965_validate_config: > return > >unsupported profile > > > > > >> -----Original Message----- > >> From: Charles, Daniel [mailto:[email protected]] > >> Sent: Tuesday, October 18, 2016 11:09 AM > >> To: Eoff, Ullysses A <[email protected]> > >> Cc: [email protected] > >> Subject: Re: [Libva] [PATCH][libva-intel-driver] i965_validate_config: > return > >unsupported profile > >> > >> On Tue, Oct 18, 2016 at 10:48 AM, Eoff, Ullysses A > >> <[email protected]> wrote: > >> >> -----Original Message----- > >> >> From: Charles, Daniel [mailto:[email protected]] > >> >> Sent: Tuesday, October 18, 2016 10:20 AM > >> >> To: Eoff, Ullysses A <[email protected]> > >> >> Cc: [email protected] > >> >> Subject: Re: [Libva] [PATCH][libva-intel-driver] > i965_validate_config: > >return unsupported profile > >> >> > >> >> On Tue, Oct 18, 2016 at 8:25 AM, Eoff, Ullysses A > >> >> <[email protected]> wrote: > >> >> > Please run the tests... I suspect this patch will cause some to > fail. Those > >tests will need updated too. > >> >> > > >> >> > >> >> Ran the test suite on ToT, no regression found with this patch. > >> >> > >> > > >> > Ah yes, I see why now. The AVC and JPEG config tests still pass on > most > >HW because UNSUPPORTED_PROFILE is only returned if > >> *both* encode *and* decode are unsupported. Thus, if there is such HW > >that doesn't support one or the other then those tests will > >> be regressed. > >> > >> I am not sure I follow you here. > >> > >> Unsupported Profile is sent when neither encoder and decoder are > >> supported (VC1 is only decoder, VPP is a special case and VP9 decoder > >> can also be hybrid on some h/w). When h/w only supports one of them > >> (regardless which it is), it should return UNSUPPORTED_ENTRYPOINT as > >> profile is supported at least once. This patch is not changing this > >> last scenario. My testing was done on a h/w that has Jpeg Decoder but > >> no Jpeg Encoder and everything is okay. > >> > > > >Right now, there are tests for AVC and JPEG that create a config for > encode > >and decode entrypoints. Each test defines its own expected result of > >CreateConfig and compares with the actual result. If there is a platform > that > >doesn't support any of the entrypoints for AVC or JPEG, then the expected > >result will be calculated wrong (i.e. the test expectation is not taking > into > >account your new changes). (See i965_avce_config_test.cpp, > >i965_avcd_config_test.cpp, i965_jpege_config_test.cpp and > >i965_jpegd_config_test.cpp). > > > >U. Artie > > > >> -- > >> Daniel. > >> > > >> >> -- > >> >> Daniel. > >> >> > U. Artie > >> >> > > >> >> >> -----Original Message----- > >> >> >> From: Libva [mailto:[email protected]] On > Behalf > >Of Daniel Charles > >> >> >> Sent: Monday, October 17, 2016 5:45 PM > >> >> >> To: [email protected] > >> >> >> Subject: [Libva] [PATCH][libva-intel-driver] i965_validate_config: > >return unsupported profile > >> >> >> > >> >> >> When all the profiles are not supported return > >> >> >> VA_STATUS_ERROR_UNSUPPORTED_PROFILE instead of > >> >> >> VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT. > >> >> >> > >> >> >> Also change the style on the code modified to be common > >> >> >> on all cases > >> >> >> > >> >> >> Signed-off-by: Daniel Charles <[email protected]> > >> >> >> --- > >> >> >> src/i965_drv_video.c | 49 > >++++++++++++++++++++++++++++++++++++++++--------- > >> >> >> 1 file changed, 40 insertions(+), 9 deletions(-) > >> >> >> > >> >> >> diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c > >> >> >> index fbf2cda..0830ae0 100644 > >> >> >> --- a/src/i965_drv_video.c > >> >> >> +++ b/src/i965_drv_video.c > >> >> >> @@ -711,6 +711,8 @@ i965_validate_config(VADriverContextP ctx, > >VAProfile profile, > >> >> >> if ((HAS_MPEG2_DECODING(i965) && entrypoint == > >VAEntrypointVLD) || > >> >> >> (HAS_MPEG2_ENCODING(i965) && entrypoint == > >VAEntrypointEncSlice)) { > >> >> >> va_status = VA_STATUS_SUCCESS; > >> >> >> + } else if (!HAS_MPEG2_DECODING(i965) > >&& !HAS_MPEG2_ENCODING(i965)){ > >> >> >> + va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE; > >> >> >> } else { > >> >> >> va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT; > >> >> >> } > >> >> >> @@ -723,6 +725,9 @@ i965_validate_config(VADriverContextP ctx, > >VAProfile profile, > >> >> >> (HAS_H264_ENCODING(i965) && entrypoint == > >VAEntrypointEncSlice) || > >> >> >> (HAS_LP_H264_ENCODING(i965) && entrypoint == > >VAEntrypointEncSliceLP)) { > >> >> >> va_status = VA_STATUS_SUCCESS; > >> >> >> + } else if (!HAS_H264_DECODING(i965) > >&& !HAS_H264_ENCODING(i965) && > >> >> >> + !HAS_LP_H264_ENCODING(i965)){ > >> >> >> + va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE; > >> >> >> } else { > >> >> >> va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT; > >> >> >> } > >> >> >> @@ -733,6 +738,8 @@ i965_validate_config(VADriverContextP ctx, > >VAProfile profile, > >> >> >> case VAProfileVC1Advanced: > >> >> >> if (HAS_VC1_DECODING(i965) && entrypoint == > >VAEntrypointVLD) { > >> >> >> va_status = VA_STATUS_SUCCESS; > >> >> >> + } else if (!HAS_VC1_DECODING(i965)) { > >> >> >> + va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE; > >> >> >> } else { > >> >> >> va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT; > >> >> >> } > >> >> >> @@ -741,6 +748,8 @@ i965_validate_config(VADriverContextP ctx, > >VAProfile profile, > >> >> >> case VAProfileNone: > >> >> >> if (HAS_VPP(i965) && VAEntrypointVideoProc == > entrypoint) { > >> >> >> va_status = VA_STATUS_SUCCESS; > >> >> >> + } else if (!HAS_VPP(i965)){ > >> >> >> + va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE; > >> >> >> } else { > >> >> >> va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT; > >> >> >> } > >> >> >> @@ -750,6 +759,8 @@ i965_validate_config(VADriverContextP ctx, > >VAProfile profile, > >> >> >> if ((HAS_JPEG_DECODING(i965) && entrypoint == > >VAEntrypointVLD) || > >> >> >> (HAS_JPEG_ENCODING(i965) && entrypoint == > >VAEntrypointEncPicture)) { > >> >> >> va_status = VA_STATUS_SUCCESS; > >> >> >> + } else if (!HAS_JPEG_DECODING(i965) > >&& !HAS_JPEG_ENCODING(i965)){ > >> >> >> + va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE; > >> >> >> } else { > >> >> >> va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT; > >> >> >> } > >> >> >> @@ -759,6 +770,8 @@ i965_validate_config(VADriverContextP ctx, > >VAProfile profile, > >> >> >> if ((HAS_VP8_DECODING(i965) && entrypoint == > >VAEntrypointVLD) || > >> >> >> (HAS_VP8_ENCODING(i965) && entrypoint == > >VAEntrypointEncSlice)) { > >> >> >> va_status = VA_STATUS_SUCCESS; > >> >> >> + } else if (!HAS_VP8_DECODING(i965) > >&& !HAS_VP8_ENCODING(i965)){ > >> >> >> + va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE; > >> >> >> } else { > >> >> >> va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT; > >> >> >> } > >> >> >> @@ -768,8 +781,12 @@ i965_validate_config(VADriverContextP ctx, > >VAProfile profile, > >> >> >> case VAProfileH264StereoHigh: > >> >> >> if ((HAS_H264_MVC_DECODING_PROFILE(i965, profile) && > >> >> >> entrypoint == VAEntrypointVLD) || > >> >> >> - (HAS_H264_MVC_ENCODING(i965) && entrypoint == > >VAEntrypointEncSlice)) { > >> >> >> + (HAS_H264_MVC_ENCODING(i965) && > >> >> >> + entrypoint == VAEntrypointEncSlice)) { > >> >> >> va_status = VA_STATUS_SUCCESS; > >> >> >> + } else if(!HAS_H264_MVC_DECODING_PROFILE(i965, profile) > && > >> >> >> + !HAS_H264_MVC_ENCODING(i965)) { > >> >> >> + va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE; > >> >> >> } else { > >> >> >> va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT; > >> >> >> } > >> >> >> @@ -778,32 +795,46 @@ i965_validate_config(VADriverContextP ctx, > >VAProfile profile, > >> >> >> > >> >> >> case VAProfileHEVCMain: > >> >> >> if ((HAS_HEVC_DECODING(i965) && (entrypoint == > >VAEntrypointVLD))|| > >> >> >> - (HAS_HEVC_ENCODING(i965) && (entrypoint == > >VAEntrypointEncSlice))) > >> >> >> + (HAS_HEVC_ENCODING(i965) && (entrypoint == > >VAEntrypointEncSlice))) { > >> >> >> va_status = VA_STATUS_SUCCESS; > >> >> >> - else > >> >> >> + } else if (!HAS_HEVC_DECODING(i965) > >&& !HAS_HEVC_ENCODING(i965)) { > >> >> >> + va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE; > >> >> >> + } else { > >> >> >> va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT; > >> >> >> + } > >> >> >> > >> >> >> break; > >> >> >> > >> >> >> case VAProfileHEVCMain10: > >> >> >> if ((HAS_HEVC10_DECODING(i965) && (entrypoint == > >VAEntrypointVLD))|| > >> >> >> - (HAS_HEVC10_ENCODING(i965) && (entrypoint == > >VAEntrypointEncSlice))) > >> >> >> + (HAS_HEVC10_ENCODING(i965) && > >> >> >> + (entrypoint == VAEntrypointEncSlice))) { > >> >> >> va_status = VA_STATUS_SUCCESS; > >> >> >> - else > >> >> >> + } else if (!HAS_HEVC10_DECODING(i965) > >&& !HAS_HEVC10_ENCODING(i965)) { > >> >> >> + va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE; > >> >> >> + } else { > >> >> >> va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT; > >> >> >> + } > >> >> >> > >> >> >> break; > >> >> >> > >> >> >> case VAProfileVP9Profile0: > >> >> >> case VAProfileVP9Profile2: > >> >> >> - if ((HAS_VP9_DECODING_PROFILE(i965, profile)) && > (entrypoint > >== VAEntrypointVLD)) > >> >> >> + if ((HAS_VP9_DECODING_PROFILE(i965, profile)) && > >> >> >> + (entrypoint == VAEntrypointVLD)) { > >> >> >> va_status = VA_STATUS_SUCCESS; > >> >> >> - else if ((HAS_VP9_ENCODING(i965)) && (entrypoint == > >VAEntrypointEncSlice)) > >> >> >> + } else if ((HAS_VP9_ENCODING(i965)) && > >> >> >> + (entrypoint == VAEntrypointEncSlice)) { > >> >> >> va_status = VA_STATUS_SUCCESS; > >> >> >> - else if ((profile == VAProfileVP9Profile0) && i965- > >>wrapper_pdrvctx) > >> >> >> + } else if (profile == VAProfileVP9Profile0 && i965- > >>wrapper_pdrvctx) { > >> >> >> va_status = VA_STATUS_SUCCESS; > >> >> >> - else > >> >> >> + } else if(!HAS_VP9_DECODING_PROFILE(i965, profile) && > >> >> >> + !HAS_VP9_ENCODING(i965) && > !i965->wrapper_pdrvctx) { > >> >> >> + va_status = VA_STATUS_ERROR_UNSUPPORTED_PROFILE; > >> >> >> + } else { > >> >> >> va_status = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT; > >> >> >> + } > >> >> >> + > >> >> >> break; > >> >> >> > >> >> >> default: > >> >> >> -- > >> >> >> 2.5.5 > >> >> >> > >> >> >> _______________________________________________ > >> >> >> Libva mailing list > >> >> >> [email protected] > >> >> >> https://lists.freedesktop.org/mailman/listinfo/libva > >_______________________________________________ > >Libva mailing list > >[email protected] > >https://lists.freedesktop.org/mailman/listinfo/libva > _______________________________________________ > Libva mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/libva > -- Sean V. Kelley <[email protected]> Open Source Technology Center / SSG Intel Corp.
_______________________________________________ Libva mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libva
