#ifndef VA_TRACE_H
#define VA_TRACE_H
#ifdef __cplusplus
extern "C" {
#endif
extern int trace_flag;
#define VA_TRACE_FLAG_LOG 0x1
#define VA_TRACE_FLAG_BUFDATA 0x2
#define VA_TRACE_FLAG_CODEDBUF 0x4
#define VA_TRACE_FLAG_SURFACE_DECODE 0x8
#define VA_TRACE_FLAG_SURFACE_ENCODE 0x10
#define VA_TRACE_FLAG_SURFACE_JPEG 0x20
#define VA_TRACE_FLAG_SURFACE (VA_TRACE_FLAG_SURFACE_DECODE | \
VA_TRACE_FLAG_SURFACE_ENCODE | \
VA_TRACE_FLAG_SURFACE_JPEG)
#define VA_TRACE_LOG(trace_func,...) \
if (trace_flag & VA_TRACE_FLAG_LOG) { \
trace_func(__VA_ARGS__); \
}
#define VA_TRACE_SURFACE(trace_func,...) \
if (trace_flag & (VA_TRACE_FLAG_SURFACE | VA_TRACE_FLAG_CODEDBUF)) { \
trace_func(__VA_ARGS__); \
}
void va_TraceInit(VADisplay dpy);
void va_TraceEnd(VADisplay dpy);
void va_TraceMsg(int idx, const char *msg, ...);
void va_TraceInitialize (
VADisplay dpy,
int *major_version,
int *minor_version
);
void va_TraceTerminate (
VADisplay dpy
);
void va_TraceCreateConfig(
VADisplay dpy,
VAProfile profile,
VAEntrypoint entrypoint,
VAConfigAttrib *attrib_list,
int num_attribs,
VAConfigID *config_id
);
void va_TraceCreateSurfaces(
VADisplay dpy,
int width,
int height,
int format,
int num_surfaces,
VASurfaceID *surfaces,
VASurfaceAttrib *attrib_list,
unsigned int num_attribs
);
void va_TraceCreateContext(
VADisplay dpy,
VAConfigID config_id,
int picture_width,
int picture_height,
int flag,
VASurfaceID *render_targets,
int num_render_targets,
VAContextID *context
);
void va_TraceCreateBuffer (
VADisplay dpy,
VAContextID context,
VABufferType type,
unsigned int size,
unsigned int num_elements,
void *data,
VABufferID *buf_id
);
void va_TraceDestroyBuffer (
VADisplay dpy,
VABufferID buf_id
);
void va_TraceMapBuffer (
VADisplay dpy,
VABufferID buf_id,
void **pbuf
);
void va_TraceBeginPicture(
VADisplay dpy,
VAContextID context,
VASurfaceID render_target
);
void va_TraceRenderPicture(
VADisplay dpy,
VAContextID context,
VABufferID *buffers,
int num_buffers
);
void va_TraceEndPicture(
VADisplay dpy,
VAContextID context,
int endpic_done
);
void va_TraceSyncSurface(
VADisplay dpy,
VASurfaceID render_target
);
void va_TraceQuerySurfaceStatus(
VADisplay dpy,
VASurfaceID render_target,
VASurfaceStatus *status
);
void va_TraceQuerySurfaceError(
VADisplay dpy,
VASurfaceID surface,
VAStatus error_status,
void **error_info
);
void va_TraceMaxNumDisplayAttributes (
VADisplay dpy,
int number
);
void va_TraceQueryDisplayAttributes (
VADisplay dpy,
VADisplayAttribute *attr_list,
int *num_attributes
);
void va_TraceGetDisplayAttributes (
VADisplay dpy,
VADisplayAttribute *attr_list,
int num_attributes
);
void va_TraceSetDisplayAttributes (
VADisplay dpy,
VADisplayAttribute *attr_list,
int num_attributes
);
void va_TracePutSurface (
VADisplay dpy,
VASurfaceID surface,
void *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
);
#ifdef __cplusplus
}
#endif
#endif