[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