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