Please run the tests... I suspect this patch will cause some to fail. Those tests will need updated too.
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
