[Libva] vaCreateSurface fails

Xiang, Haihao haihao.xiang at intel.com
Mon Mar 31 00:17:50 PDT 2014


> Hello!
> 
> I`m trying to code h.264 encoding via libva (intel). As tutorial I`m using h264encoder test from libva.
> I have just copy project to NetBeans IDE (7.4 version). Not as C project, but as C++.
> Everything builds good, but at runtime program fails as VaCreateSurface (function setup_encode)
> 
> ...
>     /* create source surfaces */
>     va_status = vaCreateSurfaces(va_dpy,
>                                  VA_RT_FORMAT_YUV420, frame_width_mbaligned, frame_height_mbaligned,
>                                  &src_surface[0], SURFACE_NUM,
>                                  NULL, 0);
> 
>     CHECK_VASTATUS(va_status, "vaCreateSurfaces");
> ...
> 
> NetBeans project and call stack:
> 
> vaCreateSurfaces (dpy=0x68c540, format=480, width=1, height=640, surfaces=0x10, num_surfaces=6810816, attrib_list=0x0, attrib_list at entry=0x0, num_attribs=0, num_attribs at entry=0)   
> vaCreateSurfaces_0_32_0 (dpy=<optimized out>, width=<optimized out>, height=<optimized out>, format=<optimized out>, num_surfaces=<optimized out>, surfaces=<optimized out>)   
> setup_encode ()   
> main (argc=1, argv=0x7fffffffe238)    
> 
> As I understand vaCreateSurface calls vaCreateSurfaces_0_32_0

vaCreateSurfaces_0_32_0() calls vaCreateSurface() instead. Seems your
app was linked against an older version of vaCreateSurfaces() when
running. What is the command line to build your project ?

> BUT vaCreateSurfaces_0_32_0 has another arguments order
> vaCreateSurface ... format, width, height, ...
> vaCreateSurfaces_0_32_0 ... width, height, format, ...
> 



> Maybe error is here? I just haven`t any ideas
> 
> P.S. libva-1.3.0, intel driver (1.3.0), Haswell core i7 4770
> 




More information about the Libva mailing list