Blame va/va_trace.h

Packit Service 9402ce
/*
Packit Service 9402ce
 * Copyright (c) 2009 Intel Corporation. All Rights Reserved.
Packit Service 9402ce
 *
Packit Service 9402ce
 * Permission is hereby granted, free of charge, to any person obtaining a
Packit Service 9402ce
 * copy of this software and associated documentation files (the
Packit Service 9402ce
 * "Software"), to deal in the Software without restriction, including
Packit Service 9402ce
 * without limitation the rights to use, copy, modify, merge, publish,
Packit Service 9402ce
 * distribute, sub license, and/or sell copies of the Software, and to
Packit Service 9402ce
 * permit persons to whom the Software is furnished to do so, subject to
Packit Service 9402ce
 * the following conditions:
Packit Service 9402ce
 * 
Packit Service 9402ce
 * The above copyright notice and this permission notice (including the
Packit Service 9402ce
 * next paragraph) shall be included in all copies or substantial portions
Packit Service 9402ce
 * of the Software.
Packit Service 9402ce
 * 
Packit Service 9402ce
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
Packit Service 9402ce
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
Packit Service 9402ce
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
Packit Service 9402ce
 * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
Packit Service 9402ce
 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
Packit Service 9402ce
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
Packit Service 9402ce
 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Packit Service 9402ce
 */
Packit Service 9402ce
Packit Service 9402ce
#ifndef VA_TRACE_H
Packit Service 9402ce
#define VA_TRACE_H
Packit Service 9402ce
Packit Service 9402ce
#ifdef __cplusplus
Packit Service 9402ce
extern "C" {
Packit Service 9402ce
#endif
Packit Service 9402ce
Packit Service 9402ce
extern int va_trace_flag;
Packit Service 9402ce
Packit Service 9402ce
#define VA_TRACE_FLAG_LOG             0x1
Packit Service 9402ce
#define VA_TRACE_FLAG_BUFDATA         0x2
Packit Service 9402ce
#define VA_TRACE_FLAG_CODEDBUF        0x4
Packit Service 9402ce
#define VA_TRACE_FLAG_SURFACE_DECODE  0x8
Packit Service 9402ce
#define VA_TRACE_FLAG_SURFACE_ENCODE  0x10
Packit Service 9402ce
#define VA_TRACE_FLAG_SURFACE_JPEG    0x20
Packit Service 9402ce
#define VA_TRACE_FLAG_SURFACE         (VA_TRACE_FLAG_SURFACE_DECODE | \
Packit Service 9402ce
                                       VA_TRACE_FLAG_SURFACE_ENCODE | \
Packit Service 9402ce
                                       VA_TRACE_FLAG_SURFACE_JPEG)
Packit Service 9402ce
Packit Service 9402ce
#define VA_TRACE_LOG(trace_func,...)            \
Packit Service 9402ce
    if (va_trace_flag & VA_TRACE_FLAG_LOG) {    \
Packit Service 9402ce
        trace_func(__VA_ARGS__);                \
Packit Service 9402ce
    }
Packit Service 9402ce
#define VA_TRACE_ALL(trace_func,...)            \
Packit Service 9402ce
    if (va_trace_flag) {                        \
Packit Service 9402ce
        trace_func(__VA_ARGS__);                \
Packit Service 9402ce
    }
