[Libva] [PATCH] intel-vaapi: Add more checks for H264 decoding parameter to filter the unsupported clip
ykzhao
yakui.zhao at intel.com
Tue Jan 28 00:54:36 PST 2014
On Mon, 2014-01-27 at 22:15 -0700, Gwenole Beauchesne wrote:
> Hi,
>
> 2014-01-26 <yakui.zhao at intel.com>:
> > From: Zhao Yakui <yakui.zhao at intel.com>
> >
> > Signed-off-by: Yuan Feng <feng.yuan at intel.com>
> > Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
> > ---
> > src/i965_decoder_utils.c | 11 ++++++++++-
> > 1 file changed, 10 insertions(+), 1 deletion(-)
> >
> > diff --git a/src/i965_decoder_utils.c b/src/i965_decoder_utils.c
> > index cf7f60b..597d239 100644
> > --- a/src/i965_decoder_utils.c
> > +++ b/src/i965_decoder_utils.c
> > @@ -547,6 +547,7 @@ intel_update_vp8_frame_store_index(VADriverContextP ctx,
> >
> > static VAStatus
> > intel_decoder_check_avc_parameter(VADriverContextP ctx,
> > + VAProfile h264_profile,
> > struct decode_state *decode_state)
> > {
> > struct i965_driver_data *i965 = i965_driver_data(ctx);
> > @@ -566,6 +567,14 @@ intel_decoder_check_avc_parameter(VADriverContextP ctx,
> > if (pic_param->CurrPic.picture_id != decode_state->current_render_target)
> > goto error;
> >
> > + if ((h264_profile != VAProfileH264Baseline)) {
> > + if (pic_param->num_slice_groups_minus1 ||
> > + pic_param->pic_fields.bits.redundant_pic_cnt_present_flag) {
> > + WARN_ONCE("Unsupported the FMO/ASO constraints!!!\n");
> > + goto error;
> > + }
> > + }
> > +
>
>
> The hardware does not support support any of those features. So the
> check for profile != baseline is not needed and actually wrong.
Thanks for looking at this issue.
Currently the Baseline is not supported by the hardware. So the
"h264_profile != VAProfileH264Baseline" will always be true for
CBP/Main/High profile. Then it will check the above features to avoid
the unexpected behaviour that the upper application/middle sets the
wrong value for the Main/High profile.
But in fact we don't know whether the Baseline will be supported by the
future graphics. If the Baseline is supported, the above code can bypass
the above check for Baseline profile.
Thanks.
Yakui
>
> Regards,
> Gwenole.
More information about the Libva
mailing list