1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5//------------------------------------------------
6// Functions from libva used in chromium code.
7//------------------------------------------------
8VAStatus vaBeginPicture(VADisplay dpy, VAContextID context, VASurfaceID render_target);
9VAStatus vaCreateBuffer(VADisplay dpy, VAContextID context, VABufferType type, unsigned int size, unsigned int num_elements, void *data, VABufferID *buf_id);
10VAStatus vaCreateConfig(VADisplay dpy, VAProfile profile, VAEntrypoint entrypoint, VAConfigAttrib *attrib_list, int num_attribs, VAConfigID *config_id);
11VAStatus vaCreateContext(VADisplay dpy, VAConfigID config_id, int picture_width, int picture_height, int flag, VASurfaceID *render_targets, int num_render_targets, VAContextID *context);
12VAStatus vaCreateSurfaces(VADisplay dpy, unsigned int format, unsigned int width, unsigned int height, VASurfaceID *surfaces, unsigned int num_surfaces, VASurfaceAttrib *attrib_list, unsigned int num_attribs);
13VAStatus vaDeriveImage(VADisplay dpy, VASurfaceID surface, VAImage *image);
14VAStatus vaDestroyBuffer(VADisplay dpy, VABufferID buffer_id);
15VAStatus vaDestroyConfig(VADisplay dpy, VAConfigID config_id);
16VAStatus vaDestroyContext(VADisplay dpy, VAContextID context);
17VAStatus vaDestroyImage(VADisplay dpy, VAImageID image);
18VAStatus vaDestroySurfaces(VADisplay dpy, VASurfaceID *surfaces, int num_surfaces);
19int vaDisplayIsValid(VADisplay dpy);
20VAStatus vaEndPicture(VADisplay dpy, VAContextID context);
21const char *vaErrorStr(VAStatus error_status);
22VAStatus vaGetConfigAttributes(VADisplay dpy, VAProfile profile, VAEntrypoint entrypoint, VAConfigAttrib *attrib_list, int num_attribs);
23VAStatus vaInitialize(VADisplay dpy, int *major_version, int *minor_version);
24VAStatus vaMapBuffer(VADisplay dpy, VABufferID buf_id, void **pbuf);
25int vaMaxNumEntrypoints (VADisplay dpy);
26int vaMaxNumProfiles(VADisplay dpy);
27VAStatus vaQueryConfigEntrypoints (VADisplay dpy, VAProfile profile, VAEntrypoint *entrypoint_list, int *num_entrypoints);
28VAStatus vaQueryConfigProfiles(VADisplay dpy, VAProfile *profile_list, int *num_profiles);
29VAStatus vaRenderPicture(VADisplay dpy, VAContextID context, VABufferID *buffers, int num_buffers);
30VAStatus vaSetDisplayAttributes(VADisplay dpy, VADisplayAttribute *attr_list, int num_attributes);
31VAStatus vaSyncSurface(VADisplay dpy, VASurfaceID render_target);
32VAStatus vaTerminate(VADisplay dpy);
33VAStatus vaUnmapBuffer(VADisplay dpy, VABufferID buf_id);
34
35
36//------------------------------------------------
37// Functions from libva-x11 used in chromium code.
38//------------------------------------------------
39VADisplay vaGetDisplay(Display *dpy);
40VAStatus vaPutSurface(VADisplay dpy, VASurfaceID surface, Drawable draw, short srcx, short srcy, unsigned short srcw, unsigned short srch, short destx, short desty, unsigned short destw, unsigned short desth, VARectangle *cliprects, unsigned int number_cliprects, unsigned int flags);
41