Packit Service 9402ce
#define VA_TRACE_RET(dpy,ret)                   \
Packit Service 9402ce
    if (va_trace_flag){                         \
Packit Service 9402ce
        va_TraceStatus(dpy, __func__, ret);     \
Packit Service 9402ce
    }
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceInit(VADisplay dpy);
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceEnd(VADisplay dpy);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceInitialize (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    int *major_version,	 /* out */
Packit Service 9402ce
    int *minor_version 	 /* out */
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceTerminate (
Packit Service 9402ce
    VADisplay dpy
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceCreateConfig(
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VAProfile profile, 
Packit Service 9402ce
    VAEntrypoint entrypoint, 
Packit Service 9402ce
    VAConfigAttrib *attrib_list,
Packit Service 9402ce
    int num_attribs,
Packit Service 9402ce
    VAConfigID *config_id /* out */
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceDestroyConfig (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VAConfigID config_id
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceCreateSurfaces(
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    int width,
Packit Service 9402ce
    int height,
Packit Service 9402ce
    int format,
Packit Service 9402ce
    int num_surfaces,
Packit Service 9402ce
    VASurfaceID *surfaces,	/* out */
Packit Service 9402ce
    VASurfaceAttrib    *attrib_list,
Packit Service 9402ce
    unsigned int        num_attribs
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceDestroySurfaces(
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VASurfaceID *surface_list,
Packit Service 9402ce
    int num_surfaces
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceCreateContext(
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VAConfigID config_id,
Packit Service 9402ce
    int picture_width,
Packit Service 9402ce
    int picture_height,
Packit Service 9402ce
    int flag,
Packit Service 9402ce
    VASurfaceID *render_targets,
Packit Service 9402ce
    int num_render_targets,
Packit Service 9402ce
    VAContextID *context		/* out */
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceDestroyContext (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VAContextID context
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceCreateMFContext (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VAContextID *mf_context	/* out */
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceMFAddContext (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VAMFContextID mf_context,
Packit Service 9402ce
    VAContextID context
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceMFReleaseContext (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VAMFContextID mf_context,
Packit Service 9402ce
    VAContextID context
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceMFSubmit (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VAMFContextID mf_context,
Packit Service 9402ce
    VAContextID *contexts,
Packit Service 9402ce
    int num_contexts
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceCreateBuffer (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VAContextID context,	/* in */
Packit Service 9402ce
    VABufferType type,		/* in */
Packit Service 9402ce
    unsigned int size,		/* in */
Packit Service 9402ce
    unsigned int num_elements,	/* in */
Packit Service 9402ce
    void *data,			/* in */
Packit Service 9402ce
    VABufferID *buf_id		/* out */
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceDestroyBuffer (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VABufferID buf_id    /* in */
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceMapBuffer (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VABufferID buf_id,	/* in */
Packit Service 9402ce
    void **pbuf 	/* out */
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceBeginPicture(
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VAContextID context,
Packit Service 9402ce
    VASurfaceID render_target
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceRenderPicture(
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VAContextID context,
Packit Service 9402ce
    VABufferID *buffers,
Packit Service 9402ce
    int num_buffers
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceEndPicture(
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VAContextID context,
Packit Service 9402ce
    int endpic_done
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceSyncSurface(
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VASurfaceID render_target
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceQuerySurfaceAttributes(
Packit Service 9402ce
    VADisplay           dpy,
Packit Service 9402ce
    VAConfigID          config,
Packit Service 9402ce
    VASurfaceAttrib    *attrib_list,
Packit Service 9402ce
    unsigned int       *num_attribs
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceQuerySurfaceStatus(
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VASurfaceID render_target,
Packit Service 9402ce
    VASurfaceStatus *status	/* out */
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceQuerySurfaceError(
Packit Service 9402ce
	VADisplay dpy,
Packit Service 9402ce
	VASurfaceID surface,
Packit Service 9402ce
	VAStatus error_status,
Packit Service 9402ce
	void **error_info /*out*/
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceMaxNumDisplayAttributes (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    int number
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceQueryDisplayAttributes (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VADisplayAttribute *attr_list,	/* out */
Packit Service 9402ce
    int *num_attributes			/* out */
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceGetDisplayAttributes (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VADisplayAttribute *attr_list,
Packit Service 9402ce
    int num_attributes
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
DLL_HIDDEN
Packit Service 9402ce
void va_TraceSetDisplayAttributes (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VADisplayAttribute *attr_list,
Packit Service 9402ce
    int num_attributes
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
/* extern function called by display side */
Packit Service 9402ce
void va_TracePutSurface (
Packit Service 9402ce
    VADisplay dpy,
Packit Service 9402ce
    VASurfaceID surface,
Packit Service 9402ce
    void *draw, /* the target Drawable */
Packit Service 9402ce
    short srcx,
Packit Service 9402ce
    short srcy,
Packit Service 9402ce
    unsigned short srcw,
Packit Service 9402ce
    unsigned short srch,
Packit Service 9402ce
    short destx,
Packit Service 9402ce
    short desty,
Packit Service 9402ce
    unsigned short destw,
Packit Service 9402ce
    unsigned short desth,
Packit Service 9402ce
    VARectangle *cliprects, /* client supplied clip list */
Packit Service 9402ce
    unsigned int number_cliprects, /* number of clip rects in the clip list */
Packit Service 9402ce
    unsigned int flags /* de-interlacing flags */
Packit Service 9402ce
);
Packit Service 9402ce
Packit Service 9402ce
void va_TraceStatus(VADisplay dpy, const char * funcName, VAStatus status);
Packit Service 9402ce
Packit Service 9402ce
#ifdef __cplusplus
Packit Service 9402ce
}
Packit Service 9402ce
#endif
Packit Service 9402ce
    
Packit Service 9402ce
Packit Service 9402ce
#endif /* VA_TRACE_H */