#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_FUNC(trace_func,...) \
+ if (trace_flag) { \
+ trace_func(__VA_ARGS__); \
+ }
+#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, /* out */
+ int *minor_version /* out */
+);
+
+void va_TraceTerminate (
+ VADisplay dpy
+);
+
void va_TraceCreateConfig(
VADisplay dpy,
VAProfile profile,
VAConfigID *config_id /* out */
);
-void va_TraceCreateSurface(
+void va_TraceCreateSurfaces(
VADisplay dpy,
int width,
int height,
int format,
int num_surfaces,
- VASurfaceID *surfaces /* out */
+ VASurfaceID *surfaces, /* out */
+ VASurfaceAttrib *attrib_list,
+ unsigned int num_attribs
);
void va_TraceCreateContext(
void va_TraceEndPicture(
VADisplay dpy,
- VAContextID context
+ VAContextID context,
+ int endpic_done
+);
+
+void va_TraceSyncSurface(
+ VADisplay dpy,
+ VASurfaceID render_target
+);
+
+void va_TraceQuerySurfaceStatus(
+ VADisplay dpy,
+ VASurfaceID render_target,
+ VASurfaceStatus *status /* out */
+);
+
+void va_TraceQuerySurfaceError(
+ VADisplay dpy,
+ VASurfaceID surface,
+ VAStatus error_status,
+ void **error_info /*out*/
);
unsigned int flags /* de-interlacing flags */
);
-
+#ifdef __cplusplus
+}
+#endif
+
#endif /* VA_TRACE_H */