Hi,

2014-05-06 6:44 GMT+02:00 Xu, Guangxin <guangxin...@intel.com>:
> 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.

Yes, agreed. We cannot introduce changes in the VA driver, and nowhere
else either for sanity, that rely on environment variables. If you
don't want to use vaPutSurface(), then just don't use vaPutSurface()
and call vaSyncSurface() instead. :)

For mplayer purposes, there is a per-VO options mechanism that could
be used for example to notify the VO to not render at all. I don't say
that option exist, it needs to be written, but there is infrastructure
for per-VO options. That's the recommended way to do.

An alternative would be to use `ffmpeg' with VA/DRM backend. Though, I
don't know what you intend to benchmark to begin with.

Regards,
Gwenole.

> -----Original Message-----
> From: Libva [mailto:libva-boun...@lists.freedesktop.org] On Behalf Of Zhao 
> Yakui
> Sent: Tuesday, May 6, 2014 12:36 PM
> To: Xiang, Haihao
> Cc: z...@freedesktop.org; libva@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.z...@intel.com>
>> >
>> > Signed-off-by: Zhao Yakui <yakui.z...@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@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libva
> _______________________________________________
> Libva mailing list
> Libva@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libva
_______________________________________________
Libva mailing list
Libva@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libva

Reply via email to