[Libva] problem when tiling is disabled on decoded surfaces

Sean V Kelley sean.v.kelley at intel.com
Fri Oct 7 18:13:01 UTC 2016


On Fri, Oct 7, 2016 at 11:00 AM, Sean V Kelley <sean.v.kelley at intel.com> wrote:
> On Thu, Oct 6, 2016 at 1:20 AM, Julien Isorce <julien.isorce at gmail.com> wrote:
>> Hi,
>>
>> In intel vaapi driver I tried disabling tiling with:
>>
>> ---   a/src/i965_drv_video.c
>> +++ b/src/i965_drv_video.c
>> @@ -1534,7 +1534,7 @@ i965_CreateSurfaces2(
>>          obj_surface->orig_height = height;
>> -        obj_surface->user_disable_tiling = false;
>> +       obj_surface->user_disable_tiling = true;
>>          obj_surface->user_h_stride_set = false;
>>
>> But then gst-launch-1.0 filesrc location=~/Downloads/simpson.mp4 ! qtdemux !
>> vaapih264dec ! xvimagesink shows garbage, like if the memory was still
>> tiled.
>>
>
> We implemented disable tiling for a very specific purpose.  We were
> sharing surfaces decoded via Imagination Tech driver on a Baytrail,
> and wrapped that for the X11 backend rendering.  I was using two
> drivers (IMG and GEN).
> At the time, the driver assumed that all surfaces were tiled.  Since
> IMG was not tiled, we needed a way to pass through.  I'll look at this
> more closely.
>
> But for hardware GEN decoding we assume the surface to be tiled.  The
> intent was never to allow disabling tilint for purposes of actual h264
> decode.

The GEN hardware really only uses the tiling format for
decoding/encoding.  The flag
is historical and used with other drivers (remember VA-API can be used
with IMG).  In my
case I triggered it by our having added a new VA memory type for when
I needed to share surfaces.

But again, we don't decode non-tiled.  We simply give you the
flexibility to create those surfaces non-tiled
for historical and conversion reasons as the one above I gave you.

Sean


>
> I'll have to refresh my memory a bit.  I'll let Haihao chime in.
>
> Sean
>
>
>> I tried to debug it and but all calls to dri_bo_get_tiling returns
>> I915_TILING_NONE as expected.
>>
>> Also see vainfo output below.
>>
>> Thx
>> Julien
>>
>> libva info: VA-API version 0.39.4
>> libva info: va_getDriverName() returns 0
>> libva info: Trying to open
>> /home/julien/gst/master/prefix/lib/dri/i965_drv_video.so
>> libva info: Found init function __vaDriverInit_0_39
>> libva info: va_openDriver() returns 0
>> vainfo: VA-API version: 0.39 (libva 1.7.3.pre1)
>> vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile -
>> 1.7.3.pre1 (1.7.2-115-gfa3d1c3)
>> vainfo: Supported profile and entrypoints
>>       VAProfileMPEG2Simple            :    VAEntrypointVLD
>>       VAProfileMPEG2Simple            :    VAEntrypointEncSlice
>>       VAProfileMPEG2Main              :    VAEntrypointVLD
>>       VAProfileMPEG2Main              :    VAEntrypointEncSlice
>>       VAProfileH264ConstrainedBaseline:    VAEntrypointVLD
>>       VAProfileH264ConstrainedBaseline:    VAEntrypointEncSlice
>>       VAProfileH264Main               :    VAEntrypointVLD
>>       VAProfileH264Main               :    VAEntrypointEncSlice
>>       VAProfileH264High               :    VAEntrypointVLD
>>       VAProfileH264High               :    VAEntrypointEncSlice
>>       VAProfileH264MultiviewHigh      :    VAEntrypointVLD
>>       VAProfileH264MultiviewHigh      :    VAEntrypointEncSlice
>>       VAProfileH264StereoHigh         :    VAEntrypointVLD
>>       VAProfileH264StereoHigh         :    VAEntrypointEncSlice
>>       VAProfileVC1Simple              :    VAEntrypointVLD
>>       VAProfileVC1Main                :    VAEntrypointVLD
>>       VAProfileVC1Advanced            :    VAEntrypointVLD
>>       VAProfileNone                   :    VAEntrypointVideoProc
>>       VAProfileJPEGBaseline           :    VAEntrypointVLD
>>       VAProfileVP9Profile0            :    VAEntrypointVLD
>>
>> _______________________________________________
>> Libva mailing list
>> Libva at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/libva
>>
>
>
>
> --
> Sean V. Kelley <sean.v.kelley at intel.com>
> Open Source Technology Center / SSG
> Intel Corp.



-- 
Sean V. Kelley <sean.v.kelley at intel.com>
Open Source Technology Center / SSG
Intel Corp.


More information about the Libva mailing list