diff options
-rw-r--r-- | va/va.c | 1 | ||||
-rw-r--r-- | va/va_trace.c | 76 | ||||
-rw-r--r-- | va/va_trace.h | 80 |
3 files changed, 123 insertions, 34 deletions
@@ -25,6 +25,7 @@ #define _GNU_SOURCE 1 #include "va.h" #include "va_backend.h" +#include "va_trace.h" #include "config.h" #include <assert.h> diff --git a/va/va_trace.c b/va/va_trace.c index 1713f27..4589a48 100644 --- a/va/va_trace.c +++ b/va/va_trace.c @@ -25,6 +25,7 @@ #define _GNU_SOURCE 1 #include "va.h" #include "va_backend.h" +#include "va_trace.h" #include <assert.h> #include <stdarg.h> @@ -48,7 +49,34 @@ static unsigned int trace_slice; static unsigned int trace_width; static unsigned int trace_height; -int va_TraceInit(void) +/* Prototypes (functions defined in va.c) */ +VAStatus vaBufferInfo ( + VADisplay dpy, + VAContextID context, /* in */ + VABufferID buf_id, /* in */ + VABufferType *type, /* out */ + unsigned int *size, /* out */ + unsigned int *num_elements /* out */ +); + +VAStatus vaLockSurface(VADisplay dpy, + VASurfaceID surface, + unsigned int *fourcc, /* following are output argument */ + unsigned int *luma_stride, + unsigned int *chroma_u_stride, + unsigned int *chroma_v_stride, + unsigned int *luma_offset, + unsigned int *chroma_u_offset, + unsigned int *chroma_v_offset, + unsigned int *buffer_name, + void **buffer +); + +VAStatus vaUnlockSurface(VADisplay dpy, + VASurfaceID surface +); + +void va_TraceInit(void) { trace_file = (const char *)getenv("LIBVA_TRACE"); if (trace_file) { @@ -58,7 +86,7 @@ int va_TraceInit(void) } } -int va_TraceEnd(void) +void va_TraceEnd(void) { if (trace_file && trace_fp) { fclose(trace_fp); @@ -73,7 +101,7 @@ int va_TraceEnd(void) } } -int va_TraceMsg(const char *msg, ...) +void va_TraceMsg(const char *msg, ...) { va_list args; @@ -87,7 +115,7 @@ int va_TraceMsg(const char *msg, ...) } -int va_TraceCreateConfig( +void va_TraceCreateConfig( VADisplay dpy, VAProfile profile, VAEntrypoint entrypoint, @@ -110,7 +138,7 @@ int va_TraceCreateConfig( } -int va_TraceCreateSurface( +void va_TraceCreateSurface( VADisplay dpy, int width, int height, @@ -131,7 +159,7 @@ int va_TraceCreateSurface( } -int va_TraceCreateContext( +void va_TraceCreateContext( VADisplay dpy, VAConfigID config_id, int picture_width, @@ -721,7 +749,7 @@ static void va_TraceVASliceParameterBufferVC1( va_TraceMsg (" slice_vertical_position = %d\n", p->slice_vertical_position); } -int va_TraceBeginPicture( +void va_TraceBeginPicture( VADisplay dpy, VAContextID context, VASurfaceID render_target @@ -738,16 +766,7 @@ int va_TraceBeginPicture( trace_slice = 0; } -VAStatus vaBufferInfo ( - VADisplay dpy, - VAContextID context, /* in */ - VABufferID buf_id, /* in */ - VABufferType *type, /* out */ - unsigned int *size, /* out */ - unsigned int *num_elements /* out */ -); - -static int va_TraceMPEG2Buf( +static void va_TraceMPEG2Buf( VADisplay dpy, VAContextID context, VABufferID buffer, @@ -798,12 +817,9 @@ static int va_TraceMPEG2Buf( case VAEncH264SEIBufferType: break; } - - return 0; } - -static int va_TraceMPEG4Buf( +static void va_TraceMPEG4Buf( VADisplay dpy, VAContextID context, VABufferID buffer, @@ -856,13 +872,10 @@ static int va_TraceMPEG4Buf( default: break; } - - - return 0; } -static int va_TraceH264Buf( +static void va_TraceH264Buf( VADisplay dpy, VAContextID context, VABufferID buffer, @@ -915,13 +928,10 @@ static int va_TraceH264Buf( default: break; } - - - return 0; } -static int va_TraceVC1Buf( +static void va_TraceVC1Buf( VADisplay dpy, VAContextID context, VABufferID buffer, @@ -974,11 +984,9 @@ static int va_TraceVC1Buf( default: break; } - - return 0; } -int va_TraceRenderPicture( +void va_TraceRenderPicture( VADisplay dpy, VAContextID context, VABufferID *buffers, @@ -1035,7 +1043,7 @@ int va_TraceRenderPicture( } -int va_TraceEndPicture( +void va_TraceEndPicture( VADisplay dpy, VAContextID context ) @@ -1066,7 +1074,7 @@ int va_TraceEndPicture( &luma_offset, &chroma_u_offset, &chroma_v_offset, &buffer_name, &buffer); if (va_status != VA_STATUS_SUCCESS) - return va_status; + return; va_TraceMsg("\tfourcc=0x%08x\n", fourcc); va_TraceMsg("\twidth=%d\n", trace_width); diff --git a/va/va_trace.h b/va/va_trace.h new file mode 100644 index 0000000..1c860e3 --- /dev/null +++ b/va/va_trace.h @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2009 Intel Corporation. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef VA_TRACE_H +#define VA_TRACE_H + +void va_TraceInit(void); +void va_TraceEnd(void); + +void va_TraceMsg(const char *msg, ...); + +void va_TraceCreateConfig( + VADisplay dpy, + VAProfile profile, + VAEntrypoint entrypoint, + VAConfigAttrib *attrib_list, + int num_attribs, + VAConfigID *config_id /* out */ +); + +void va_TraceCreateSurface( + VADisplay dpy, + int width, + int height, + int format, + int num_surfaces, + VASurfaceID *surfaces /* out */ +); + +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 /* out */ +); + +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 +); + +#endif /* VA_TRACE_H */ |