[Libva] [PATCH Libva-intel-driver] Add one option of bypassing rendering function to test decoding
Zhao Yakui
yakui.zhao at intel.com
Mon May 5 21:50:07 PDT 2014
On Mon, 2014-05-05 at 22:44 -0600, Xu, Guangxin wrote:
> Hi Yakui
> This will introduce side effect to normal case. It will search string in environment list. No matter INTEL_DECODE_BENCH defined or not.
Maybe the getenv("INTEL_DECODE_BENCH") will cost some time as it
searches env list. But compared with the time of rendering/decoding
operation, the cost time can almost be ignored.
>
>
> -----Original Message-----
> From: Libva [mailto:libva-bounces at lists.freedesktop.org] On Behalf Of Zhao Yakui
> Sent: Tuesday, May 6, 2014 12:36 PM
> To: Xiang, Haihao
> Cc: Zhao at freedesktop.org; libva at lists.freedesktop.org
> Subject: Re: [Libva] [PATCH Libva-intel-driver] Add one option of bypassing rendering function to test decoding
>
> On Mon, 2014-05-05 at 22:19 -0600, Xiang, Haihao wrote:
> > It would be better not to call vaPutSurface() in your benchmark if you
> > want to ignore rendering.
>
> Thanks for your review.
>
> It is also one solution. Currently the bench test is based on the mplayer-vaapi. In such case it is not easy to bypass the vaPutSurface.
> At the same time it also needs to add the function of waiting for the completion of decoding.
>
> >
> > Thanks
> > Haihao
> >
> >
> > > From: Zhao Yakui <yakui.zhao at intel.com>
> > >
> > > Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
> > > ---
> > > src/i965_drv_video.h | 3 +++
> > > src/i965_output_dri.c | 4 ++++
> > > 2 files changed, 7 insertions(+)
> > >
> > > diff --git a/src/i965_drv_video.h b/src/i965_drv_video.h index
> > > 0e32f7d..70755d2 100644
> > > --- a/src/i965_drv_video.h
> > > +++ b/src/i965_drv_video.h
> > > @@ -432,6 +432,9 @@ extern VAStatus i965_CreateSurfaces(VADriverContextP ctx,
> > > int format,
> > > int num_surfaces,
> > > VASurfaceID *surfaces);
> > > +extern VAStatus i965_SyncSurface(VADriverContextP ctx,
> > > + VASurfaceID render_target);
> > > +
> > >
> > > #define I965_SURFACE_MEM_NATIVE 0
> > > #define I965_SURFACE_MEM_GEM_FLINK 1
> > > diff --git a/src/i965_output_dri.c b/src/i965_output_dri.c index
> > > 717ee9a..645a7d1 100644
> > > --- a/src/i965_output_dri.c
> > > +++ b/src/i965_output_dri.c
> > > @@ -140,6 +140,10 @@ i965_put_surface_dri(
> > > if (!obj_surface || !obj_surface->bo)
> > > return VA_STATUS_SUCCESS;
> > >
> > > + if (getenv("INTEL_DECODE_BENCH")) {
> > > + i965_SyncSurface(ctx, surface);
> > > + return VA_STATUS_SUCCESS;
> > > + }
> > > _i965LockMutex(&i965->render_mutex);
> > >
> > > dri_drawable = dri_vtable->get_drawable(ctx, (Drawable)draw);
> >
> >
>
>
> _______________________________________________
> Libva mailing list
> Libva at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libva
More information about the Libva
mailing list