On 10/08/2016 02:13 AM, Sean V Kelley wrote:
On Fri, Oct 7, 2016 at 11:00 AM, Sean V Kelley<[email protected]> wrote:
On Thu, Oct 6, 2016 at 1:20 AM, Julien Isorce<[email protected]> 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.
Hi, Julien
What Sean said is correct. When the surface is used for the
decoding, it should be tiled, which is the hardware requirement. If it
is non-tiled, the hardware can't work as expected.
The non-tiled surface can be used for the other purpose. For
example: buffer sharing (Some other componenets/driver wants to share
the NV12 buffer with libva driver. And it requires that it is non-tiled.
The default buffer for NV12 format is tiled. So one option is added so
that the non-tiled NV12 buffer is created).
BTW: the tiling or non-tiling surface is transparent to the upper
middleware. Although one tiling buffer is created internally, the upper
middleware can map it and then access it based on width/pitch.
Not sure whether it helps to clarify your concerns.
Thanks
Yakui
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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libva
--
Sean V. Kelley<[email protected]>
Open Source Technology Center / SSG
Intel Corp.
_______________________________________________
Libva mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libva