• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

hardware/intel/libva


Commit MetaInfo

Revisão708e9f06bd9bd0327fe1e7873c09811d8746844e (tree)
Hora2014-03-17 10:33:35
AutorAustin Yuan <shengquan.yuan@inte...>
CommiterXiang, Haihao

Mensagem de Log

vatrace/vafool: save the context data into display context

The static allocation of context data has issue in
multiple threads environment. Put the allocation into
display context strcuture

Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
(cherry picked from commit e1ab961b20583c6c54ad05e2fe6bab619462106f)

Conflicts:

va/va_trace.c

Mudança Sumário

Diff

--- a/va/va_backend.h
+++ b/va/va_backend.h
@@ -534,6 +534,8 @@ struct VADisplayContext
534534 );
535535
536536 void *opaque; /* opaque for display extensions (e.g. GLX) */
537+ void *vatrace; /* opaque for VA trace context */
538+ void *vafool; /* opaque for VA fool context */
537539 };
538540
539541 typedef VAStatus (*VADriverInit) (
--- a/va/va_fool.c
+++ b/va/va_fool.c
@@ -62,14 +62,10 @@
6262 int fool_codec = 0;
6363 int fool_postp = 0;
6464
65-#define FOOL_CONTEXT_MAX 4
66-
6765 #define FOOL_BUFID_MAGIC 0x12345600
6866 #define FOOL_BUFID_MASK 0xffffff00
69-/* per context settings */
70-static struct _fool_context {
71- VADisplay dpy; /* should use context as the key */
7267
68+struct fool_context {
7369 char *fn_enc;/* file pattern with codedbuf content for encode */
7470 char *segbuf_enc; /* the segment buffer of coded buffer, load frome fn_enc */
7571 int file_count;
@@ -89,17 +85,14 @@ static struct _fool_context {
8985 unsigned int fool_buf_element[VABufferTypeMax]; /* element count of created buffers */
9086 unsigned int fool_buf_count[VABufferTypeMax]; /* count of created buffers */
9187 VAContextID context;
92-} fool_context[FOOL_CONTEXT_MAX]; /* trace five context at the same time */
93-
94-#define DPY2INDEX(dpy) \
95- int idx; \
96- \
97- for (idx = 0; idx < FOOL_CONTEXT_MAX; idx++) \
98- if (fool_context[idx].dpy == dpy) \
99- break; \
100- \
101- if (idx == FOOL_CONTEXT_MAX) \
102- return 0; /* let driver go */
88+};
89+
90+#define FOOL_CTX(dpy) ((struct fool_context *)((VADisplayContextP)dpy)->vafool)
91+#define DPY2FOOLCTX(dpy) \
92+ struct fool_context *fool_ctx = FOOL_CTX(dpy); \
93+ \
94+ if (fool_ctx == NULL) \
95+ return 0; /* let driver go */ \
10396
10497 /* Prototype declarations (functions defined in va.c) */
10598
@@ -113,14 +106,11 @@ void va_FoolInit(VADisplay dpy)
113106 char env_value[1024];
114107 int fool_index = 0;
115108
116- for (fool_index = 0; fool_index < FOOL_CONTEXT_MAX; fool_index++)
117- if (fool_context[fool_index].dpy == 0)
118- break;
119-
120- if (fool_index == FOOL_CONTEXT_MAX)
109+ struct fool_context *fool_ctx = calloc(sizeof(struct fool_context), 1);
110+
111+ if (fool_ctx == NULL)
121112 return;
122-
123- memset(&fool_context[fool_index], 0, sizeof(struct _fool_context));
113+
124114 if (va_parseConfig("LIBVA_FOOL_POSTP", NULL) == 0) {
125115 fool_postp = 1;
126116 va_infoMessage("LIBVA_FOOL_POSTP is on, dummy vaPutSurface\n");
@@ -132,41 +122,41 @@ void va_FoolInit(VADisplay dpy)
132122 }
133123 if (va_parseConfig("LIBVA_FOOL_ENCODE", &env_value[0]) == 0) {
134124 fool_codec |= VA_FOOL_FLAG_ENCODE;
135- fool_context[fool_index].fn_enc = strdup(env_value);
125+ fool_ctx->fn_enc = strdup(env_value);
136126 va_infoMessage("LIBVA_FOOL_ENCODE is on, load encode data from file with patten %s\n",
137- fool_context[fool_index].fn_enc);
127+ fool_ctx->fn_enc);
138128 }
139129 if (va_parseConfig("LIBVA_FOOL_JPEG", &env_value[0]) == 0) {
140130 fool_codec |= VA_FOOL_FLAG_JPEG;
141- fool_context[fool_index].fn_jpg = strdup(env_value);
131+ fool_ctx->fn_jpg = strdup(env_value);
142132 va_infoMessage("LIBVA_FOOL_JPEG is on, load encode data from file with patten %s\n",
143- fool_context[fool_index].fn_jpg);
133+ fool_ctx->fn_jpg);
144134 }
145135
146- if (fool_codec)
147- fool_context[fool_index].dpy = dpy;
136+ ((VADisplayContextP)dpy)->vafool = fool_ctx;
148137 }
149138
150139
151140 int va_FoolEnd(VADisplay dpy)
152141 {
153142 int i;
154- DPY2INDEX(dpy);
143+ DPY2FOOLCTX(dpy);
155144
156145 for (i = 0; i < VABufferTypeMax; i++) {/* free memory */
157- if (fool_context[idx].fool_buf[i])
158- free(fool_context[idx].fool_buf[i]);
146+ if (fool_ctx->fool_buf[i])
147+ free(fool_ctx->fool_buf[i]);
159148 }
160- if (fool_context[idx].segbuf_enc)
161- free(fool_context[idx].segbuf_enc);
162- if (fool_context[idx].segbuf_jpg)
163- free(fool_context[idx].segbuf_jpg);
164- if (fool_context[idx].fn_enc)
165- free(fool_context[idx].fn_enc);
166- if (fool_context[idx].fn_jpg)
167- free(fool_context[idx].fn_jpg);
168-
169- memset(&fool_context[idx], 0, sizeof(struct _fool_context));
149+ if (fool_ctx->segbuf_enc)
150+ free(fool_ctx->segbuf_enc);
151+ if (fool_ctx->segbuf_jpg)
152+ free(fool_ctx->segbuf_jpg);
153+ if (fool_ctx->fn_enc)
154+ free(fool_ctx->fn_enc);
155+ if (fool_ctx->fn_jpg)
156+ free(fool_ctx->fn_jpg);
157+
158+ free(fool_ctx);
159+ ((VADisplayContextP)dpy)->vafool = NULL;
170160
171161 return 0;
172162 }
@@ -181,9 +171,9 @@ int va_FoolCreateConfig(
181171 VAConfigID *config_id /* out */
182172 )
183173 {
184- DPY2INDEX(dpy);
174+ DPY2FOOLCTX(dpy);
185175
186- fool_context[idx].entrypoint = entrypoint;
176+ fool_ctx->entrypoint = entrypoint;
187177
188178 /*
189179 * check fool_codec to align with current context
@@ -214,16 +204,16 @@ VAStatus va_FoolCreateBuffer(
214204 {
215205 unsigned int new_size = size * num_elements;
216206 unsigned int old_size;
217- DPY2INDEX(dpy);
207+ DPY2FOOLCTX(dpy);
218208
219- old_size = fool_context[idx].fool_buf_size[type] * fool_context[idx].fool_buf_element[type];
209+ old_size = fool_ctx->fool_buf_size[type] * fool_ctx->fool_buf_element[type];
220210
221211 if (old_size < new_size)
222- fool_context[idx].fool_buf[type] = realloc(fool_context[idx].fool_buf[type], new_size);
212+ fool_ctx->fool_buf[type] = realloc(fool_ctx->fool_buf[type], new_size);
223213
224- fool_context[idx].fool_buf_size[type] = size;
225- fool_context[idx].fool_buf_element[type] = num_elements;
226- fool_context[idx].fool_buf_count[type]++;
214+ fool_ctx->fool_buf_size[type] = size;
215+ fool_ctx->fool_buf_element[type] = num_elements;
216+ fool_ctx->fool_buf_count[type]++;
227217 /* because we ignore the vaRenderPicture,
228218 * all buffers with same type share same real memory
229219 * bufferID = (magic number) | type
@@ -242,19 +232,19 @@ VAStatus va_FoolBufferInfo(
242232 )
243233 {
244234 unsigned int magic = buf_id & FOOL_BUFID_MASK;
245- DPY2INDEX(dpy);
235+ DPY2FOOLCTX(dpy);
246236
247237 if (magic != FOOL_BUFID_MAGIC)
248238 return 0;
249239
250240 *type = buf_id & 0xff;
251- *size = fool_context[idx].fool_buf_size[*type];
252- *num_elements = fool_context[idx].fool_buf_element[*type];;
241+ *size = fool_ctx->fool_buf_size[*type];
242+ *num_elements = fool_ctx->fool_buf_element[*type];;
253243
254244 return 1; /* don't call into driver */
255245 }
256246
257-static int va_FoolFillCodedBufEnc(int idx)
247+static int va_FoolFillCodedBufEnc(struct fool_context *fool_ctx)
258248 {
259249 char file_name[1024];
260250 struct stat file_stat = {0};
@@ -264,67 +254,67 @@ static int va_FoolFillCodedBufEnc(int idx)
264254 /* try file_name.file_count, if fail, try file_name.file_count-- */
265255 for (i=0; i<=1; i++) {
266256 snprintf(file_name, 1024, "%s.%d",
267- fool_context[idx].fn_enc,
268- fool_context[idx].file_count);
257+ fool_ctx->fn_enc,
258+ fool_ctx->file_count);
269259
270260 if ((fd = open(file_name, O_RDONLY)) != -1) {
271261 fstat(fd, &file_stat);
272- fool_context[idx].file_count++; /* open next file */
262+ fool_ctx->file_count++; /* open next file */
273263 break;
274264 } else /* fall back to the first file file */
275- fool_context[idx].file_count = 0;
265+ fool_ctx->file_count = 0;
276266 }
277267 if (fd != -1) {
278- fool_context[idx].segbuf_enc = realloc(fool_context[idx].segbuf_enc, file_stat.st_size);
279- read(fd, fool_context[idx].segbuf_enc, file_stat.st_size);
268+ fool_ctx->segbuf_enc = realloc(fool_ctx->segbuf_enc, file_stat.st_size);
269+ read(fd, fool_ctx->segbuf_enc, file_stat.st_size);
280270 close(fd);
281271 } else
282272 va_errorMessage("Open file %s failed:%s\n", file_name, strerror(errno));
283273
284- codedbuf = (VACodedBufferSegment *)fool_context[idx].fool_buf[VAEncCodedBufferType];
274+ codedbuf = (VACodedBufferSegment *)fool_ctx->fool_buf[VAEncCodedBufferType];
285275 codedbuf->size = file_stat.st_size;
286276 codedbuf->bit_offset = 0;
287277 codedbuf->status = 0;
288278 codedbuf->reserved = 0;
289- codedbuf->buf = fool_context[idx].segbuf_enc;
279+ codedbuf->buf = fool_ctx->segbuf_enc;
290280 codedbuf->next = NULL;
291281
292282 return 0;
293283 }
294284
295285
296-static int va_FoolFillCodedBufJPG(int idx)
286+static int va_FoolFillCodedBufJPG(struct fool_context *fool_ctx)
297287 {
298288 struct stat file_stat = {0};
299289 VACodedBufferSegment *codedbuf;
300290 int i, fd = -1;
301291
302- if ((fd = open(fool_context[idx].fn_jpg, O_RDONLY)) != -1) {
292+ if ((fd = open(fool_ctx->fn_jpg, O_RDONLY)) != -1) {
303293 fstat(fd, &file_stat);
304- fool_context[idx].segbuf_jpg = realloc(fool_context[idx].segbuf_jpg, file_stat.st_size);
305- read(fd, fool_context[idx].segbuf_jpg, file_stat.st_size);
294+ fool_ctx->segbuf_jpg = realloc(fool_ctx->segbuf_jpg, file_stat.st_size);
295+ read(fd, fool_ctx->segbuf_jpg, file_stat.st_size);
306296 close(fd);
307297 } else
308- va_errorMessage("Open file %s failed:%s\n", fool_context[idx].fn_jpg, strerror(errno));
298+ va_errorMessage("Open file %s failed:%s\n", fool_ctx->fn_jpg, strerror(errno));
309299
310- codedbuf = (VACodedBufferSegment *)fool_context[idx].fool_buf[VAEncCodedBufferType];
300+ codedbuf = (VACodedBufferSegment *)fool_ctx->fool_buf[VAEncCodedBufferType];
311301 codedbuf->size = file_stat.st_size;
312302 codedbuf->bit_offset = 0;
313303 codedbuf->status = 0;
314304 codedbuf->reserved = 0;
315- codedbuf->buf = fool_context[idx].segbuf_jpg;
305+ codedbuf->buf = fool_ctx->segbuf_jpg;
316306 codedbuf->next = NULL;
317307
318308 return 0;
319309 }
320310
321311
322-static int va_FoolFillCodedBuf(int idx)
312+static int va_FoolFillCodedBuf(struct fool_context *fool_ctx)
323313 {
324- if (fool_context[idx].entrypoint == VAEntrypointEncSlice)
325- va_FoolFillCodedBufEnc(idx);
326- else if (fool_context[idx].entrypoint == VAEntrypointEncPicture)
327- va_FoolFillCodedBufJPG(idx);
314+ if (fool_ctx->entrypoint == VAEntrypointEncSlice)
315+ va_FoolFillCodedBufEnc(fool_ctx);
316+ else if (fool_ctx->entrypoint == VAEntrypointEncPicture)
317+ va_FoolFillCodedBufJPG(fool_ctx);
328318
329319 return 0;
330320 }
@@ -338,17 +328,17 @@ VAStatus va_FoolMapBuffer(
338328 {
339329 unsigned int buftype = buf_id & 0xff;
340330 unsigned int magic = buf_id & FOOL_BUFID_MASK;
341- DPY2INDEX(dpy);
331+ DPY2FOOLCTX(dpy);
342332
343333 if (magic != FOOL_BUFID_MAGIC || buftype >= VABufferTypeMax || !pbuf)
344334 return 0;
345335
346336 /* buf_id is the buffer type */
347- *pbuf = fool_context[idx].fool_buf[buftype];
337+ *pbuf = fool_ctx->fool_buf[buftype];
348338
349339 /* it is coded buffer, fill the fake segment buf from file */
350340 if (*pbuf && (buftype == VAEncCodedBufferType))
351- va_FoolFillCodedBuf(idx);
341+ va_FoolFillCodedBuf(fool_ctx);
352342
353343 return 1; /* don't call into driver */
354344 }
--- a/va/va_trace.c
+++ b/va/va_trace.c
@@ -63,11 +63,8 @@ int trace_flag = 0;
6363 /* LIBVA_TRACE_LOGSIZE */
6464 static unsigned int trace_logsize = 0xffffffff; /* truncate the log when the size is bigger than it */
6565
66-#define TRACE_CONTEXT_MAX 4
6766 /* per context settings */
68-static struct _trace_context {
69- VADisplay dpy; /* should use context as the key */
70-
67+struct trace_context {
7168 /* LIBVA_TRACE */
7269 FILE *trace_fp_log; /* save the log into a file */
7370 char *trace_log_fn; /* file name */
@@ -99,19 +96,17 @@ static struct _trace_context {
9996 unsigned int trace_frame_width; /* current frame width */
10097 unsigned int trace_frame_height; /* current frame height */
10198 unsigned int trace_sequence_start; /* get a new sequence for encoding or not */
102-} trace_context[TRACE_CONTEXT_MAX]; /* trace five context at the same time */
99+};
103100
104-#define DPY2INDEX(dpy) \
105- int idx; \
106- \
107- for (idx = 0; idx < TRACE_CONTEXT_MAX; idx++) \
108- if (trace_context[idx].dpy == dpy) \
109- break; \
101+#define TRACE_CTX(dpy) ((struct trace_context *)((VADisplayContextP)dpy)->vatrace)
102+
103+#define DPY2TRACECTX(dpy) \
104+ struct trace_context *trace_ctx = TRACE_CTX(dpy); \
110105 \
111- if (idx == TRACE_CONTEXT_MAX) \
112- return;
106+ if (trace_ctx == NULL) \
107+ return; \
113108
114-#define TRACE_FUNCNAME(idx) va_TraceMsg(idx, "==========%s\n", __func__);
109+#define TRACE_FUNCNAME(idx) va_TraceMsg(trace_ctx, "==========%s\n", __func__);
115110
116111 /* Prototype declarations (functions defined in va.c) */
117112
@@ -164,23 +159,19 @@ void va_TraceInit(VADisplay dpy)
164159 unsigned short suffix = 0xffff & ((unsigned int)time(NULL));
165160 int trace_index = 0;
166161 FILE *tmp;
167-
168- for (trace_index = 0; trace_index < TRACE_CONTEXT_MAX; trace_index++)
169- if (trace_context[trace_index].dpy == 0)
170- break;
162+ struct trace_context *trace_ctx = calloc(sizeof(struct trace_context), 1);
171163
172- if (trace_index == TRACE_CONTEXT_MAX)
164+ if (trace_ctx == NULL)
173165 return;
174-
175- memset(&trace_context[trace_index], 0, sizeof(struct _trace_context));
166+
176167 if (va_parseConfig("LIBVA_TRACE", &env_value[0]) == 0) {
177168 FILE_NAME_SUFFIX(env_value);
178- trace_context[trace_index].trace_log_fn = strdup(env_value);
169+ trace_ctx->trace_log_fn = strdup(env_value);
179170
180171 tmp = fopen(env_value, "w");
181172 if (tmp) {
182- trace_context[trace_index].trace_fp_log = tmp;
183- va_infoMessage("LIBVA_TRACE is on, save log into %s\n", trace_context[trace_index].trace_log_fn);
173+ trace_ctx->trace_fp_log = tmp;
174+ va_infoMessage("LIBVA_TRACE is on, save log into %s\n", trace_ctx->trace_log_fn);
184175 trace_flag = VA_TRACE_FLAG_LOG;
185176 } else
186177 va_errorMessage("Open file %s failed (%s)\n", env_value, strerror(errno));
@@ -200,18 +191,18 @@ void va_TraceInit(VADisplay dpy)
200191 /* per-context setting */
201192 if (va_parseConfig("LIBVA_TRACE_CODEDBUF", &env_value[0]) == 0) {
202193 FILE_NAME_SUFFIX(env_value);
203- trace_context[trace_index].trace_codedbuf_fn = strdup(env_value);
194+ trace_ctx->trace_codedbuf_fn = strdup(env_value);
204195 va_infoMessage("LIBVA_TRACE_CODEDBUF is on, save codedbuf into log file %s\n",
205- trace_context[trace_index].trace_codedbuf_fn);
196+ trace_ctx->trace_codedbuf_fn);
206197 trace_flag |= VA_TRACE_FLAG_CODEDBUF;
207198 }
208199
209200 if (va_parseConfig("LIBVA_TRACE_SURFACE", &env_value[0]) == 0) {
210201 FILE_NAME_SUFFIX(env_value);
211- trace_context[trace_index].trace_surface_fn = strdup(env_value);
202+ trace_ctx->trace_surface_fn = strdup(env_value);
212203
213204 va_infoMessage("LIBVA_TRACE_SURFACE is on, save surface into %s\n",
214- trace_context[trace_index].trace_surface_fn);
205+ trace_ctx->trace_surface_fn);
215206
216207 /* for surface data dump, it is time-consume, and may
217208 * cause some side-effect, so only trace the needed surfaces
@@ -229,49 +220,50 @@ void va_TraceInit(VADisplay dpy)
229220 if (va_parseConfig("LIBVA_TRACE_SURFACE_GEOMETRY", &env_value[0]) == 0) {
230221 char *p = env_value, *q;
231222
232- trace_context[trace_index].trace_surface_width = strtod(p, &q);
223+ trace_ctx->trace_surface_width = strtod(p, &q);
233224 p = q+1; /* skip "x" */
234- trace_context[trace_index].trace_surface_height = strtod(p, &q);
225+ trace_ctx->trace_surface_height = strtod(p, &q);
235226 p = q+1; /* skip "+" */
236- trace_context[trace_index].trace_surface_xoff = strtod(p, &q);
227+ trace_ctx->trace_surface_xoff = strtod(p, &q);
237228 p = q+1; /* skip "+" */
238- trace_context[trace_index].trace_surface_yoff = strtod(p, &q);
229+ trace_ctx->trace_surface_yoff = strtod(p, &q);
239230
240231 va_infoMessage("LIBVA_TRACE_SURFACE_GEOMETRY is on, only dump surface %dx%d+%d+%d content\n",
241- trace_context[trace_index].trace_surface_width,
242- trace_context[trace_index].trace_surface_height,
243- trace_context[trace_index].trace_surface_xoff,
244- trace_context[trace_index].trace_surface_yoff);
232+ trace_ctx->trace_surface_width,
233+ trace_ctx->trace_surface_height,
234+ trace_ctx->trace_surface_xoff,
235+ trace_ctx->trace_surface_yoff);
245236 }
246237 }
247238
248- trace_context[trace_index].dpy = dpy;
239+ ((VADisplayContextP)dpy)->vatrace = trace_ctx;
249240 }
250241
251242
252243 void va_TraceEnd(VADisplay dpy)
253244 {
254- DPY2INDEX(dpy);
245+ DPY2TRACECTX(dpy);
255246
256- if (trace_context[idx].trace_fp_log)
257- fclose(trace_context[idx].trace_fp_log);
247+ if (trace_ctx->trace_fp_log)
248+ fclose(trace_ctx->trace_fp_log);
258249
259- if (trace_context[idx].trace_fp_codedbuf)
260- fclose(trace_context[idx].trace_fp_codedbuf);
250+ if (trace_ctx->trace_fp_codedbuf)
251+ fclose(trace_ctx->trace_fp_codedbuf);
261252
262- if (trace_context[idx].trace_fp_surface)
263- fclose(trace_context[idx].trace_fp_surface);
253+ if (trace_ctx->trace_fp_surface)
254+ fclose(trace_ctx->trace_fp_surface);
264255
265- if (trace_context[idx].trace_log_fn)
266- free(trace_context[idx].trace_log_fn);
256+ if (trace_ctx->trace_log_fn)
257+ free(trace_ctx->trace_log_fn);
267258
268- if (trace_context[idx].trace_codedbuf_fn)
269- free(trace_context[idx].trace_codedbuf_fn);
259+ if (trace_ctx->trace_codedbuf_fn)
260+ free(trace_ctx->trace_codedbuf_fn);
270261
271- if (trace_context[idx].trace_surface_fn)
272- free(trace_context[idx].trace_surface_fn);
262+ if (trace_ctx->trace_surface_fn)
263+ free(trace_ctx->trace_surface_fn);
273264
274- memset(&trace_context[idx], 0, sizeof(struct _trace_context));
265+ free(trace_ctx);
266+ ((VADisplayContextP)dpy)->vatrace = NULL;
275267 }
276268
277269
@@ -291,21 +283,21 @@ static void truncate_file(FILE *fp)
291283 rewind(fp);
292284 }
293285
294-void va_TraceMsg(int idx, const char *msg, ...)
286+void va_TraceMsg(struct trace_context *trace_ctx, const char *msg, ...)
295287 {
296288 va_list args;
297289
298290 if (!(trace_flag & VA_TRACE_FLAG_LOG))
299291 return;
300292
301- if (file_size(trace_context[idx].trace_fp_log) >= trace_logsize)
302- truncate_file(trace_context[idx].trace_fp_log);
293+ if (file_size(trace_ctx->trace_fp_log) >= trace_logsize)
294+ truncate_file(trace_ctx->trace_fp_log);
303295 if (msg) {
304296 va_start(args, msg);
305- vfprintf(trace_context[idx].trace_fp_log, msg, args);
297+ vfprintf(trace_ctx->trace_fp_log, msg, args);
306298 va_end(args);
307299 } else
308- fflush(trace_context[idx].trace_fp_log);
300+ fflush(trace_ctx->trace_fp_log);
309301 }
310302
311303 void va_TraceCodedBuf(VADisplay dpy)
@@ -313,40 +305,40 @@ void va_TraceCodedBuf(VADisplay dpy)
313305 VACodedBufferSegment *buf_list = NULL;
314306 VAStatus va_status;
315307 unsigned char check_sum = 0;
316- DPY2INDEX(dpy);
308+ DPY2TRACECTX(dpy);
317309
318310 /* can only truncate at a sequence boudary */
319- if (((file_size(trace_context[idx].trace_fp_log) >= trace_logsize))
320- && trace_context[idx].trace_sequence_start) {
321- va_TraceMsg(idx, "==========truncate file %s\n", trace_context[idx].trace_codedbuf_fn);
322- truncate_file(trace_context[idx].trace_fp_log);
311+ if (((file_size(trace_ctx->trace_fp_log) >= trace_logsize))
312+ && trace_ctx->trace_sequence_start) {
313+ va_TraceMsg(trace_ctx, "==========truncate file %s\n", trace_ctx->trace_codedbuf_fn);
314+ truncate_file(trace_ctx->trace_fp_log);
323315 }
324316
325317
326- trace_context[idx].trace_sequence_start = 0; /* only truncate coded file when meet next new sequence */
318+ trace_ctx->trace_sequence_start = 0; /* only truncate coded file when meet next new sequence */
327319
328- va_status = vaMapBuffer(dpy, trace_context[idx].trace_codedbuf, (void **)(&buf_list));
320+ va_status = vaMapBuffer(dpy, trace_ctx->trace_codedbuf, (void **)(&buf_list));
329321 if (va_status != VA_STATUS_SUCCESS)
330322 return;
331323
332- va_TraceMsg(idx, "==========dump codedbuf into file %s\n", trace_context[idx].trace_codedbuf_fn);
324+ va_TraceMsg(trace_ctx, "==========dump codedbuf into file %s\n", trace_ctx->trace_codedbuf_fn);
333325
334326 while (buf_list != NULL) {
335327 unsigned int i;
336328
337- va_TraceMsg(idx, "\tsize = %d\n", buf_list->size);
338- if (trace_context[idx].trace_fp_codedbuf)
339- fwrite(buf_list->buf, buf_list->size, 1, trace_context[idx].trace_fp_codedbuf);
329+ va_TraceMsg(trace_ctx, "\tsize = %d\n", buf_list->size);
330+ if (trace_ctx->trace_fp_codedbuf)
331+ fwrite(buf_list->buf, buf_list->size, 1, trace_ctx->trace_fp_codedbuf);
340332
341333 for (i=0; i<buf_list->size; i++)
342334 check_sum ^= *((unsigned char *)buf_list->buf + i);
343335
344336 buf_list = buf_list->next;
345337 }
346- vaUnmapBuffer(dpy,trace_context[idx].trace_codedbuf);
338+ vaUnmapBuffer(dpy,trace_ctx->trace_codedbuf);
347339
348- va_TraceMsg(idx, "\tchecksum = 0x%02x\n", check_sum);
349- va_TraceMsg(idx, NULL);
340+ va_TraceMsg(trace_ctx, "\tchecksum = 0x%02x\n", check_sum);
341+ va_TraceMsg(trace_ctx, NULL);
350342 }
351343
352344
@@ -365,76 +357,76 @@ void va_TraceSurface(VADisplay dpy)
365357 unsigned char *Y_data, *UV_data, *tmp;
366358 VAStatus va_status;
367359 unsigned char check_sum = 0;
368- DPY2INDEX(dpy);
360+ DPY2TRACECTX(dpy);
369361
370- va_TraceMsg(idx, "==========dump surface data in file %s\n", trace_context[idx].trace_surface_fn);
362+ va_TraceMsg(trace_ctx, "==========dump surface data in file %s\n", trace_ctx->trace_surface_fn);
371363
372- if ((file_size(trace_context[idx].trace_fp_surface) >= trace_logsize)) {
373- va_TraceMsg(idx, "==========truncate file %s\n", trace_context[idx].trace_surface_fn);
374- truncate_file(trace_context[idx].trace_fp_surface);
364+ if ((file_size(trace_ctx->trace_fp_surface) >= trace_logsize)) {
365+ va_TraceMsg(trace_ctx, "==========truncate file %s\n", trace_ctx->trace_surface_fn);
366+ truncate_file(trace_ctx->trace_fp_surface);
375367 }
376- va_TraceMsg(idx, NULL);
368+ va_TraceMsg(trace_ctx, NULL);
377369
378370 va_status = vaLockSurface(
379371 dpy,
380- trace_context[idx].trace_rendertarget,
372+ trace_ctx->trace_rendertarget,
381373 &fourcc,
382374 &luma_stride, &chroma_u_stride, &chroma_v_stride,
383375 &luma_offset, &chroma_u_offset, &chroma_v_offset,
384376 &buffer_name, &buffer);
385377
386378 if (va_status != VA_STATUS_SUCCESS) {
387- va_TraceMsg(idx, "Error:vaLockSurface failed\n");
379+ va_TraceMsg(trace_ctx, "Error:vaLockSurface failed\n");
388380 return;
389381 }
390382
391- va_TraceMsg(idx, "\tfourcc = 0x%08x\n", fourcc);
392- va_TraceMsg(idx, "\twidth = %d\n", trace_context[idx].trace_frame_width);
393- va_TraceMsg(idx, "\theight = %d\n", trace_context[idx].trace_frame_height);
394- va_TraceMsg(idx, "\tluma_stride = %d\n", luma_stride);
395- va_TraceMsg(idx, "\tchroma_u_stride = %d\n", chroma_u_stride);
396- va_TraceMsg(idx, "\tchroma_v_stride = %d\n", chroma_v_stride);
397- va_TraceMsg(idx, "\tluma_offset = %d\n", luma_offset);
398- va_TraceMsg(idx, "\tchroma_u_offset = %d\n", chroma_u_offset);
399- va_TraceMsg(idx, "\tchroma_v_offset = %d\n", chroma_v_offset);
383+ va_TraceMsg(trace_ctx, "\tfourcc = 0x%08x\n", fourcc);
384+ va_TraceMsg(trace_ctx, "\twidth = %d\n", trace_ctx->trace_frame_width);
385+ va_TraceMsg(trace_ctx, "\theight = %d\n", trace_ctx->trace_frame_height);
386+ va_TraceMsg(trace_ctx, "\tluma_stride = %d\n", luma_stride);
387+ va_TraceMsg(trace_ctx, "\tchroma_u_stride = %d\n", chroma_u_stride);
388+ va_TraceMsg(trace_ctx, "\tchroma_v_stride = %d\n", chroma_v_stride);
389+ va_TraceMsg(trace_ctx, "\tluma_offset = %d\n", luma_offset);
390+ va_TraceMsg(trace_ctx, "\tchroma_u_offset = %d\n", chroma_u_offset);
391+ va_TraceMsg(trace_ctx, "\tchroma_v_offset = %d\n", chroma_v_offset);
400392
401393 if (buffer == NULL) {
402- va_TraceMsg(idx, "Error:vaLockSurface return NULL buffer\n");
403- va_TraceMsg(idx, NULL);
394+ va_TraceMsg(trace_ctx, "Error:vaLockSurface return NULL buffer\n");
395+ va_TraceMsg(trace_ctx, NULL);
404396
405- vaUnlockSurface(dpy, trace_context[idx].trace_rendertarget);
397+ vaUnlockSurface(dpy, trace_ctx->trace_rendertarget);
406398 return;
407399 }
408- va_TraceMsg(idx, "\tbuffer location = 0x%08x\n", buffer);
409- va_TraceMsg(idx, NULL);
400+ va_TraceMsg(trace_ctx, "\tbuffer location = 0x%08x\n", buffer);
401+ va_TraceMsg(trace_ctx, NULL);
410402
411403 Y_data = (unsigned char*)buffer;
412404 UV_data = (unsigned char*)buffer + chroma_u_offset;
413405
414- tmp = Y_data + luma_stride * trace_context[idx].trace_surface_yoff;
415- for (i=0; i<trace_context[idx].trace_surface_height; i++) {
416- if (trace_context[idx].trace_fp_surface)
417- fwrite(tmp + trace_context[idx].trace_surface_xoff,
418- trace_context[idx].trace_surface_width,
419- 1, trace_context[idx].trace_fp_surface);
406+ tmp = Y_data + luma_stride * trace_ctx->trace_surface_yoff;
407+ for (i=0; i<trace_ctx->trace_surface_height; i++) {
408+ if (trace_ctx->trace_fp_surface)
409+ fwrite(tmp + trace_ctx->trace_surface_xoff,
410+ trace_ctx->trace_surface_width,
411+ 1, trace_ctx->trace_fp_surface);
420412
421413 tmp += luma_stride;
422414 }
423- tmp = UV_data + chroma_u_stride * trace_context[idx].trace_surface_yoff;
415+ tmp = UV_data + chroma_u_stride * trace_ctx->trace_surface_yoff;
424416 if (fourcc == VA_FOURCC_NV12) {
425- for (i=0; i<trace_context[idx].trace_surface_height/2; i++) {
426- if (trace_context[idx].trace_fp_surface)
427- fwrite(tmp + trace_context[idx].trace_surface_xoff,
428- trace_context[idx].trace_surface_width,
429- 1, trace_context[idx].trace_fp_surface);
417+ for (i=0; i<trace_ctx->trace_surface_height/2; i++) {
418+ if (trace_ctx->trace_fp_surface)
419+ fwrite(tmp + trace_ctx->trace_surface_xoff,
420+ trace_ctx->trace_surface_width,
421+ 1, trace_ctx->trace_fp_surface);
430422
431423 tmp += chroma_u_stride;
432424 }
433425 }
434426
435- vaUnlockSurface(dpy, trace_context[idx].trace_rendertarget);
427+ vaUnlockSurface(dpy, trace_ctx->trace_rendertarget);
436428
437- va_TraceMsg(idx, NULL);
429+ va_TraceMsg(trace_ctx, NULL);
438430 }
439431
440432
@@ -444,7 +436,7 @@ void va_TraceInitialize (
444436 int *minor_version /* out */
445437 )
446438 {
447- DPY2INDEX(dpy);
439+ DPY2TRACECTX(dpy);
448440 TRACE_FUNCNAME(idx);
449441 }
450442
@@ -452,7 +444,7 @@ void va_TraceTerminate (
452444 VADisplay dpy
453445 )
454446 {
455- DPY2INDEX(dpy);
447+ DPY2TRACECTX(dpy);
456448 TRACE_FUNCNAME(idx);
457449 }
458450
@@ -468,61 +460,61 @@ void va_TraceCreateConfig(
468460 {
469461 int i;
470462 int encode, decode, jpeg;
471- DPY2INDEX(dpy);
463+ DPY2TRACECTX(dpy);
472464
473465 TRACE_FUNCNAME(idx);
474466
475- va_TraceMsg(idx, "\tprofile = %d\n", profile);
476- va_TraceMsg(idx, "\tentrypoint = %d\n", entrypoint);
477- va_TraceMsg(idx, "\tnum_attribs = %d\n", num_attribs);
467+ va_TraceMsg(trace_ctx, "\tprofile = %d\n", profile);
468+ va_TraceMsg(trace_ctx, "\tentrypoint = %d\n", entrypoint);
469+ va_TraceMsg(trace_ctx, "\tnum_attribs = %d\n", num_attribs);
478470 if (attrib_list) {
479471 for (i = 0; i < num_attribs; i++) {
480- va_TraceMsg(idx, "\t\tattrib_list[%d].type = 0x%08x\n", i, attrib_list[i].type);
481- va_TraceMsg(idx, "\t\tattrib_list[%d].value = 0x%08x\n", i, attrib_list[i].value);
472+ va_TraceMsg(trace_ctx, "\t\tattrib_list[%d].type = 0x%08x\n", i, attrib_list[i].type);
473+ va_TraceMsg(trace_ctx, "\t\tattrib_list[%d].value = 0x%08x\n", i, attrib_list[i].value);
482474 }
483475 }
484- va_TraceMsg(idx, NULL);
476+ va_TraceMsg(trace_ctx, NULL);
485477
486- trace_context[idx].trace_profile = profile;
487- trace_context[idx].trace_entrypoint = entrypoint;
478+ trace_ctx->trace_profile = profile;
479+ trace_ctx->trace_entrypoint = entrypoint;
488480
489481 /* avoid to create so many empty files */
490- encode = (trace_context[idx].trace_entrypoint == VAEntrypointEncSlice);
491- decode = (trace_context[idx].trace_entrypoint == VAEntrypointVLD);
492- jpeg = (trace_context[idx].trace_entrypoint == VAEntrypointEncPicture);
482+ encode = (trace_ctx->trace_entrypoint == VAEntrypointEncSlice);
483+ decode = (trace_ctx->trace_entrypoint == VAEntrypointVLD);
484+ jpeg = (trace_ctx->trace_entrypoint == VAEntrypointEncPicture);
493485 if ((encode && (trace_flag & VA_TRACE_FLAG_SURFACE_ENCODE)) ||
494486 (decode && (trace_flag & VA_TRACE_FLAG_SURFACE_DECODE)) ||
495487 (jpeg && (trace_flag & VA_TRACE_FLAG_SURFACE_JPEG))) {
496- FILE *tmp = fopen(trace_context[idx].trace_surface_fn, "w");
488+ FILE *tmp = fopen(trace_ctx->trace_surface_fn, "w");
497489
498490 if (tmp)
499- trace_context[idx].trace_fp_surface = tmp;
491+ trace_ctx->trace_fp_surface = tmp;
500492 else {
501493 va_errorMessage("Open file %s failed (%s)\n",
502- trace_context[idx].trace_surface_fn,
494+ trace_ctx->trace_surface_fn,
503495 strerror(errno));
504- trace_context[idx].trace_fp_surface = NULL;
496+ trace_ctx->trace_fp_surface = NULL;
505497 trace_flag &= ~(VA_TRACE_FLAG_SURFACE);
506498 }
507499 }
508500
509501 if (encode && (trace_flag & VA_TRACE_FLAG_CODEDBUF)) {
510- FILE *tmp = fopen(trace_context[idx].trace_codedbuf_fn, "w");
502+ FILE *tmp = fopen(trace_ctx->trace_codedbuf_fn, "w");
511503
512504 if (tmp)
513- trace_context[idx].trace_fp_codedbuf = tmp;
505+ trace_ctx->trace_fp_codedbuf = tmp;
514506 else {
515507 va_errorMessage("Open file %s failed (%s)\n",
516- trace_context[idx].trace_codedbuf_fn,
508+ trace_ctx->trace_codedbuf_fn,
517509 strerror(errno));
518- trace_context[idx].trace_fp_codedbuf = NULL;
510+ trace_ctx->trace_fp_codedbuf = NULL;
519511 trace_flag &= ~VA_TRACE_FLAG_CODEDBUF;
520512 }
521513 }
522514 }
523515
524516 static void va_TraceSurfaceAttributes(
525- int idx,
517+ struct trace_context *trace_ctx,
526518 VASurfaceAttrib *attrib_list,
527519 unsigned int *num_attribs
528520 )
@@ -539,19 +531,19 @@ static void va_TraceSurfaceAttributes(
539531 num = VASurfaceAttribCount;
540532
541533 for (i=0; i<num; i++) {
542- va_TraceMsg(idx, "\tattrib_list[%i] =\n", i);
534+ va_TraceMsg(trace_ctx, "\tattrib_list[%i] =\n", i);
543535
544- va_TraceMsg(idx, "\t\ttype = %d\n", p->type);
545- va_TraceMsg(idx, "\t\tflags = %d\n", p->flags);
546- va_TraceMsg(idx, "\t\tvalue.type = %d\n", p->value.type);
536+ va_TraceMsg(trace_ctx, "\t\ttype = %d\n", p->type);
537+ va_TraceMsg(trace_ctx, "\t\tflags = %d\n", p->flags);
538+ va_TraceMsg(trace_ctx, "\t\tvalue.type = %d\n", p->value.type);
547539 if (p->value.type == VAGenericValueTypeInteger)
548- va_TraceMsg(idx, "\t\tvalue.value.i = 0x%08x\n", p->value.value.i);
540+ va_TraceMsg(trace_ctx, "\t\tvalue.value.i = 0x%08x\n", p->value.value.i);
549541 else if (p->value.type == VAGenericValueTypeFloat)
550- va_TraceMsg(idx, "\t\tvalue.value.f = %f\n", p->value.value.f);
542+ va_TraceMsg(trace_ctx, "\t\tvalue.value.f = %f\n", p->value.value.f);
551543 else if (p->value.type == VAGenericValueTypePointer)
552- va_TraceMsg(idx, "\t\tvalue.value.p = %p\n", p->value.value.p);
544+ va_TraceMsg(trace_ctx, "\t\tvalue.value.p = %p\n", p->value.value.p);
553545 else if (p->value.type == VAGenericValueTypeFunc)
554- va_TraceMsg(idx, "\t\tvalue.value.fn = %p\n", p->value.value.fn);
546+ va_TraceMsg(trace_ctx, "\t\tvalue.value.fn = %p\n", p->value.value.fn);
555547
556548 p++;
557549 }
@@ -569,23 +561,23 @@ void va_TraceCreateSurfaces(
569561 )
570562 {
571563 int i;
572- DPY2INDEX(dpy);
564+ DPY2TRACECTX(dpy);
573565
574566 TRACE_FUNCNAME(idx);
575567
576- va_TraceMsg(idx, "\twidth = %d\n", width);
577- va_TraceMsg(idx, "\theight = %d\n", height);
578- va_TraceMsg(idx, "\tformat = %d\n", format);
579- va_TraceMsg(idx, "\tnum_surfaces = %d\n", num_surfaces);
568+ va_TraceMsg(trace_ctx, "\twidth = %d\n", width);
569+ va_TraceMsg(trace_ctx, "\theight = %d\n", height);
570+ va_TraceMsg(trace_ctx, "\tformat = %d\n", format);
571+ va_TraceMsg(trace_ctx, "\tnum_surfaces = %d\n", num_surfaces);
580572
581573 if (surfaces) {
582574 for (i = 0; i < num_surfaces; i++)
583- va_TraceMsg(idx, "\t\tsurfaces[%d] = 0x%08x\n", i, surfaces[i]);
575+ va_TraceMsg(trace_ctx, "\t\tsurfaces[%d] = 0x%08x\n", i, surfaces[i]);
584576 }
585577
586- va_TraceSurfaceAttributes(idx, attrib_list, &num_attribs);
578+ va_TraceSurfaceAttributes(trace_ctx, attrib_list, &num_attribs);
587579
588- va_TraceMsg(idx, NULL);
580+ va_TraceMsg(trace_ctx, NULL);
589581 }
590582
591583
@@ -596,16 +588,16 @@ void va_TraceDestroySurfaces(
596588 )
597589 {
598590 int i;
599- DPY2INDEX(dpy);
591+ DPY2TRACECTX(dpy);
600592
601593 TRACE_FUNCNAME(idx);
602594
603595 if (surface_list) {
604596 for (i = 0; i < num_surfaces; i++)
605- va_TraceMsg(idx, "\t\tsurfaces[%d] = 0x%08x\n", i, surface_list[i]);
597+ va_TraceMsg(trace_ctx, "\t\tsurfaces[%d] = 0x%08x\n", i, surface_list[i]);
606598 }
607599
608- va_TraceMsg(idx, NULL);
600+ va_TraceMsg(trace_ctx, NULL);
609601 }
610602
611603
@@ -621,35 +613,35 @@ void va_TraceCreateContext(
621613 )
622614 {
623615 int i;
624- DPY2INDEX(dpy);
616+ DPY2TRACECTX(dpy);
625617
626618 TRACE_FUNCNAME(idx);
627619
628- va_TraceMsg(idx, "\tconfig = 0x%08x\n", config_id);
629- va_TraceMsg(idx, "\twidth = %d\n", picture_width);
630- va_TraceMsg(idx, "\theight = %d\n", picture_height);
631- va_TraceMsg(idx, "\tflag = 0x%08x\n", flag);
632- va_TraceMsg(idx, "\tnum_render_targets = %d\n", num_render_targets);
620+ va_TraceMsg(trace_ctx, "\tconfig = 0x%08x\n", config_id);
621+ va_TraceMsg(trace_ctx, "\twidth = %d\n", picture_width);
622+ va_TraceMsg(trace_ctx, "\theight = %d\n", picture_height);
623+ va_TraceMsg(trace_ctx, "\tflag = 0x%08x\n", flag);
624+ va_TraceMsg(trace_ctx, "\tnum_render_targets = %d\n", num_render_targets);
633625 if (render_targets) {
634626 for (i=0; i<num_render_targets; i++)
635- va_TraceMsg(idx, "\t\trender_targets[%d] = 0x%08x\n", i, render_targets[i]);
627+ va_TraceMsg(trace_ctx, "\t\trender_targets[%d] = 0x%08x\n", i, render_targets[i]);
636628 }
637629 if (context) {
638- va_TraceMsg(idx, "\tcontext = 0x%08x\n", *context);
639- trace_context[idx].trace_context = *context;
630+ va_TraceMsg(trace_ctx, "\tcontext = 0x%08x\n", *context);
631+ trace_ctx->trace_context = *context;
640632 } else
641- trace_context[idx].trace_context = VA_INVALID_ID;
633+ trace_ctx->trace_context = VA_INVALID_ID;
642634
643- trace_context[idx].trace_frame_no = 0;
644- trace_context[idx].trace_slice_no = 0;
635+ trace_ctx->trace_frame_no = 0;
636+ trace_ctx->trace_slice_no = 0;
645637
646- trace_context[idx].trace_frame_width = picture_width;
647- trace_context[idx].trace_frame_height = picture_height;
638+ trace_ctx->trace_frame_width = picture_width;
639+ trace_ctx->trace_frame_height = picture_height;
648640
649- if (trace_context[idx].trace_surface_width == 0)
650- trace_context[idx].trace_surface_width = picture_width;
651- if (trace_context[idx].trace_surface_height == 0)
652- trace_context[idx].trace_surface_height = picture_height;
641+ if (trace_ctx->trace_surface_width == 0)
642+ trace_ctx->trace_surface_width = picture_width;
643+ if (trace_ctx->trace_surface_height == 0)
644+ trace_ctx->trace_surface_height = picture_height;
653645 }
654646
655647
@@ -694,20 +686,20 @@ void va_TraceCreateBuffer (
694686 VABufferID *buf_id /* out */
695687 )
696688 {
697- DPY2INDEX(dpy);
689+ DPY2TRACECTX(dpy);
698690
699691 /* only trace CodedBuffer */
700692 if (type != VAEncCodedBufferType)
701693 return;
702694
703695 TRACE_FUNCNAME(idx);
704- va_TraceMsg(idx, "\tbuf_type=%s\n", buffer_type_to_string(type));
696+ va_TraceMsg(trace_ctx, "\tbuf_type=%s\n", buffer_type_to_string(type));
705697 if (buf_id)
706- va_TraceMsg(idx, "\tbuf_id=0x%x\n", *buf_id);
707- va_TraceMsg(idx, "\tsize=%d\n", size);
708- va_TraceMsg(idx, "\tnum_elements=%d\n", num_elements);
698+ va_TraceMsg(trace_ctx, "\tbuf_id=0x%x\n", *buf_id);
699+ va_TraceMsg(trace_ctx, "\tsize=%d\n", size);
700+ va_TraceMsg(trace_ctx, "\tnum_elements=%d\n", num_elements);
709701
710- va_TraceMsg(idx, NULL);
702+ va_TraceMsg(trace_ctx, NULL);
711703 }
712704
713705 void va_TraceDestroyBuffer (
@@ -722,21 +714,21 @@ void va_TraceDestroyBuffer (
722714 VACodedBufferSegment *buf_list;
723715 int i = 0;
724716
725- DPY2INDEX(dpy);
717+ DPY2TRACECTX(dpy);
726718
727- vaBufferInfo(dpy, trace_context[idx].trace_context, buf_id, &type, &size, &num_elements);
719+ vaBufferInfo(dpy, trace_ctx->trace_context, buf_id, &type, &size, &num_elements);
728720
729721 /* only trace CodedBuffer */
730722 if (type != VAEncCodedBufferType)
731723 return;
732724
733725 TRACE_FUNCNAME(idx);
734- va_TraceMsg(idx, "\tbuf_type=%s\n", buffer_type_to_string(type));
735- va_TraceMsg(idx, "\tbuf_id=0x%x\n", buf_id);
736- va_TraceMsg(idx, "\tsize=%d\n", size);
737- va_TraceMsg(idx, "\tnum_elements=%d\n", num_elements);
726+ va_TraceMsg(trace_ctx, "\tbuf_type=%s\n", buffer_type_to_string(type));
727+ va_TraceMsg(trace_ctx, "\tbuf_id=0x%x\n", buf_id);
728+ va_TraceMsg(trace_ctx, "\tsize=%d\n", size);
729+ va_TraceMsg(trace_ctx, "\tnum_elements=%d\n", num_elements);
738730
739- va_TraceMsg(idx, NULL);
731+ va_TraceMsg(trace_ctx, NULL);
740732 }
741733
742734
@@ -753,33 +745,33 @@ void va_TraceMapBuffer (
753745 VACodedBufferSegment *buf_list;
754746 int i = 0;
755747
756- DPY2INDEX(dpy);
748+ DPY2TRACECTX(dpy);
757749
758- vaBufferInfo(dpy, trace_context[idx].trace_context, buf_id, &type, &size, &num_elements);
750+ vaBufferInfo(dpy, trace_ctx->trace_context, buf_id, &type, &size, &num_elements);
759751
760752 /* only trace CodedBuffer */
761753 if (type != VAEncCodedBufferType)
762754 return;
763755
764756 TRACE_FUNCNAME(idx);
765- va_TraceMsg(idx, "\tbuf_id=0x%x\n", buf_id);
766- va_TraceMsg(idx, "\tbuf_type=%s\n", buffer_type_to_string(type));
757+ va_TraceMsg(trace_ctx, "\tbuf_id=0x%x\n", buf_id);
758+ va_TraceMsg(trace_ctx, "\tbuf_type=%s\n", buffer_type_to_string(type));
767759 if ((pbuf == NULL) || (*pbuf == NULL))
768760 return;
769761
770762 buf_list = (VACodedBufferSegment *)(*pbuf);
771763 while (buf_list != NULL) {
772- va_TraceMsg(idx, "\tCodedbuf[%d] =\n", i++);
764+ va_TraceMsg(trace_ctx, "\tCodedbuf[%d] =\n", i++);
773765
774- va_TraceMsg(idx, "\t size = %d\n", buf_list->size);
775- va_TraceMsg(idx, "\t bit_offset = %d\n", buf_list->bit_offset);
776- va_TraceMsg(idx, "\t status = 0x%08x\n", buf_list->status);
777- va_TraceMsg(idx, "\t reserved = 0x%08x\n", buf_list->reserved);
778- va_TraceMsg(idx, "\t buf = 0x%08x\n", buf_list->buf);
766+ va_TraceMsg(trace_ctx, "\t size = %d\n", buf_list->size);
767+ va_TraceMsg(trace_ctx, "\t bit_offset = %d\n", buf_list->bit_offset);
768+ va_TraceMsg(trace_ctx, "\t status = 0x%08x\n", buf_list->status);
769+ va_TraceMsg(trace_ctx, "\t reserved = 0x%08x\n", buf_list->reserved);
770+ va_TraceMsg(trace_ctx, "\t buf = 0x%08x\n", buf_list->buf);
779771
780772 buf_list = buf_list->next;
781773 }
782- va_TraceMsg(idx, NULL);
774+ va_TraceMsg(trace_ctx, NULL);
783775 }
784776
785777 static void va_TraceVABuffers(
@@ -795,24 +787,24 @@ static void va_TraceVABuffers(
795787 unsigned int i;
796788 unsigned char *p = pbuf;
797789 unsigned char check_sum = 0;
798- DPY2INDEX(dpy);
790+ DPY2TRACECTX(dpy);
799791
800- va_TraceMsg(idx, "%s", buffer_type_to_string(type));
792+ va_TraceMsg(trace_ctx, "%s", buffer_type_to_string(type));
801793
802794 for (i=0; i<size; i++) {
803795 unsigned char value = p[i];
804796
805797 if ((trace_flag & VA_TRACE_FLAG_BUFDATA) && ((i%16) == 0))
806- va_TraceMsg(idx, "\n\t0x%08x:", i);
798+ va_TraceMsg(trace_ctx, "\n\t0x%08x:", i);
807799
808800 if (trace_flag & VA_TRACE_FLAG_BUFDATA)
809- va_TraceMsg(idx, " %02x", value);
801+ va_TraceMsg(trace_ctx, " %02x", value);
810802
811803 check_sum ^= value;
812804 }
813805
814- va_TraceMsg(idx, "\n\tchecksum = 0x%02x\n", check_sum & 0xff);
815- va_TraceMsg(idx, NULL);
806+ va_TraceMsg(trace_ctx, "\n\tchecksum = 0x%02x\n", check_sum & 0xff);
807+ va_TraceMsg(trace_ctx, NULL);
816808
817809 return;
818810 }
@@ -828,30 +820,30 @@ static void va_TraceVAPictureParameterBufferMPEG2(
828820 void *data)
829821 {
830822 VAPictureParameterBufferMPEG2 *p=(VAPictureParameterBufferMPEG2 *)data;
831- DPY2INDEX(dpy);
832-
833- va_TraceMsg(idx,"VAPictureParameterBufferMPEG2\n");
834-
835- va_TraceMsg(idx,"\thorizontal size= %d\n", p->horizontal_size);
836- va_TraceMsg(idx,"\tvertical size= %d\n", p->vertical_size);
837- va_TraceMsg(idx,"\tforward reference picture= %d\n", p->forward_reference_picture);
838- va_TraceMsg(idx,"\tbackward reference picture= %d\n", p->backward_reference_picture);
839- va_TraceMsg(idx,"\tpicture coding type= %d\n", p->picture_coding_type);
840- va_TraceMsg(idx,"\tf mode= %d\n", p->f_code);
841-
842- va_TraceMsg(idx,"\tpicture coding extension = %d\n", p->picture_coding_extension.value);
843- va_TraceMsg(idx,"\tintra_dc_precision= %d\n", p->picture_coding_extension.bits.intra_dc_precision);
844- va_TraceMsg(idx,"\tpicture_structure= %d\n", p->picture_coding_extension.bits.picture_structure);
845- va_TraceMsg(idx,"\ttop_field_first= %d\n", p->picture_coding_extension.bits.top_field_first);
846- va_TraceMsg(idx,"\tframe_pred_frame_dct= %d\n", p->picture_coding_extension.bits.frame_pred_frame_dct);
847- va_TraceMsg(idx,"\tconcealment_motion_vectors= %d\n", p->picture_coding_extension.bits.concealment_motion_vectors);
848- va_TraceMsg(idx,"\tq_scale_type= %d\n", p->picture_coding_extension.bits.q_scale_type);
849- va_TraceMsg(idx,"\tintra_vlc_format= %d\n", p->picture_coding_extension.bits.intra_vlc_format);
850- va_TraceMsg(idx,"\talternate_scan= %d\n", p->picture_coding_extension.bits.alternate_scan);
851- va_TraceMsg(idx,"\trepeat_first_field= %d\n", p->picture_coding_extension.bits.repeat_first_field);
852- va_TraceMsg(idx,"\tprogressive_frame= %d\n", p->picture_coding_extension.bits.progressive_frame);
853- va_TraceMsg(idx,"\tis_first_field= %d\n", p->picture_coding_extension.bits.is_first_field);
854- va_TraceMsg(idx, NULL);
823+ DPY2TRACECTX(dpy);
824+
825+ va_TraceMsg(trace_ctx,"VAPictureParameterBufferMPEG2\n");
826+
827+ va_TraceMsg(trace_ctx,"\thorizontal size= %d\n", p->horizontal_size);
828+ va_TraceMsg(trace_ctx,"\tvertical size= %d\n", p->vertical_size);
829+ va_TraceMsg(trace_ctx,"\tforward reference picture= %d\n", p->forward_reference_picture);
830+ va_TraceMsg(trace_ctx,"\tbackward reference picture= %d\n", p->backward_reference_picture);
831+ va_TraceMsg(trace_ctx,"\tpicture coding type= %d\n", p->picture_coding_type);
832+ va_TraceMsg(trace_ctx,"\tf mode= %d\n", p->f_code);
833+
834+ va_TraceMsg(trace_ctx,"\tpicture coding extension = %d\n", p->picture_coding_extension.value);
835+ va_TraceMsg(trace_ctx,"\tintra_dc_precision= %d\n", p->picture_coding_extension.bits.intra_dc_precision);
836+ va_TraceMsg(trace_ctx,"\tpicture_structure= %d\n", p->picture_coding_extension.bits.picture_structure);
837+ va_TraceMsg(trace_ctx,"\ttop_field_first= %d\n", p->picture_coding_extension.bits.top_field_first);
838+ va_TraceMsg(trace_ctx,"\tframe_pred_frame_dct= %d\n", p->picture_coding_extension.bits.frame_pred_frame_dct);
839+ va_TraceMsg(trace_ctx,"\tconcealment_motion_vectors= %d\n", p->picture_coding_extension.bits.concealment_motion_vectors);
840+ va_TraceMsg(trace_ctx,"\tq_scale_type= %d\n", p->picture_coding_extension.bits.q_scale_type);
841+ va_TraceMsg(trace_ctx,"\tintra_vlc_format= %d\n", p->picture_coding_extension.bits.intra_vlc_format);
842+ va_TraceMsg(trace_ctx,"\talternate_scan= %d\n", p->picture_coding_extension.bits.alternate_scan);
843+ va_TraceMsg(trace_ctx,"\trepeat_first_field= %d\n", p->picture_coding_extension.bits.repeat_first_field);
844+ va_TraceMsg(trace_ctx,"\tprogressive_frame= %d\n", p->picture_coding_extension.bits.progressive_frame);
845+ va_TraceMsg(trace_ctx,"\tis_first_field= %d\n", p->picture_coding_extension.bits.is_first_field);
846+ va_TraceMsg(trace_ctx, NULL);
855847
856848 return;
857849 }
@@ -867,19 +859,19 @@ static void va_TraceVAIQMatrixBufferMPEG2(
867859 void *data)
868860 {
869861 VAIQMatrixBufferMPEG2 *p=(VAIQMatrixBufferMPEG2 *)data;
870- DPY2INDEX(dpy);
862+ DPY2TRACECTX(dpy);
871863
872- va_TraceMsg(idx,"VAIQMatrixBufferMPEG2\n");
864+ va_TraceMsg(trace_ctx,"VAIQMatrixBufferMPEG2\n");
873865
874- va_TraceMsg(idx,"\tload_intra_quantiser_matrix = %d\n", p->load_intra_quantiser_matrix);
875- va_TraceMsg(idx,"\tload_non_intra_quantiser_matrix = %d\n", p->load_non_intra_quantiser_matrix);
876- va_TraceMsg(idx,"\tload_chroma_intra_quantiser_matrix = %d\n", p->load_chroma_intra_quantiser_matrix);
877- va_TraceMsg(idx,"\tload_chroma_non_intra_quantiser_matrix = %d\n", p->load_chroma_non_intra_quantiser_matrix);
878- va_TraceMsg(idx,"\tintra_quantiser_matrix = %d\n", p->intra_quantiser_matrix);
879- va_TraceMsg(idx,"\tnon_intra_quantiser_matrix = %d\n", p->non_intra_quantiser_matrix);
880- va_TraceMsg(idx,"\tchroma_intra_quantiser_matrix = %d\n", p->chroma_intra_quantiser_matrix);
881- va_TraceMsg(idx,"\tchroma_non_intra_quantiser_matrix = %d\n", p->chroma_non_intra_quantiser_matrix);
882- va_TraceMsg(idx, NULL);
866+ va_TraceMsg(trace_ctx,"\tload_intra_quantiser_matrix = %d\n", p->load_intra_quantiser_matrix);
867+ va_TraceMsg(trace_ctx,"\tload_non_intra_quantiser_matrix = %d\n", p->load_non_intra_quantiser_matrix);
868+ va_TraceMsg(trace_ctx,"\tload_chroma_intra_quantiser_matrix = %d\n", p->load_chroma_intra_quantiser_matrix);
869+ va_TraceMsg(trace_ctx,"\tload_chroma_non_intra_quantiser_matrix = %d\n", p->load_chroma_non_intra_quantiser_matrix);
870+ va_TraceMsg(trace_ctx,"\tintra_quantiser_matrix = %d\n", p->intra_quantiser_matrix);
871+ va_TraceMsg(trace_ctx,"\tnon_intra_quantiser_matrix = %d\n", p->non_intra_quantiser_matrix);
872+ va_TraceMsg(trace_ctx,"\tchroma_intra_quantiser_matrix = %d\n", p->chroma_intra_quantiser_matrix);
873+ va_TraceMsg(trace_ctx,"\tchroma_non_intra_quantiser_matrix = %d\n", p->chroma_non_intra_quantiser_matrix);
874+ va_TraceMsg(trace_ctx, NULL);
883875
884876 return;
885877 }
@@ -896,23 +888,23 @@ static void va_TraceVASliceParameterBufferMPEG2(
896888 {
897889 VASliceParameterBufferMPEG2 *p=(VASliceParameterBufferMPEG2 *)data;
898890
899- DPY2INDEX(dpy);
891+ DPY2TRACECTX(dpy);
900892
901- trace_context[idx].trace_slice_no++;
893+ trace_ctx->trace_slice_no++;
902894
903- trace_context[idx].trace_slice_size = p->slice_data_size;
895+ trace_ctx->trace_slice_size = p->slice_data_size;
904896
905- va_TraceMsg(idx,"VASliceParameterBufferMPEG2\n");
897+ va_TraceMsg(trace_ctx,"VASliceParameterBufferMPEG2\n");
906898
907- va_TraceMsg(idx,"\tslice_data_size = %d\n", p->slice_data_size);
908- va_TraceMsg(idx,"\tslice_data_offset = %d\n", p->slice_data_offset);
909- va_TraceMsg(idx,"\tslice_data_flag = %d\n", p->slice_data_flag);
910- va_TraceMsg(idx,"\tmacroblock_offset = %d\n", p->macroblock_offset);
911- va_TraceMsg(idx,"\tslice_horizontal_position = %d\n", p->slice_horizontal_position);
912- va_TraceMsg(idx,"\tslice_vertical_position = %d\n", p->slice_vertical_position);
913- va_TraceMsg(idx,"\tquantiser_scale_code = %d\n", p->quantiser_scale_code);
914- va_TraceMsg(idx,"\tintra_slice_flag = %d\n", p->intra_slice_flag);
915- va_TraceMsg(idx, NULL);
899+ va_TraceMsg(trace_ctx,"\tslice_data_size = %d\n", p->slice_data_size);
900+ va_TraceMsg(trace_ctx,"\tslice_data_offset = %d\n", p->slice_data_offset);
901+ va_TraceMsg(trace_ctx,"\tslice_data_flag = %d\n", p->slice_data_flag);
902+ va_TraceMsg(trace_ctx,"\tmacroblock_offset = %d\n", p->macroblock_offset);
903+ va_TraceMsg(trace_ctx,"\tslice_horizontal_position = %d\n", p->slice_horizontal_position);
904+ va_TraceMsg(trace_ctx,"\tslice_vertical_position = %d\n", p->slice_vertical_position);
905+ va_TraceMsg(trace_ctx,"\tquantiser_scale_code = %d\n", p->quantiser_scale_code);
906+ va_TraceMsg(trace_ctx,"\tintra_slice_flag = %d\n", p->intra_slice_flag);
907+ va_TraceMsg(trace_ctx, NULL);
916908
917909 return;
918910 }
@@ -928,17 +920,17 @@ static void va_TraceVAPictureParameterBufferJPEG(
928920 {
929921 int i;
930922 VAPictureParameterBufferJPEGBaseline *p=(VAPictureParameterBufferJPEGBaseline *)data;
931- DPY2INDEX(dpy);
923+ DPY2TRACECTX(dpy);
932924
933- va_TraceMsg(idx,"*VAPictureParameterBufferJPEG\n");
934- va_TraceMsg(idx,"\tpicture_width = %u\n", p->picture_width);
935- va_TraceMsg(idx,"\tpicture_height = %u\n", p->picture_height);
936- va_TraceMsg(idx,"\tcomponents = \n");
925+ va_TraceMsg(trace_ctx,"*VAPictureParameterBufferJPEG\n");
926+ va_TraceMsg(trace_ctx,"\tpicture_width = %u\n", p->picture_width);
927+ va_TraceMsg(trace_ctx,"\tpicture_height = %u\n", p->picture_height);
928+ va_TraceMsg(trace_ctx,"\tcomponents = \n");
937929 for (i = 0; i < p->num_components && i < 255; ++i) {
938- va_TraceMsg(idx,"\t\t[%d] component_id = %u\n", i, p->components[i].component_id);
939- va_TraceMsg(idx,"\t\t[%d] h_sampling_factor = %u\n", i, p->components[i].h_sampling_factor);
940- va_TraceMsg(idx,"\t\t[%d] v_sampling_factor = %u\n", i, p->components[i].v_sampling_factor);
941- va_TraceMsg(idx,"\t\t[%d] quantiser_table_selector = %u\n", i, p->components[i].quantiser_table_selector);
930+ va_TraceMsg(trace_ctx,"\t\t[%d] component_id = %u\n", i, p->components[i].component_id);
931+ va_TraceMsg(trace_ctx,"\t\t[%d] h_sampling_factor = %u\n", i, p->components[i].h_sampling_factor);
932+ va_TraceMsg(trace_ctx,"\t\t[%d] v_sampling_factor = %u\n", i, p->components[i].v_sampling_factor);
933+ va_TraceMsg(trace_ctx,"\t\t[%d] quantiser_table_selector = %u\n", i, p->components[i].quantiser_table_selector);
942934 }
943935 }
944936
@@ -954,19 +946,19 @@ static void va_TraceVAIQMatrixBufferJPEG(
954946 int i, j;
955947 static char tmp[1024];
956948 VAIQMatrixBufferJPEGBaseline *p=(VAIQMatrixBufferJPEGBaseline *)data;
957- DPY2INDEX(dpy);
958- va_TraceMsg(idx,"*VAIQMatrixParameterBufferJPEG\n");
959- va_TraceMsg(idx,"\tload_quantiser_table =\n");
949+ DPY2TRACECTX(dpy);
950+ va_TraceMsg(trace_ctx,"*VAIQMatrixParameterBufferJPEG\n");
951+ va_TraceMsg(trace_ctx,"\tload_quantiser_table =\n");
960952 for (i = 0; i < 4; ++i) {
961- va_TraceMsg(idx,"\t\t[%d] = %u\n", i, p->load_quantiser_table[i]);
953+ va_TraceMsg(trace_ctx,"\t\t[%d] = %u\n", i, p->load_quantiser_table[i]);
962954 }
963- va_TraceMsg(idx,"\tquantiser_table =\n");
955+ va_TraceMsg(trace_ctx,"\tquantiser_table =\n");
964956 for (i = 0; i < 4; ++i) {
965957 memset(tmp, 0, sizeof tmp);
966958 for (j = 0; j < 64; ++j) {
967959 sprintf(tmp + strlen(tmp), "%u ", p->quantiser_table[i][j]);
968960 }
969- va_TraceMsg(idx,"\t\t[%d] = %s\n", i, tmp);
961+ va_TraceMsg(trace_ctx,"\t\t[%d] = %s\n", i, tmp);
970962 }
971963 }
972964
@@ -981,21 +973,21 @@ static void va_TraceVASliceParameterBufferJPEG(
981973 {
982974 int i;
983975 VASliceParameterBufferJPEGBaseline *p=(VASliceParameterBufferJPEGBaseline *)data;
984- DPY2INDEX(dpy);
985- va_TraceMsg(idx,"*VASliceParameterBufferJPEG\n");
986- va_TraceMsg(idx,"\tslice_data_size = %u\n", p->slice_data_size);
987- va_TraceMsg(idx,"\tslice_data_offset = %u\n", p->slice_data_offset);
988- va_TraceMsg(idx,"\tslice_data_flag = %u\n", p->slice_data_flag);
989- va_TraceMsg(idx,"\tslice_horizontal_position = %u\n", p->slice_horizontal_position);
990- va_TraceMsg(idx,"\tslice_vertical_position = %u\n", p->slice_vertical_position);
991- va_TraceMsg(idx,"\tcomponents = \n");
976+ DPY2TRACECTX(dpy);
977+ va_TraceMsg(trace_ctx,"*VASliceParameterBufferJPEG\n");
978+ va_TraceMsg(trace_ctx,"\tslice_data_size = %u\n", p->slice_data_size);
979+ va_TraceMsg(trace_ctx,"\tslice_data_offset = %u\n", p->slice_data_offset);
980+ va_TraceMsg(trace_ctx,"\tslice_data_flag = %u\n", p->slice_data_flag);
981+ va_TraceMsg(trace_ctx,"\tslice_horizontal_position = %u\n", p->slice_horizontal_position);
982+ va_TraceMsg(trace_ctx,"\tslice_vertical_position = %u\n", p->slice_vertical_position);
983+ va_TraceMsg(trace_ctx,"\tcomponents = \n");
992984 for (i = 0; i < p->num_components && i < 4; ++i) {
993- va_TraceMsg(idx,"\t\t[%d] component_selector = %u\n", i, p->components[i].component_selector);
994- va_TraceMsg(idx,"\t\t[%d] dc_table_selector = %u\n", i, p->components[i].dc_table_selector);
995- va_TraceMsg(idx,"\t\t[%d] ac_table_selector = %u\n", i, p->components[i].ac_table_selector);
985+ va_TraceMsg(trace_ctx,"\t\t[%d] component_selector = %u\n", i, p->components[i].component_selector);
986+ va_TraceMsg(trace_ctx,"\t\t[%d] dc_table_selector = %u\n", i, p->components[i].dc_table_selector);
987+ va_TraceMsg(trace_ctx,"\t\t[%d] ac_table_selector = %u\n", i, p->components[i].ac_table_selector);
996988 }
997- va_TraceMsg(idx,"\trestart_interval = %u\n", p->restart_interval);
998- va_TraceMsg(idx,"\tnum_mcus = %u\n", p->num_mcus);
989+ va_TraceMsg(trace_ctx,"\trestart_interval = %u\n", p->restart_interval);
990+ va_TraceMsg(trace_ctx,"\tnum_mcus = %u\n", p->num_mcus);
999991 }
1000992
1001993 static void va_TraceVAHuffmanTableBufferJPEG(
@@ -1010,37 +1002,37 @@ static void va_TraceVAHuffmanTableBufferJPEG(
10101002 int i, j;
10111003 static char tmp[1024];
10121004 VAHuffmanTableBufferJPEGBaseline *p=(VAHuffmanTableBufferJPEGBaseline *)data;
1013- DPY2INDEX(dpy);
1014- va_TraceMsg(idx,"*VAHuffmanTableBufferJPEG\n");
1005+ DPY2TRACECTX(dpy);
1006+ va_TraceMsg(trace_ctx,"*VAHuffmanTableBufferJPEG\n");
10151007
10161008 for (i = 0; i < 2; ++i) {
1017- va_TraceMsg(idx,"\tload_huffman_table[%d] =%u\n", i, p->load_huffman_table[0]);
1018- va_TraceMsg(idx,"\thuffman_table[%d] =\n", i);
1009+ va_TraceMsg(trace_ctx,"\tload_huffman_table[%d] =%u\n", i, p->load_huffman_table[0]);
1010+ va_TraceMsg(trace_ctx,"\thuffman_table[%d] =\n", i);
10191011 memset(tmp, 0, sizeof tmp);
10201012 for (j = 0; j < 16; ++j) {
10211013 sprintf(tmp + strlen(tmp), "%u ", p->huffman_table[i].num_dc_codes[j]);
10221014 }
1023- va_TraceMsg(idx,"\t\tnum_dc_codes =%s\n", tmp);
1015+ va_TraceMsg(trace_ctx,"\t\tnum_dc_codes =%s\n", tmp);
10241016 memset(tmp, 0, sizeof tmp);
10251017 for (j = 0; j < 12; ++j) {
10261018 sprintf(tmp + strlen(tmp), "%u ", p->huffman_table[i].dc_values[j]);
10271019 }
1028- va_TraceMsg(idx,"\t\tdc_values =%s\n", tmp);
1020+ va_TraceMsg(trace_ctx,"\t\tdc_values =%s\n", tmp);
10291021 memset(tmp, 0, sizeof tmp);
10301022 for (j = 0; j < 16; ++j) {
10311023 sprintf(tmp + strlen(tmp), "%u ", p->huffman_table[i].num_ac_codes[j]);
10321024 }
1033- va_TraceMsg(idx,"\t\tnum_dc_codes =%s\n", tmp);
1025+ va_TraceMsg(trace_ctx,"\t\tnum_dc_codes =%s\n", tmp);
10341026 memset(tmp, 0, sizeof tmp);
10351027 for (j = 0; j < 162; ++j) {
10361028 sprintf(tmp + strlen(tmp), "%u ", p->huffman_table[i].ac_values[j]);
10371029 }
1038- va_TraceMsg(idx,"\t\tnum_dc_codes =%s\n", tmp);
1030+ va_TraceMsg(trace_ctx,"\t\tnum_dc_codes =%s\n", tmp);
10391031 memset(tmp, 0, sizeof tmp);
10401032 for (j = 0; j < 2; ++j) {
10411033 sprintf(tmp + strlen(tmp), "%u ", p->huffman_table[i].pad[j]);
10421034 }
1043- va_TraceMsg(idx,"\t\tnum_dc_codes =%s\n", tmp);
1035+ va_TraceMsg(trace_ctx,"\t\tnum_dc_codes =%s\n", tmp);
10441036 }
10451037 }
10461038
@@ -1056,49 +1048,49 @@ static void va_TraceVAPictureParameterBufferMPEG4(
10561048 int i;
10571049 VAPictureParameterBufferMPEG4 *p=(VAPictureParameterBufferMPEG4 *)data;
10581050
1059- DPY2INDEX(dpy);
1060-
1061- va_TraceMsg(idx,"*VAPictureParameterBufferMPEG4\n");
1062- va_TraceMsg(idx,"\tvop_width = %d\n", p->vop_width);
1063- va_TraceMsg(idx,"\tvop_height = %d\n", p->vop_height);
1064- va_TraceMsg(idx,"\tforward_reference_picture = %d\n", p->forward_reference_picture);
1065- va_TraceMsg(idx,"\tbackward_reference_picture = %d\n", p->backward_reference_picture);
1066- va_TraceMsg(idx,"\tvol_fields value = %d\n", p->vol_fields.value);
1067- va_TraceMsg(idx,"\tshort_video_header= %d\n", p->vol_fields.bits.short_video_header);
1068- va_TraceMsg(idx,"\tchroma_format= %d\n", p->vol_fields.bits.chroma_format);
1069- va_TraceMsg(idx,"\tinterlaced= %d\n", p->vol_fields.bits.interlaced);
1070- va_TraceMsg(idx,"\tobmc_disable= %d\n", p->vol_fields.bits.obmc_disable);
1071- va_TraceMsg(idx,"\tsprite_enable= %d\n", p->vol_fields.bits.sprite_enable);
1072- va_TraceMsg(idx,"\tsprite_warping_accuracy= %d\n", p->vol_fields.bits.sprite_warping_accuracy);
1073- va_TraceMsg(idx,"\tquant_type= %d\n", p->vol_fields.bits.quant_type);
1074- va_TraceMsg(idx,"\tquarter_sample= %d\n", p->vol_fields.bits.quarter_sample);
1075- va_TraceMsg(idx,"\tdata_partitioned= %d\n", p->vol_fields.bits.data_partitioned);
1076- va_TraceMsg(idx,"\treversible_vlc= %d\n", p->vol_fields.bits.reversible_vlc);
1077- va_TraceMsg(idx,"\tresync_marker_disable= %d\n", p->vol_fields.bits.resync_marker_disable);
1078- va_TraceMsg(idx,"\tno_of_sprite_warping_points = %d\n", p->no_of_sprite_warping_points);
1079- va_TraceMsg(idx,"\tsprite_trajectory_du =");
1051+ DPY2TRACECTX(dpy);
1052+
1053+ va_TraceMsg(trace_ctx,"*VAPictureParameterBufferMPEG4\n");
1054+ va_TraceMsg(trace_ctx,"\tvop_width = %d\n", p->vop_width);
1055+ va_TraceMsg(trace_ctx,"\tvop_height = %d\n", p->vop_height);
1056+ va_TraceMsg(trace_ctx,"\tforward_reference_picture = %d\n", p->forward_reference_picture);
1057+ va_TraceMsg(trace_ctx,"\tbackward_reference_picture = %d\n", p->backward_reference_picture);
1058+ va_TraceMsg(trace_ctx,"\tvol_fields value = %d\n", p->vol_fields.value);
1059+ va_TraceMsg(trace_ctx,"\tshort_video_header= %d\n", p->vol_fields.bits.short_video_header);
1060+ va_TraceMsg(trace_ctx,"\tchroma_format= %d\n", p->vol_fields.bits.chroma_format);
1061+ va_TraceMsg(trace_ctx,"\tinterlaced= %d\n", p->vol_fields.bits.interlaced);
1062+ va_TraceMsg(trace_ctx,"\tobmc_disable= %d\n", p->vol_fields.bits.obmc_disable);
1063+ va_TraceMsg(trace_ctx,"\tsprite_enable= %d\n", p->vol_fields.bits.sprite_enable);
1064+ va_TraceMsg(trace_ctx,"\tsprite_warping_accuracy= %d\n", p->vol_fields.bits.sprite_warping_accuracy);
1065+ va_TraceMsg(trace_ctx,"\tquant_type= %d\n", p->vol_fields.bits.quant_type);
1066+ va_TraceMsg(trace_ctx,"\tquarter_sample= %d\n", p->vol_fields.bits.quarter_sample);
1067+ va_TraceMsg(trace_ctx,"\tdata_partitioned= %d\n", p->vol_fields.bits.data_partitioned);
1068+ va_TraceMsg(trace_ctx,"\treversible_vlc= %d\n", p->vol_fields.bits.reversible_vlc);
1069+ va_TraceMsg(trace_ctx,"\tresync_marker_disable= %d\n", p->vol_fields.bits.resync_marker_disable);
1070+ va_TraceMsg(trace_ctx,"\tno_of_sprite_warping_points = %d\n", p->no_of_sprite_warping_points);
1071+ va_TraceMsg(trace_ctx,"\tsprite_trajectory_du =");
10801072 for(i=0;i<3;i++)
1081- va_TraceMsg(idx,"\t%d", p->sprite_trajectory_du[i]);
1073+ va_TraceMsg(trace_ctx,"\t%d", p->sprite_trajectory_du[i]);
10821074
1083- va_TraceMsg(idx,"\n");
1084- va_TraceMsg(idx,"\tsprite_trajectory_dv =");
1075+ va_TraceMsg(trace_ctx,"\n");
1076+ va_TraceMsg(trace_ctx,"\tsprite_trajectory_dv =");
10851077 for(i=0;i<3;i++)
1086- va_TraceMsg(idx,"\t%d", p->sprite_trajectory_dv[i]);
1087- va_TraceMsg(idx,"\n");
1088- va_TraceMsg(idx,"\tvop_fields value = %d\n", p->vop_fields.value);
1089- va_TraceMsg(idx,"\tvop_coding_type= %d\n", p->vop_fields.bits.vop_coding_type);
1090- va_TraceMsg(idx,"\tbackward_reference_vop_coding_type= %d\n", p->vop_fields.bits.backward_reference_vop_coding_type);
1091- va_TraceMsg(idx,"\tvop_rounding_type= %d\n", p->vop_fields.bits.vop_rounding_type);
1092- va_TraceMsg(idx,"\tintra_dc_vlc_thr= %d\n", p->vop_fields.bits.intra_dc_vlc_thr);
1093- va_TraceMsg(idx,"\ttop_field_first= %d\n", p->vop_fields.bits.top_field_first);
1094- va_TraceMsg(idx,"\talternate_vertical_scan_flag= %d\n", p->vop_fields.bits.alternate_vertical_scan_flag);
1095- va_TraceMsg(idx,"\tvop_fcode_forward = %d\n", p->vop_fcode_forward);
1096- va_TraceMsg(idx,"\tvop_fcode_backward = %d\n", p->vop_fcode_backward);
1097- va_TraceMsg(idx,"\tnum_gobs_in_vop = %d\n", p->num_gobs_in_vop);
1098- va_TraceMsg(idx,"\tnum_macroblocks_in_gob = %d\n", p->num_macroblocks_in_gob);
1099- va_TraceMsg(idx,"\tTRB = %d\n", p->TRB);
1100- va_TraceMsg(idx,"\tTRD = %d\n", p->TRD);
1101- va_TraceMsg(idx, NULL);
1078+ va_TraceMsg(trace_ctx,"\t%d", p->sprite_trajectory_dv[i]);
1079+ va_TraceMsg(trace_ctx,"\n");
1080+ va_TraceMsg(trace_ctx,"\tvop_fields value = %d\n", p->vop_fields.value);
1081+ va_TraceMsg(trace_ctx,"\tvop_coding_type= %d\n", p->vop_fields.bits.vop_coding_type);
1082+ va_TraceMsg(trace_ctx,"\tbackward_reference_vop_coding_type= %d\n", p->vop_fields.bits.backward_reference_vop_coding_type);
1083+ va_TraceMsg(trace_ctx,"\tvop_rounding_type= %d\n", p->vop_fields.bits.vop_rounding_type);
1084+ va_TraceMsg(trace_ctx,"\tintra_dc_vlc_thr= %d\n", p->vop_fields.bits.intra_dc_vlc_thr);
1085+ va_TraceMsg(trace_ctx,"\ttop_field_first= %d\n", p->vop_fields.bits.top_field_first);
1086+ va_TraceMsg(trace_ctx,"\talternate_vertical_scan_flag= %d\n", p->vop_fields.bits.alternate_vertical_scan_flag);
1087+ va_TraceMsg(trace_ctx,"\tvop_fcode_forward = %d\n", p->vop_fcode_forward);
1088+ va_TraceMsg(trace_ctx,"\tvop_fcode_backward = %d\n", p->vop_fcode_backward);
1089+ va_TraceMsg(trace_ctx,"\tnum_gobs_in_vop = %d\n", p->num_gobs_in_vop);
1090+ va_TraceMsg(trace_ctx,"\tnum_macroblocks_in_gob = %d\n", p->num_macroblocks_in_gob);
1091+ va_TraceMsg(trace_ctx,"\tTRB = %d\n", p->TRB);
1092+ va_TraceMsg(trace_ctx,"\tTRD = %d\n", p->TRD);
1093+ va_TraceMsg(trace_ctx, NULL);
11021094
11031095 return;
11041096 }
@@ -1115,20 +1107,20 @@ static void va_TraceVAIQMatrixBufferMPEG4(
11151107 {
11161108 int i;
11171109 VAIQMatrixBufferMPEG4 *p=(VAIQMatrixBufferMPEG4 *)data;
1118- DPY2INDEX(dpy);
1110+ DPY2TRACECTX(dpy);
11191111
1120- va_TraceMsg(idx,"VAIQMatrixBufferMPEG4\n");
1112+ va_TraceMsg(trace_ctx,"VAIQMatrixBufferMPEG4\n");
11211113
1122- va_TraceMsg(idx,"\tload_intra_quant_mat = %d\n", p->load_intra_quant_mat);
1123- va_TraceMsg(idx,"\tload_non_intra_quant_mat = %d\n", p->load_non_intra_quant_mat);
1124- va_TraceMsg(idx,"\tintra_quant_mat =\n");
1114+ va_TraceMsg(trace_ctx,"\tload_intra_quant_mat = %d\n", p->load_intra_quant_mat);
1115+ va_TraceMsg(trace_ctx,"\tload_non_intra_quant_mat = %d\n", p->load_non_intra_quant_mat);
1116+ va_TraceMsg(trace_ctx,"\tintra_quant_mat =\n");
11251117 for(i=0;i<64;i++)
1126- va_TraceMsg(idx,"\t\t%d\n", p->intra_quant_mat[i]);
1118+ va_TraceMsg(trace_ctx,"\t\t%d\n", p->intra_quant_mat[i]);
11271119
1128- va_TraceMsg(idx,"\tnon_intra_quant_mat =\n");
1120+ va_TraceMsg(trace_ctx,"\tnon_intra_quant_mat =\n");
11291121 for(i=0;i<64;i++)
1130- va_TraceMsg(idx,"\t\t%d\n", p->non_intra_quant_mat[i]);
1131- va_TraceMsg(idx, NULL);
1122+ va_TraceMsg(trace_ctx,"\t\t%d\n", p->non_intra_quant_mat[i]);
1123+ va_TraceMsg(trace_ctx, NULL);
11321124
11331125 return;
11341126 }
@@ -1143,25 +1135,25 @@ static void va_TraceVAEncSequenceParameterBufferMPEG4(
11431135 void *data)
11441136 {
11451137 VAEncSequenceParameterBufferMPEG4 *p = (VAEncSequenceParameterBufferMPEG4 *)data;
1146- DPY2INDEX(dpy);
1147-
1148- va_TraceMsg(idx, "VAEncSequenceParameterBufferMPEG4\n");
1149-
1150- va_TraceMsg(idx, "\tprofile_and_level_indication = %d\n", p->profile_and_level_indication);
1151- va_TraceMsg(idx, "\tintra_period = %d\n", p->intra_period);
1152- va_TraceMsg(idx, "\tvideo_object_layer_width = %d\n", p->video_object_layer_width);
1153- va_TraceMsg(idx, "\tvideo_object_layer_height = %d\n", p->video_object_layer_height);
1154- va_TraceMsg(idx, "\tvop_time_increment_resolution = %d\n", p->vop_time_increment_resolution);
1155- va_TraceMsg(idx, "\tfixed_vop_rate = %d\n", p->fixed_vop_rate);
1156- va_TraceMsg(idx, "\tfixed_vop_time_increment = %d\n", p->fixed_vop_time_increment);
1157- va_TraceMsg(idx, "\tbits_per_second = %d\n", p->bits_per_second);
1158- va_TraceMsg(idx, "\tframe_rate = %d\n", p->frame_rate);
1159- va_TraceMsg(idx, "\tinitial_qp = %d\n", p->initial_qp);
1160- va_TraceMsg(idx, "\tmin_qp = %d\n", p->min_qp);
1161- va_TraceMsg(idx, NULL);
1138+ DPY2TRACECTX(dpy);
1139+
1140+ va_TraceMsg(trace_ctx, "VAEncSequenceParameterBufferMPEG4\n");
1141+
1142+ va_TraceMsg(trace_ctx, "\tprofile_and_level_indication = %d\n", p->profile_and_level_indication);
1143+ va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period);
1144+ va_TraceMsg(trace_ctx, "\tvideo_object_layer_width = %d\n", p->video_object_layer_width);
1145+ va_TraceMsg(trace_ctx, "\tvideo_object_layer_height = %d\n", p->video_object_layer_height);
1146+ va_TraceMsg(trace_ctx, "\tvop_time_increment_resolution = %d\n", p->vop_time_increment_resolution);
1147+ va_TraceMsg(trace_ctx, "\tfixed_vop_rate = %d\n", p->fixed_vop_rate);
1148+ va_TraceMsg(trace_ctx, "\tfixed_vop_time_increment = %d\n", p->fixed_vop_time_increment);
1149+ va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second);
1150+ va_TraceMsg(trace_ctx, "\tframe_rate = %d\n", p->frame_rate);
1151+ va_TraceMsg(trace_ctx, "\tinitial_qp = %d\n", p->initial_qp);
1152+ va_TraceMsg(trace_ctx, "\tmin_qp = %d\n", p->min_qp);
1153+ va_TraceMsg(trace_ctx, NULL);
11621154
11631155 /* start a new sequce, coded log file can be truncated */
1164- trace_context[idx].trace_sequence_start = 1;
1156+ trace_ctx->trace_sequence_start = 1;
11651157
11661158 return;
11671159 }
@@ -1176,20 +1168,20 @@ static void va_TraceVAEncPictureParameterBufferMPEG4(
11761168 void *data)
11771169 {
11781170 VAEncPictureParameterBufferMPEG4 *p = (VAEncPictureParameterBufferMPEG4 *)data;
1179- DPY2INDEX(dpy);
1171+ DPY2TRACECTX(dpy);
11801172
1181- va_TraceMsg(idx, "VAEncPictureParameterBufferMPEG4\n");
1182- va_TraceMsg(idx, "\treference_picture = 0x%08x\n", p->reference_picture);
1183- va_TraceMsg(idx, "\treconstructed_picture = 0x%08x\n", p->reconstructed_picture);
1184- va_TraceMsg(idx, "\tcoded_buf = 0x%08x\n", p->coded_buf);
1185- va_TraceMsg(idx, "\tpicture_width = %d\n", p->picture_width);
1186- va_TraceMsg(idx, "\tpicture_height = %d\n", p->picture_height);
1187- va_TraceMsg(idx, "\tmodulo_time_base = %d\n", p->modulo_time_base);
1188- va_TraceMsg(idx, "\tvop_time_increment = %d\n", p->vop_time_increment);
1189- va_TraceMsg(idx, "\tpicture_type = %d\n", p->picture_type);
1190- va_TraceMsg(idx, NULL);
1173+ va_TraceMsg(trace_ctx, "VAEncPictureParameterBufferMPEG4\n");
1174+ va_TraceMsg(trace_ctx, "\treference_picture = 0x%08x\n", p->reference_picture);
1175+ va_TraceMsg(trace_ctx, "\treconstructed_picture = 0x%08x\n", p->reconstructed_picture);
1176+ va_TraceMsg(trace_ctx, "\tcoded_buf = 0x%08x\n", p->coded_buf);
1177+ va_TraceMsg(trace_ctx, "\tpicture_width = %d\n", p->picture_width);
1178+ va_TraceMsg(trace_ctx, "\tpicture_height = %d\n", p->picture_height);
1179+ va_TraceMsg(trace_ctx, "\tmodulo_time_base = %d\n", p->modulo_time_base);
1180+ va_TraceMsg(trace_ctx, "\tvop_time_increment = %d\n", p->vop_time_increment);
1181+ va_TraceMsg(trace_ctx, "\tpicture_type = %d\n", p->picture_type);
1182+ va_TraceMsg(trace_ctx, NULL);
11911183
1192- trace_context[idx].trace_codedbuf = p->coded_buf;
1184+ trace_ctx->trace_codedbuf = p->coded_buf;
11931185
11941186 return;
11951187 }
@@ -1206,34 +1198,34 @@ static void va_TraceVASliceParameterBufferMPEG4(
12061198 {
12071199 VASliceParameterBufferMPEG4 *p=(VASliceParameterBufferMPEG4 *)data;
12081200
1209- DPY2INDEX(dpy);
1201+ DPY2TRACECTX(dpy);
12101202
1211- trace_context[idx].trace_slice_no++;
1203+ trace_ctx->trace_slice_no++;
12121204
1213- trace_context[idx].trace_slice_size = p->slice_data_size;
1205+ trace_ctx->trace_slice_size = p->slice_data_size;
12141206
1215- va_TraceMsg(idx,"VASliceParameterBufferMPEG4\n");
1207+ va_TraceMsg(trace_ctx,"VASliceParameterBufferMPEG4\n");
12161208
1217- va_TraceMsg(idx,"\tslice_data_size = %d\n", p->slice_data_size);
1218- va_TraceMsg(idx,"\tslice_data_offset = %d\n", p->slice_data_offset);
1219- va_TraceMsg(idx,"\tslice_data_flag = %d\n", p->slice_data_flag);
1220- va_TraceMsg(idx,"\tmacroblock_offset = %d\n", p->macroblock_offset);
1221- va_TraceMsg(idx,"\tmacroblock_number = %d\n", p->macroblock_number);
1222- va_TraceMsg(idx,"\tquant_scale = %d\n", p->quant_scale);
1223- va_TraceMsg(idx, NULL);
1209+ va_TraceMsg(trace_ctx,"\tslice_data_size = %d\n", p->slice_data_size);
1210+ va_TraceMsg(trace_ctx,"\tslice_data_offset = %d\n", p->slice_data_offset);
1211+ va_TraceMsg(trace_ctx,"\tslice_data_flag = %d\n", p->slice_data_flag);
1212+ va_TraceMsg(trace_ctx,"\tmacroblock_offset = %d\n", p->macroblock_offset);
1213+ va_TraceMsg(trace_ctx,"\tmacroblock_number = %d\n", p->macroblock_number);
1214+ va_TraceMsg(trace_ctx,"\tquant_scale = %d\n", p->quant_scale);
1215+ va_TraceMsg(trace_ctx, NULL);
12241216
12251217 return;
12261218 }
12271219
12281220
12291221 static inline void va_TraceFlagIfNotZero(
1230- int idx, /* in */
1222+ struct trace_context *trace_ctx,
12311223 const char *name, /* in */
12321224 unsigned int flag /* in */
12331225 )
12341226 {
12351227 if (flag != 0) {
1236- va_TraceMsg(idx, "%s = %x\n", name, flag);
1228+ va_TraceMsg(trace_ctx, "%s = %x\n", name, flag);
12371229 }
12381230 }
12391231
@@ -1250,64 +1242,64 @@ static void va_TraceVAPictureParameterBufferH264(
12501242 int i;
12511243 VAPictureParameterBufferH264 *p = (VAPictureParameterBufferH264*)data;
12521244
1253- DPY2INDEX(dpy);
1245+ DPY2TRACECTX(dpy);
12541246
1255- va_TraceMsg(idx, "VAPictureParameterBufferH264\n");
1247+ va_TraceMsg(trace_ctx, "VAPictureParameterBufferH264\n");
12561248
1257- va_TraceMsg(idx, "\tCurrPic.picture_id = 0x%08x\n", p->CurrPic.picture_id);
1258- va_TraceMsg(idx, "\tCurrPic.frame_idx = %d\n", p->CurrPic.frame_idx);
1259- va_TraceMsg(idx, "\tCurrPic.flags = %d\n", p->CurrPic.flags);
1260- va_TraceMsg(idx, "\tCurrPic.TopFieldOrderCnt = %d\n", p->CurrPic.TopFieldOrderCnt);
1261- va_TraceMsg(idx, "\tCurrPic.BottomFieldOrderCnt = %d\n", p->CurrPic.BottomFieldOrderCnt);
1249+ va_TraceMsg(trace_ctx, "\tCurrPic.picture_id = 0x%08x\n", p->CurrPic.picture_id);
1250+ va_TraceMsg(trace_ctx, "\tCurrPic.frame_idx = %d\n", p->CurrPic.frame_idx);
1251+ va_TraceMsg(trace_ctx, "\tCurrPic.flags = %d\n", p->CurrPic.flags);
1252+ va_TraceMsg(trace_ctx, "\tCurrPic.TopFieldOrderCnt = %d\n", p->CurrPic.TopFieldOrderCnt);
1253+ va_TraceMsg(trace_ctx, "\tCurrPic.BottomFieldOrderCnt = %d\n", p->CurrPic.BottomFieldOrderCnt);
12621254
1263- va_TraceMsg(idx, "\tReferenceFrames (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags:\n");
1255+ va_TraceMsg(trace_ctx, "\tReferenceFrames (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags:\n");
12641256 for (i = 0; i < 16; i++)
12651257 {
12661258 if ((p->ReferenceFrames[i].picture_id != VA_INVALID_SURFACE) &&
12671259 ((p->ReferenceFrames[i].flags & VA_PICTURE_H264_INVALID) == 0)) {
1268- va_TraceMsg(idx, "\t\t%08d-%08d-0x%08x-%08d-0x%08x\n",
1260+ va_TraceMsg(trace_ctx, "\t\t%08d-%08d-0x%08x-%08d-0x%08x\n",
12691261 p->ReferenceFrames[i].TopFieldOrderCnt,
12701262 p->ReferenceFrames[i].BottomFieldOrderCnt,
12711263 p->ReferenceFrames[i].picture_id,
12721264 p->ReferenceFrames[i].frame_idx,
12731265 p->ReferenceFrames[i].flags);
12741266 } else
1275- va_TraceMsg(idx, "\t\tinv-inv-inv-inv-inv\n");
1276- }
1277- va_TraceMsg(idx, "\n");
1278-
1279- va_TraceMsg(idx, "\tpicture_width_in_mbs_minus1 = %d\n", p->picture_width_in_mbs_minus1);
1280- va_TraceMsg(idx, "\tpicture_height_in_mbs_minus1 = %d\n", p->picture_height_in_mbs_minus1);
1281- va_TraceMsg(idx, "\tbit_depth_luma_minus8 = %d\n", p->bit_depth_luma_minus8);
1282- va_TraceMsg(idx, "\tbit_depth_chroma_minus8 = %d\n", p->bit_depth_chroma_minus8);
1283- va_TraceMsg(idx, "\tnum_ref_frames = %d\n", p->num_ref_frames);
1284- va_TraceMsg(idx, "\tseq fields = %d\n", p->seq_fields.value);
1285- va_TraceMsg(idx, "\tchroma_format_idc = %d\n", p->seq_fields.bits.chroma_format_idc);
1286- va_TraceMsg(idx, "\tresidual_colour_transform_flag = %d\n", p->seq_fields.bits.residual_colour_transform_flag);
1287- va_TraceMsg(idx, "\tframe_mbs_only_flag = %d\n", p->seq_fields.bits.frame_mbs_only_flag);
1288- va_TraceMsg(idx, "\tmb_adaptive_frame_field_flag = %d\n", p->seq_fields.bits.mb_adaptive_frame_field_flag);
1289- va_TraceMsg(idx, "\tdirect_8x8_inference_flag = %d\n", p->seq_fields.bits.direct_8x8_inference_flag);
1290- va_TraceMsg(idx, "\tMinLumaBiPredSize8x8 = %d\n", p->seq_fields.bits.MinLumaBiPredSize8x8);
1291- va_TraceMsg(idx, "\tnum_slice_groups_minus1 = %d\n", p->num_slice_groups_minus1);
1292- va_TraceMsg(idx, "\tslice_group_map_type = %d\n", p->slice_group_map_type);
1293- va_TraceMsg(idx, "\tslice_group_change_rate_minus1 = %d\n", p->slice_group_change_rate_minus1);
1294- va_TraceMsg(idx, "\tpic_init_qp_minus26 = %d\n", p->pic_init_qp_minus26);
1295- va_TraceMsg(idx, "\tpic_init_qs_minus26 = %d\n", p->pic_init_qs_minus26);
1296- va_TraceMsg(idx, "\tchroma_qp_index_offset = %d\n", p->chroma_qp_index_offset);
1297- va_TraceMsg(idx, "\tsecond_chroma_qp_index_offset = %d\n", p->second_chroma_qp_index_offset);
1298- va_TraceMsg(idx, "\tpic_fields = 0x%03x\n", p->pic_fields.value);
1299- va_TraceFlagIfNotZero(idx, "\t\tentropy_coding_mode_flag", p->pic_fields.bits.entropy_coding_mode_flag);
1300- va_TraceFlagIfNotZero(idx, "\t\tweighted_pred_flag", p->pic_fields.bits.weighted_pred_flag);
1301- va_TraceFlagIfNotZero(idx, "\t\tweighted_bipred_idc", p->pic_fields.bits.weighted_bipred_idc);
1302- va_TraceFlagIfNotZero(idx, "\t\ttransform_8x8_mode_flag", p->pic_fields.bits.transform_8x8_mode_flag);
1303- va_TraceFlagIfNotZero(idx, "\t\tfield_pic_flag", p->pic_fields.bits.field_pic_flag);
1304- va_TraceFlagIfNotZero(idx, "\t\tconstrained_intra_pred_flag", p->pic_fields.bits.constrained_intra_pred_flag);
1305- va_TraceFlagIfNotZero(idx, "\t\tpic_order_present_flag", p->pic_fields.bits.pic_order_present_flag);
1306- va_TraceFlagIfNotZero(idx, "\t\tdeblocking_filter_control_present_flag", p->pic_fields.bits.deblocking_filter_control_present_flag);
1307- va_TraceFlagIfNotZero(idx, "\t\tredundant_pic_cnt_present_flag", p->pic_fields.bits.redundant_pic_cnt_present_flag);
1308- va_TraceFlagIfNotZero(idx, "\t\treference_pic_flag", p->pic_fields.bits.reference_pic_flag);
1309- va_TraceMsg(idx, "\tframe_num = %d\n", p->frame_num);
1310- va_TraceMsg(idx, NULL);
1267+ va_TraceMsg(trace_ctx, "\t\tinv-inv-inv-inv-inv\n");
1268+ }
1269+ va_TraceMsg(trace_ctx, "\n");
1270+
1271+ va_TraceMsg(trace_ctx, "\tpicture_width_in_mbs_minus1 = %d\n", p->picture_width_in_mbs_minus1);
1272+ va_TraceMsg(trace_ctx, "\tpicture_height_in_mbs_minus1 = %d\n", p->picture_height_in_mbs_minus1);
1273+ va_TraceMsg(trace_ctx, "\tbit_depth_luma_minus8 = %d\n", p->bit_depth_luma_minus8);
1274+ va_TraceMsg(trace_ctx, "\tbit_depth_chroma_minus8 = %d\n", p->bit_depth_chroma_minus8);
1275+ va_TraceMsg(trace_ctx, "\tnum_ref_frames = %d\n", p->num_ref_frames);
1276+ va_TraceMsg(trace_ctx, "\tseq fields = %d\n", p->seq_fields.value);
1277+ va_TraceMsg(trace_ctx, "\tchroma_format_idc = %d\n", p->seq_fields.bits.chroma_format_idc);
1278+ va_TraceMsg(trace_ctx, "\tresidual_colour_transform_flag = %d\n", p->seq_fields.bits.residual_colour_transform_flag);
1279+ va_TraceMsg(trace_ctx, "\tframe_mbs_only_flag = %d\n", p->seq_fields.bits.frame_mbs_only_flag);
1280+ va_TraceMsg(trace_ctx, "\tmb_adaptive_frame_field_flag = %d\n", p->seq_fields.bits.mb_adaptive_frame_field_flag);
1281+ va_TraceMsg(trace_ctx, "\tdirect_8x8_inference_flag = %d\n", p->seq_fields.bits.direct_8x8_inference_flag);
1282+ va_TraceMsg(trace_ctx, "\tMinLumaBiPredSize8x8 = %d\n", p->seq_fields.bits.MinLumaBiPredSize8x8);
1283+ va_TraceMsg(trace_ctx, "\tnum_slice_groups_minus1 = %d\n", p->num_slice_groups_minus1);
1284+ va_TraceMsg(trace_ctx, "\tslice_group_map_type = %d\n", p->slice_group_map_type);
1285+ va_TraceMsg(trace_ctx, "\tslice_group_change_rate_minus1 = %d\n", p->slice_group_change_rate_minus1);
1286+ va_TraceMsg(trace_ctx, "\tpic_init_qp_minus26 = %d\n", p->pic_init_qp_minus26);
1287+ va_TraceMsg(trace_ctx, "\tpic_init_qs_minus26 = %d\n", p->pic_init_qs_minus26);
1288+ va_TraceMsg(trace_ctx, "\tchroma_qp_index_offset = %d\n", p->chroma_qp_index_offset);
1289+ va_TraceMsg(trace_ctx, "\tsecond_chroma_qp_index_offset = %d\n", p->second_chroma_qp_index_offset);
1290+ va_TraceMsg(trace_ctx, "\tpic_fields = 0x%03x\n", p->pic_fields.value);
1291+ va_TraceFlagIfNotZero(trace_ctx, "\t\tentropy_coding_mode_flag", p->pic_fields.bits.entropy_coding_mode_flag);
1292+ va_TraceFlagIfNotZero(trace_ctx, "\t\tweighted_pred_flag", p->pic_fields.bits.weighted_pred_flag);
1293+ va_TraceFlagIfNotZero(trace_ctx, "\t\tweighted_bipred_idc", p->pic_fields.bits.weighted_bipred_idc);
1294+ va_TraceFlagIfNotZero(trace_ctx, "\t\ttransform_8x8_mode_flag", p->pic_fields.bits.transform_8x8_mode_flag);
1295+ va_TraceFlagIfNotZero(trace_ctx, "\t\tfield_pic_flag", p->pic_fields.bits.field_pic_flag);
1296+ va_TraceFlagIfNotZero(trace_ctx, "\t\tconstrained_intra_pred_flag", p->pic_fields.bits.constrained_intra_pred_flag);
1297+ va_TraceFlagIfNotZero(trace_ctx, "\t\tpic_order_present_flag", p->pic_fields.bits.pic_order_present_flag);
1298+ va_TraceFlagIfNotZero(trace_ctx, "\t\tdeblocking_filter_control_present_flag", p->pic_fields.bits.deblocking_filter_control_present_flag);
1299+ va_TraceFlagIfNotZero(trace_ctx, "\t\tredundant_pic_cnt_present_flag", p->pic_fields.bits.redundant_pic_cnt_present_flag);
1300+ va_TraceFlagIfNotZero(trace_ctx, "\t\treference_pic_flag", p->pic_fields.bits.reference_pic_flag);
1301+ va_TraceMsg(trace_ctx, "\tframe_num = %d\n", p->frame_num);
1302+ va_TraceMsg(trace_ctx, NULL);
13111303
13121304 return;
13131305 }
@@ -1323,83 +1315,90 @@ static void va_TraceVASliceParameterBufferH264(
13231315 {
13241316 int i;
13251317 VASliceParameterBufferH264* p = (VASliceParameterBufferH264*)data;
1326- DPY2INDEX(dpy);
1327-
1328- trace_context[idx].trace_slice_no++;
1329- trace_context[idx].trace_slice_size = p->slice_data_size;
1330-
1331- va_TraceMsg(idx, "VASliceParameterBufferH264\n");
1332- va_TraceMsg(idx, "\tslice_data_size = %d\n", p->slice_data_size);
1333- va_TraceMsg(idx, "\tslice_data_offset = %d\n", p->slice_data_offset);
1334- va_TraceMsg(idx, "\tslice_data_flag = %d\n", p->slice_data_flag);
1335- va_TraceMsg(idx, "\tslice_data_bit_offset = %d\n", p->slice_data_bit_offset);
1336- va_TraceMsg(idx, "\tfirst_mb_in_slice = %d\n", p->first_mb_in_slice);
1337- va_TraceMsg(idx, "\tslice_type = %d\n", p->slice_type);
1338- va_TraceMsg(idx, "\tdirect_spatial_mv_pred_flag = %d\n", p->direct_spatial_mv_pred_flag);
1339- va_TraceMsg(idx, "\tnum_ref_idx_l0_active_minus1 = %d\n", p->num_ref_idx_l0_active_minus1);
1340- va_TraceMsg(idx, "\tnum_ref_idx_l1_active_minus1 = %d\n", p->num_ref_idx_l1_active_minus1);
1341- va_TraceMsg(idx, "\tcabac_init_idc = %d\n", p->cabac_init_idc);
1342- va_TraceMsg(idx, "\tslice_qp_delta = %d\n", p->slice_qp_delta);
1343- va_TraceMsg(idx, "\tdisable_deblocking_filter_idc = %d\n", p->disable_deblocking_filter_idc);
1344- va_TraceMsg(idx, "\tslice_alpha_c0_offset_div2 = %d\n", p->slice_alpha_c0_offset_div2);
1345- va_TraceMsg(idx, "\tslice_beta_offset_div2 = %d\n", p->slice_beta_offset_div2);
1346-
1347- va_TraceMsg(idx, "\tRefPicList0 =");
1318+ DPY2TRACECTX(dpy);
1319+
1320+ trace_ctx->trace_slice_no++;
1321+ trace_ctx->trace_slice_size = p->slice_data_size;
1322+
1323+ va_TraceMsg(trace_ctx, "VASliceParameterBufferH264\n");
1324+ va_TraceMsg(trace_ctx, "\tslice_data_size = %d\n", p->slice_data_size);
1325+ va_TraceMsg(trace_ctx, "\tslice_data_offset = %d\n", p->slice_data_offset);
1326+ va_TraceMsg(trace_ctx, "\tslice_data_flag = %d\n", p->slice_data_flag);
1327+ va_TraceMsg(trace_ctx, "\tslice_data_bit_offset = %d\n", p->slice_data_bit_offset);
1328+ va_TraceMsg(trace_ctx, "\tfirst_mb_in_slice = %d\n", p->first_mb_in_slice);
1329+ va_TraceMsg(trace_ctx, "\tslice_type = %d\n", p->slice_type);
1330+ va_TraceMsg(trace_ctx, "\tdirect_spatial_mv_pred_flag = %d\n", p->direct_spatial_mv_pred_flag);
1331+ va_TraceMsg(trace_ctx, "\tnum_ref_idx_l0_active_minus1 = %d\n", p->num_ref_idx_l0_active_minus1);
1332+ va_TraceMsg(trace_ctx, "\tnum_ref_idx_l1_active_minus1 = %d\n", p->num_ref_idx_l1_active_minus1);
1333+ va_TraceMsg(trace_ctx, "\tcabac_init_idc = %d\n", p->cabac_init_idc);
1334+ va_TraceMsg(trace_ctx, "\tslice_qp_delta = %d\n", p->slice_qp_delta);
1335+ va_TraceMsg(trace_ctx, "\tdisable_deblocking_filter_idc = %d\n", p->disable_deblocking_filter_idc);
1336+ va_TraceMsg(trace_ctx, "\tslice_alpha_c0_offset_div2 = %d\n", p->slice_alpha_c0_offset_div2);
1337+ va_TraceMsg(trace_ctx, "\tslice_beta_offset_div2 = %d\n", p->slice_beta_offset_div2);
1338+
1339+ va_TraceMsg(trace_ctx, "\tRefPicList0 =");
13481340 for (i = 0; i < 32; i++) {
13491341 if ((p->RefPicList0[i].picture_id != VA_INVALID_SURFACE) &&
13501342 ((p->RefPicList0[i].flags & VA_PICTURE_H264_INVALID) == 0))
1351- va_TraceMsg(idx, "%08d-%08d-0x%08x-%08d-0x%08x\n", p->RefPicList0[i].TopFieldOrderCnt, p->RefPicList0[i].BottomFieldOrderCnt, p->RefPicList0[i].picture_id, p->RefPicList0[i].frame_idx, p->RefPicList0[i].flags);
1343+ va_TraceMsg(trace_ctx, "%08d-%08d-0x%08x-%08d-0x%08x\n", p->RefPicList0[i].TopFieldOrderCnt, p->RefPicList0[i].BottomFieldOrderCnt, p->RefPicList0[i].picture_id, p->RefPicList0[i].frame_idx, p->RefPicList0[i].flags);
13521344 else
13531345 break;
13541346 }
1355- va_TraceMsg(idx, "\tRefPicList1 =");
1347+ va_TraceMsg(trace_ctx, "\tRefPicList1 =");
13561348 for (i = 0; i < 32; i++) {
13571349 if ((p->RefPicList0[i].picture_id != VA_INVALID_SURFACE) &&
13581350 ((p->RefPicList0[i].flags & VA_PICTURE_H264_INVALID) == 0))
1359- va_TraceMsg(idx, "%08d-%08d-0x%08x-%08d-0x%08x\n", p->RefPicList1[i].TopFieldOrderCnt, p->RefPicList1[i].BottomFieldOrderCnt, p->RefPicList1[i].picture_id, p->RefPicList1[i].frame_idx, p->RefPicList1[i].flags);
1351+ va_TraceMsg(trace_ctx, "%08d-%08d-0x%08x-%08d-0x%08x\n", p->RefPicList1[i].TopFieldOrderCnt, p->RefPicList1[i].BottomFieldOrderCnt, p->RefPicList1[i].picture_id, p->RefPicList1[i].frame_idx, p->RefPicList1[i].flags);
13601352 else
13611353 break;
13621354 }
13631355
1364- va_TraceMsg(idx, "\tluma_log2_weight_denom = %d\n", p->luma_log2_weight_denom);
1365- va_TraceMsg(idx, "\tchroma_log2_weight_denom = %d\n", p->chroma_log2_weight_denom);
1366- va_TraceMsg(idx, "\tluma_weight_l0_flag = %d\n", p->luma_weight_l0_flag);
1356+ va_TraceMsg(trace_ctx, "\tluma_log2_weight_denom = %d\n", p->luma_log2_weight_denom);
1357+ va_TraceMsg(trace_ctx, "\tchroma_log2_weight_denom = %d\n", p->chroma_log2_weight_denom);
1358+ va_TraceMsg(trace_ctx, "\tluma_weight_l0_flag = %d\n", p->luma_weight_l0_flag);
13671359 if (p->luma_weight_l0_flag) {
1368- for (i = 0; i <= p->num_ref_idx_l0_active_minus1; i++) {
1369- va_TraceMsg(idx, "\t%d ", p->luma_weight_l0[i]);
1370- va_TraceMsg(idx, "\t%d ", p->luma_offset_l0[i]);
1360+ for (i = 0; (i <= p->num_ref_idx_l0_active_minus1) && (i<32); i++) {
1361+ va_TraceMsg(trace_ctx, "\t%d ", p->luma_weight_l0[i]);
1362+ va_TraceMsg(trace_ctx, "\t%d ", p->luma_offset_l0[i]);
13711363 }
1364+ if (p->num_ref_idx_l0_active_minus1 >= 0)
1365+ va_TraceMsg(trace_ctx, "\n");
13721366 }
13731367
1374- va_TraceMsg(idx, "\tchroma_weight_l0_flag = %d\n", p->chroma_weight_l0_flag);
1368+ va_TraceMsg(trace_ctx, "\tchroma_weight_l0_flag = %d\n", p->chroma_weight_l0_flag);
13751369 if (p->chroma_weight_l0_flag) {
1376- for (i = 0; i <= p->num_ref_idx_l0_active_minus1; i++) {
1377- va_TraceMsg(idx, "\t\t%d ", p->chroma_weight_l0[i][0]);
1378- va_TraceMsg(idx, "\t\t%d ", p->chroma_offset_l0[i][0]);
1379- va_TraceMsg(idx, "\t\t%d ", p->chroma_weight_l0[i][1]);
1380- va_TraceMsg(idx, "\t\t%d ", p->chroma_offset_l0[i][1]);
1370+ for (i = 0; (i <= p->num_ref_idx_l0_active_minus1) && (i<32); i++) {
1371+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_weight_l0[i][0]);
1372+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_offset_l0[i][0]);
1373+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_weight_l0[i][1]);
1374+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_offset_l0[i][1]);
13811375 }
1376+ if (p->num_ref_idx_l0_active_minus1 >= 0)
1377+ va_TraceMsg(trace_ctx, "\n");
13821378 }
13831379
1384- va_TraceMsg(idx, "\tluma_weight_l1_flag = %d\n", p->luma_weight_l1_flag);
1380+ va_TraceMsg(trace_ctx, "\tluma_weight_l1_flag = %d\n", p->luma_weight_l1_flag);
13851381 if (p->luma_weight_l1_flag) {
1386- for (i = 0; i <= p->num_ref_idx_l1_active_minus1; i++) {
1387- va_TraceMsg(idx, "\t\t%d ", p->luma_weight_l1[i]);
1388- va_TraceMsg(idx, "\t\t%d ", p->luma_offset_l1[i]);
1382+ for (i = 0; (i <= p->num_ref_idx_l1_active_minus1) && (i<32); i++) {
1383+ va_TraceMsg(trace_ctx, "\t%d ", p->luma_weight_l1[i]);
1384+ va_TraceMsg(trace_ctx, "\t%d ", p->luma_offset_l1[i]);
13891385 }
1386+ if (p->num_ref_idx_l1_active_minus1 >= 0)
1387+ va_TraceMsg(trace_ctx, "\n");
13901388 }
13911389
1392- va_TraceMsg(idx, "\tchroma_weight_l1_flag = %d\n", p->chroma_weight_l1_flag);
1390+ va_TraceMsg(trace_ctx, "\tchroma_weight_l1_flag = %d\n", p->chroma_weight_l1_flag);
13931391 if (p->chroma_weight_l1_flag) {
1394- for (i = 0; i <= p->num_ref_idx_l1_active_minus1; i++) {
1395- va_TraceMsg(idx, "\t\t%d ", p->chroma_weight_l1[i][0]);
1396- va_TraceMsg(idx, "\t\t%d ", p->chroma_offset_l1[i][0]);
1397- va_TraceMsg(idx, "\t\t%d ", p->chroma_weight_l1[i][1]);
1398- va_TraceMsg(idx, "\t\t%d ", p->chroma_offset_l1[i][1]);
1392+ for (i = 0; (i <= p->num_ref_idx_l1_active_minus1) && (i<32); i++) {
1393+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_weight_l1[i][0]);
1394+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_offset_l1[i][0]);
1395+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_weight_l1[i][1]);
1396+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_offset_l1[i][1]);
13991397 }
1400- va_TraceMsg(idx, "\n");
1398+ if (p->num_ref_idx_l1_active_minus1 >= 0)
1399+ va_TraceMsg(trace_ctx, "\n");
14011400 }
1402- va_TraceMsg(idx, NULL);
1401+ va_TraceMsg(trace_ctx, NULL);
14031402 }
14041403
14051404 static void va_TraceVAIQMatrixBufferH264(
@@ -1415,29 +1414,29 @@ static void va_TraceVAIQMatrixBufferH264(
14151414 int i, j;
14161415 VAIQMatrixBufferH264* p = (VAIQMatrixBufferH264* )data;
14171416
1418- DPY2INDEX(dpy);
1417+ DPY2TRACECTX(dpy);
14191418
1420- va_TraceMsg(idx, "VAIQMatrixBufferH264\n");
1419+ va_TraceMsg(trace_ctx, "VAIQMatrixBufferH264\n");
14211420
1422- va_TraceMsg(idx, "\tScalingList4x4[6][16]=\n");
1421+ va_TraceMsg(trace_ctx, "\tScalingList4x4[6][16]=\n");
14231422 for (i = 0; i < 6; i++) {
14241423 for (j = 0; j < 16; j++) {
1425- va_TraceMsg(idx, "\t%d\t", p->ScalingList4x4[i][j]);
1424+ va_TraceMsg(trace_ctx, "\t%d\t", p->ScalingList4x4[i][j]);
14261425 if ((j + 1) % 8 == 0)
1427- va_TraceMsg(idx, "\n");
1426+ va_TraceMsg(trace_ctx, "\n");
14281427 }
14291428 }
14301429
1431- va_TraceMsg(idx, "\tScalingList8x8[2][64]=\n");
1430+ va_TraceMsg(trace_ctx, "\tScalingList8x8[2][64]=\n");
14321431 for (i = 0; i < 2; i++) {
14331432 for (j = 0; j < 64; j++) {
1434- va_TraceMsg(idx, "\t%d", p->ScalingList8x8[i][j]);
1433+ va_TraceMsg(trace_ctx, "\t%d", p->ScalingList8x8[i][j]);
14351434 if ((j + 1) % 8 == 0)
1436- va_TraceMsg(idx, "\n");
1435+ va_TraceMsg(trace_ctx, "\n");
14371436 }
14381437 }
14391438
1440- va_TraceMsg(idx, NULL);
1439+ va_TraceMsg(trace_ctx, NULL);
14411440 }
14421441
14431442
@@ -1452,57 +1451,57 @@ static void va_TraceVAEncSequenceParameterBufferH264(
14521451 void *data)
14531452 {
14541453 VAEncSequenceParameterBufferH264 *p = (VAEncSequenceParameterBufferH264 *)data;
1455- DPY2INDEX(dpy);
1454+ DPY2TRACECTX(dpy);
14561455 int i;
14571456
1458- va_TraceMsg(idx, "VAEncSequenceParameterBufferH264\n");
1459-
1460- va_TraceMsg(idx, "\tseq_parameter_set_id = %d\n", p->seq_parameter_set_id);
1461- va_TraceMsg(idx, "\tlevel_idc = %d\n", p->level_idc);
1462- va_TraceMsg(idx, "\tintra_period = %d\n", p->intra_period);
1463- va_TraceMsg(idx, "\tintra_idr_period = %d\n", p->intra_idr_period);
1464- va_TraceMsg(idx, "\tip_period = %d\n", p->ip_period);
1465- va_TraceMsg(idx, "\tbits_per_second = %d\n", p->bits_per_second);
1466- va_TraceMsg(idx, "\tmax_num_ref_frames = %d\n", p->max_num_ref_frames);
1467- va_TraceMsg(idx, "\tpicture_width_in_mbs = %d\n", p->picture_width_in_mbs);
1468- va_TraceMsg(idx, "\tpicture_height_in_mbs = %d\n", p->picture_height_in_mbs);
1469- va_TraceMsg(idx, "\tchroma_format_idc = %d\n", p->seq_fields.bits.chroma_format_idc);
1470- va_TraceMsg(idx, "\tframe_mbs_only_flag = %d\n", p->seq_fields.bits.frame_mbs_only_flag);
1471- va_TraceMsg(idx, "\tmb_adaptive_frame_field_flag = %d\n", p->seq_fields.bits.mb_adaptive_frame_field_flag);
1472- va_TraceMsg(idx, "\tseq_scaling_matrix_present_flag = %d\n", p->seq_fields.bits.seq_scaling_matrix_present_flag);
1473- va_TraceMsg(idx, "\tdirect_8x8_inference_flag = %d\n", p->seq_fields.bits.direct_8x8_inference_flag);
1474- va_TraceMsg(idx, "\tlog2_max_frame_num_minus4 = %d\n", p->seq_fields.bits.log2_max_frame_num_minus4);
1475- va_TraceMsg(idx, "\tpic_order_cnt_type = %d\n", p->seq_fields.bits.pic_order_cnt_type);
1476- va_TraceMsg(idx, "\tlog2_max_pic_order_cnt_lsb_minus4 = %d\n", p->seq_fields.bits.log2_max_pic_order_cnt_lsb_minus4);
1477- va_TraceMsg(idx, "\tdelta_pic_order_always_zero_flag = %d\n", p->seq_fields.bits.delta_pic_order_always_zero_flag);
1478- va_TraceMsg(idx, "\tbit_depth_luma_minus8 = %d\n", p->bit_depth_luma_minus8);
1479- va_TraceMsg(idx, "\tbit_depth_chroma_minus8 = %d\n", p->bit_depth_chroma_minus8);
1480- va_TraceMsg(idx, "\tnum_ref_frames_in_pic_order_cnt_cycle = %d\n", p->num_ref_frames_in_pic_order_cnt_cycle);
1481- va_TraceMsg(idx, "\toffset_for_non_ref_pic = %d\n", p->offset_for_non_ref_pic);
1482- va_TraceMsg(idx, "\toffset_for_top_to_bottom_field = %d\n", p->offset_for_top_to_bottom_field);
1457+ va_TraceMsg(trace_ctx, "VAEncSequenceParameterBufferH264\n");
1458+
1459+ va_TraceMsg(trace_ctx, "\tseq_parameter_set_id = %d\n", p->seq_parameter_set_id);
1460+ va_TraceMsg(trace_ctx, "\tlevel_idc = %d\n", p->level_idc);
1461+ va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period);
1462+ va_TraceMsg(trace_ctx, "\tintra_idr_period = %d\n", p->intra_idr_period);
1463+ va_TraceMsg(trace_ctx, "\tip_period = %d\n", p->ip_period);
1464+ va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second);
1465+ va_TraceMsg(trace_ctx, "\tmax_num_ref_frames = %d\n", p->max_num_ref_frames);
1466+ va_TraceMsg(trace_ctx, "\tpicture_width_in_mbs = %d\n", p->picture_width_in_mbs);
1467+ va_TraceMsg(trace_ctx, "\tpicture_height_in_mbs = %d\n", p->picture_height_in_mbs);
1468+ va_TraceMsg(trace_ctx, "\tchroma_format_idc = %d\n", p->seq_fields.bits.chroma_format_idc);
1469+ va_TraceMsg(trace_ctx, "\tframe_mbs_only_flag = %d\n", p->seq_fields.bits.frame_mbs_only_flag);
1470+ va_TraceMsg(trace_ctx, "\tmb_adaptive_frame_field_flag = %d\n", p->seq_fields.bits.mb_adaptive_frame_field_flag);
1471+ va_TraceMsg(trace_ctx, "\tseq_scaling_matrix_present_flag = %d\n", p->seq_fields.bits.seq_scaling_matrix_present_flag);
1472+ va_TraceMsg(trace_ctx, "\tdirect_8x8_inference_flag = %d\n", p->seq_fields.bits.direct_8x8_inference_flag);
1473+ va_TraceMsg(trace_ctx, "\tlog2_max_frame_num_minus4 = %d\n", p->seq_fields.bits.log2_max_frame_num_minus4);
1474+ va_TraceMsg(trace_ctx, "\tpic_order_cnt_type = %d\n", p->seq_fields.bits.pic_order_cnt_type);
1475+ va_TraceMsg(trace_ctx, "\tlog2_max_pic_order_cnt_lsb_minus4 = %d\n", p->seq_fields.bits.log2_max_pic_order_cnt_lsb_minus4);
1476+ va_TraceMsg(trace_ctx, "\tdelta_pic_order_always_zero_flag = %d\n", p->seq_fields.bits.delta_pic_order_always_zero_flag);
1477+ va_TraceMsg(trace_ctx, "\tbit_depth_luma_minus8 = %d\n", p->bit_depth_luma_minus8);
1478+ va_TraceMsg(trace_ctx, "\tbit_depth_chroma_minus8 = %d\n", p->bit_depth_chroma_minus8);
1479+ va_TraceMsg(trace_ctx, "\tnum_ref_frames_in_pic_order_cnt_cycle = %d\n", p->num_ref_frames_in_pic_order_cnt_cycle);
1480+ va_TraceMsg(trace_ctx, "\toffset_for_non_ref_pic = %d\n", p->offset_for_non_ref_pic);
1481+ va_TraceMsg(trace_ctx, "\toffset_for_top_to_bottom_field = %d\n", p->offset_for_top_to_bottom_field);
14831482 for(i = 0; i< p->max_num_ref_frames; ++i)
1484- va_TraceMsg(idx, "\toffset_for_ref_frame[%d] = %d\n", i, p->offset_for_ref_frame[i]);
1485- va_TraceMsg(idx, "\tframe_cropping_flag = %d\n", p->frame_cropping_flag);
1486- va_TraceMsg(idx, "\tframe_crop_left_offset = %d\n", p->frame_crop_left_offset);
1487- va_TraceMsg(idx, "\tframe_crop_right_offset = %d\n", p->frame_crop_right_offset);
1488- va_TraceMsg(idx, "\tframe_crop_top_offset = %d\n", p->frame_crop_top_offset);
1489- va_TraceMsg(idx, "\tframe_crop_bottom_offset = %d\n", p->frame_crop_bottom_offset);
1490- va_TraceMsg(idx, "\tvui_parameters_present_flag = %d\n", p->vui_parameters_present_flag);
1491- va_TraceMsg(idx, "\taspect_ratio_info_present_flag = %d\n", p->vui_fields.bits.aspect_ratio_info_present_flag);
1492- va_TraceMsg(idx, "\ttiming_info_present_flag = %d\n", p->vui_fields.bits.timing_info_present_flag);
1493- va_TraceMsg(idx, "\tbitstream_restriction_flag = %d\n", p->vui_fields.bits.bitstream_restriction_flag);
1494- va_TraceMsg(idx, "\tlog2_max_mv_length_horizontal = %d\n", p->vui_fields.bits.log2_max_mv_length_horizontal);
1495- va_TraceMsg(idx, "\tlog2_max_mv_length_vertical = %d\n", p->vui_fields.bits.log2_max_mv_length_vertical);
1496- va_TraceMsg(idx, "\taspect_ratio_idc = %d\n", p->aspect_ratio_idc);
1497- va_TraceMsg(idx, "\tsar_width = %d\n", p->sar_width);
1498- va_TraceMsg(idx, "\tsar_height = %d\n", p->sar_height);
1499- va_TraceMsg(idx, "\tnum_units_in_tick = %d\n", p->num_units_in_tick);
1500- va_TraceMsg(idx, "\ttime_scale = %d\n", p->time_scale);
1501-
1502- va_TraceMsg(idx, NULL);
1483+ va_TraceMsg(trace_ctx, "\toffset_for_ref_frame[%d] = %d\n", i, p->offset_for_ref_frame[i]);
1484+ va_TraceMsg(trace_ctx, "\tframe_cropping_flag = %d\n", p->frame_cropping_flag);
1485+ va_TraceMsg(trace_ctx, "\tframe_crop_left_offset = %d\n", p->frame_crop_left_offset);
1486+ va_TraceMsg(trace_ctx, "\tframe_crop_right_offset = %d\n", p->frame_crop_right_offset);
1487+ va_TraceMsg(trace_ctx, "\tframe_crop_top_offset = %d\n", p->frame_crop_top_offset);
1488+ va_TraceMsg(trace_ctx, "\tframe_crop_bottom_offset = %d\n", p->frame_crop_bottom_offset);
1489+ va_TraceMsg(trace_ctx, "\tvui_parameters_present_flag = %d\n", p->vui_parameters_present_flag);
1490+ va_TraceMsg(trace_ctx, "\taspect_ratio_info_present_flag = %d\n", p->vui_fields.bits.aspect_ratio_info_present_flag);
1491+ va_TraceMsg(trace_ctx, "\ttiming_info_present_flag = %d\n", p->vui_fields.bits.timing_info_present_flag);
1492+ va_TraceMsg(trace_ctx, "\tbitstream_restriction_flag = %d\n", p->vui_fields.bits.bitstream_restriction_flag);
1493+ va_TraceMsg(trace_ctx, "\tlog2_max_mv_length_horizontal = %d\n", p->vui_fields.bits.log2_max_mv_length_horizontal);
1494+ va_TraceMsg(trace_ctx, "\tlog2_max_mv_length_vertical = %d\n", p->vui_fields.bits.log2_max_mv_length_vertical);
1495+ va_TraceMsg(trace_ctx, "\taspect_ratio_idc = %d\n", p->aspect_ratio_idc);
1496+ va_TraceMsg(trace_ctx, "\tsar_width = %d\n", p->sar_width);
1497+ va_TraceMsg(trace_ctx, "\tsar_height = %d\n", p->sar_height);
1498+ va_TraceMsg(trace_ctx, "\tnum_units_in_tick = %d\n", p->num_units_in_tick);
1499+ va_TraceMsg(trace_ctx, "\ttime_scale = %d\n", p->time_scale);
1500+
1501+ va_TraceMsg(trace_ctx, NULL);
15031502
15041503 /* start a new sequce, coded log file can be truncated */
1505- trace_context[idx].trace_sequence_start = 1;
1504+ trace_ctx->trace_sequence_start = 1;
15061505
15071506 return;
15081507 }
@@ -1518,22 +1517,22 @@ static void va_TraceVAEncPictureParameterBufferH264(
15181517 void *data)
15191518 {
15201519 VAEncPictureParameterBufferH264 *p = (VAEncPictureParameterBufferH264 *)data;
1521- DPY2INDEX(dpy);
1520+ DPY2TRACECTX(dpy);
15221521 int i;
15231522
1524- va_TraceMsg(idx, "VAEncPictureParameterBufferH264\n");
1523+ va_TraceMsg(trace_ctx, "VAEncPictureParameterBufferH264\n");
15251524
1526- va_TraceMsg(idx, "\tCurrPic.picture_id = 0x%08x\n", p->CurrPic.picture_id);
1527- va_TraceMsg(idx, "\tCurrPic.frame_idx = %d\n", p->CurrPic.frame_idx);
1528- va_TraceMsg(idx, "\tCurrPic.flags = %d\n", p->CurrPic.flags);
1529- va_TraceMsg(idx, "\tCurrPic.TopFieldOrderCnt = %d\n", p->CurrPic.TopFieldOrderCnt);
1530- va_TraceMsg(idx, "\tCurrPic.BottomFieldOrderCnt = %d\n", p->CurrPic.BottomFieldOrderCnt);
1531- va_TraceMsg(idx, "\tReferenceFrames (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags):\n");
1525+ va_TraceMsg(trace_ctx, "\tCurrPic.picture_id = 0x%08x\n", p->CurrPic.picture_id);
1526+ va_TraceMsg(trace_ctx, "\tCurrPic.frame_idx = %d\n", p->CurrPic.frame_idx);
1527+ va_TraceMsg(trace_ctx, "\tCurrPic.flags = %d\n", p->CurrPic.flags);
1528+ va_TraceMsg(trace_ctx, "\tCurrPic.TopFieldOrderCnt = %d\n", p->CurrPic.TopFieldOrderCnt);
1529+ va_TraceMsg(trace_ctx, "\tCurrPic.BottomFieldOrderCnt = %d\n", p->CurrPic.BottomFieldOrderCnt);
1530+ va_TraceMsg(trace_ctx, "\tReferenceFrames (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags):\n");
15321531 for (i = 0; i < 16; i++)
15331532 {
15341533 if ((p->ReferenceFrames[i].picture_id != VA_INVALID_SURFACE) &&
15351534 ((p->ReferenceFrames[i].flags & VA_PICTURE_H264_INVALID) == 0)) {
1536- va_TraceMsg(idx, "\t\t%08d-%08d-0x%08x-%08d-0x%08x\n",
1535+ va_TraceMsg(trace_ctx, "\t\t%08d-%08d-0x%08x-%08d-0x%08x\n",
15371536 p->ReferenceFrames[i].TopFieldOrderCnt,
15381537 p->ReferenceFrames[i].BottomFieldOrderCnt,
15391538 p->ReferenceFrames[i].picture_id,
@@ -1541,34 +1540,34 @@ static void va_TraceVAEncPictureParameterBufferH264(
15411540 p->ReferenceFrames[i].flags
15421541 );
15431542 } else
1544- va_TraceMsg(idx, "\t\tinv-inv-inv-inv-inv\n");
1545- }
1546- va_TraceMsg(idx, "\tcoded_buf = %08x\n", p->coded_buf);
1547- va_TraceMsg(idx, "\tpic_parameter_set_id = %d\n", p->pic_parameter_set_id);
1548- va_TraceMsg(idx, "\tseq_parameter_set_id = %d\n", p->seq_parameter_set_id);
1549- va_TraceMsg(idx, "\tlast_picture = 0x%08x\n", p->last_picture);
1550- va_TraceMsg(idx, "\tframe_num = %d\n", p->frame_num);
1551- va_TraceMsg(idx, "\tpic_init_qp = %d\n", p->pic_init_qp);
1552- va_TraceMsg(idx, "\tnum_ref_idx_l0_active_minus1 = %d\n", p->num_ref_idx_l0_active_minus1);
1553- va_TraceMsg(idx, "\tnum_ref_idx_l1_active_minus1 = %d\n", p->num_ref_idx_l1_active_minus1);
1554- va_TraceMsg(idx, "\tchroma_qp_index_offset = %d\n", p->chroma_qp_index_offset);
1555- va_TraceMsg(idx, "\tsecond_chroma_qp_index_offset = %d\n", p->second_chroma_qp_index_offset);
1556- va_TraceMsg(idx, "\tpic_fields = 0x%03x\n", p->pic_fields.value);
1557- va_TraceMsg(idx, "\tidr_pic_flag = %d\n", p->pic_fields.bits.idr_pic_flag);
1558- va_TraceMsg(idx, "\treference_pic_flag = %d\n", p->pic_fields.bits.reference_pic_flag);
1559- va_TraceMsg(idx, "\tentropy_coding_mode_flag = %d\n", p->pic_fields.bits.entropy_coding_mode_flag);
1560- va_TraceMsg(idx, "\tweighted_pred_flag = %d\n", p->pic_fields.bits.weighted_pred_flag);
1561- va_TraceMsg(idx, "\tweighted_bipred_idc = %d\n", p->pic_fields.bits.weighted_bipred_idc);
1562- va_TraceMsg(idx, "\tconstrained_intra_pred_flag = %d\n", p->pic_fields.bits.constrained_intra_pred_flag);
1563- va_TraceMsg(idx, "\ttransform_8x8_mode_flag = %d\n", p->pic_fields.bits.transform_8x8_mode_flag);
1564- va_TraceMsg(idx, "\tdeblocking_filter_control_present_flag = %d\n", p->pic_fields.bits.deblocking_filter_control_present_flag);
1565- va_TraceMsg(idx, "\tredundant_pic_cnt_present_flag = %d\n", p->pic_fields.bits.redundant_pic_cnt_present_flag);
1566- va_TraceMsg(idx, "\tpic_order_present_flag = %d\n", p->pic_fields.bits.pic_order_present_flag);
1567- va_TraceMsg(idx, "\tpic_scaling_matrix_present_flag = %d\n", p->pic_fields.bits.pic_scaling_matrix_present_flag);
1568-
1569- va_TraceMsg(idx, NULL);
1570-
1571- trace_context[idx].trace_codedbuf = p->coded_buf;
1543+ va_TraceMsg(trace_ctx, "\t\tinv-inv-inv-inv-inv\n");
1544+ }
1545+ va_TraceMsg(trace_ctx, "\tcoded_buf = %08x\n", p->coded_buf);
1546+ va_TraceMsg(trace_ctx, "\tpic_parameter_set_id = %d\n", p->pic_parameter_set_id);
1547+ va_TraceMsg(trace_ctx, "\tseq_parameter_set_id = %d\n", p->seq_parameter_set_id);
1548+ va_TraceMsg(trace_ctx, "\tlast_picture = 0x%08x\n", p->last_picture);
1549+ va_TraceMsg(trace_ctx, "\tframe_num = %d\n", p->frame_num);
1550+ va_TraceMsg(trace_ctx, "\tpic_init_qp = %d\n", p->pic_init_qp);
1551+ va_TraceMsg(trace_ctx, "\tnum_ref_idx_l0_active_minus1 = %d\n", p->num_ref_idx_l0_active_minus1);
1552+ va_TraceMsg(trace_ctx, "\tnum_ref_idx_l1_active_minus1 = %d\n", p->num_ref_idx_l1_active_minus1);
1553+ va_TraceMsg(trace_ctx, "\tchroma_qp_index_offset = %d\n", p->chroma_qp_index_offset);
1554+ va_TraceMsg(trace_ctx, "\tsecond_chroma_qp_index_offset = %d\n", p->second_chroma_qp_index_offset);
1555+ va_TraceMsg(trace_ctx, "\tpic_fields = 0x%03x\n", p->pic_fields.value);
1556+ va_TraceMsg(trace_ctx, "\tidr_pic_flag = %d\n", p->pic_fields.bits.idr_pic_flag);
1557+ va_TraceMsg(trace_ctx, "\treference_pic_flag = %d\n", p->pic_fields.bits.reference_pic_flag);
1558+ va_TraceMsg(trace_ctx, "\tentropy_coding_mode_flag = %d\n", p->pic_fields.bits.entropy_coding_mode_flag);
1559+ va_TraceMsg(trace_ctx, "\tweighted_pred_flag = %d\n", p->pic_fields.bits.weighted_pred_flag);
1560+ va_TraceMsg(trace_ctx, "\tweighted_bipred_idc = %d\n", p->pic_fields.bits.weighted_bipred_idc);
1561+ va_TraceMsg(trace_ctx, "\tconstrained_intra_pred_flag = %d\n", p->pic_fields.bits.constrained_intra_pred_flag);
1562+ va_TraceMsg(trace_ctx, "\ttransform_8x8_mode_flag = %d\n", p->pic_fields.bits.transform_8x8_mode_flag);
1563+ va_TraceMsg(trace_ctx, "\tdeblocking_filter_control_present_flag = %d\n", p->pic_fields.bits.deblocking_filter_control_present_flag);
1564+ va_TraceMsg(trace_ctx, "\tredundant_pic_cnt_present_flag = %d\n", p->pic_fields.bits.redundant_pic_cnt_present_flag);
1565+ va_TraceMsg(trace_ctx, "\tpic_order_present_flag = %d\n", p->pic_fields.bits.pic_order_present_flag);
1566+ va_TraceMsg(trace_ctx, "\tpic_scaling_matrix_present_flag = %d\n", p->pic_fields.bits.pic_scaling_matrix_present_flag);
1567+
1568+ va_TraceMsg(trace_ctx, NULL);
1569+
1570+ trace_ctx->trace_codedbuf = p->coded_buf;
15721571
15731572 return;
15741573 }
@@ -1583,17 +1582,17 @@ static void va_TraceVAEncSliceParameterBuffer(
15831582 void *data)
15841583 {
15851584 VAEncSliceParameterBuffer* p = (VAEncSliceParameterBuffer*)data;
1586- DPY2INDEX(dpy);
1585+ DPY2TRACECTX(dpy);
15871586
1588- va_TraceMsg(idx, "VAEncSliceParameterBuffer\n");
1587+ va_TraceMsg(trace_ctx, "VAEncSliceParameterBuffer\n");
15891588
1590- va_TraceMsg(idx, "\tstart_row_number = %d\n", p->start_row_number);
1591- va_TraceMsg(idx, "\tslice_height = %d\n", p->slice_height);
1592- va_TraceMsg(idx, "\tslice_flags.is_intra = %d\n", p->slice_flags.bits.is_intra);
1593- va_TraceMsg(idx, "\tslice_flags.disable_deblocking_filter_idc = %d\n", p->slice_flags.bits.disable_deblocking_filter_idc);
1594- va_TraceMsg(idx, "\tslice_flags.uses_long_term_ref = %d\n", p->slice_flags.bits.uses_long_term_ref);
1595- va_TraceMsg(idx, "\tslice_flags.is_long_term_ref = %d\n", p->slice_flags.bits.is_long_term_ref);
1596- va_TraceMsg(idx, NULL);
1589+ va_TraceMsg(trace_ctx, "\tstart_row_number = %d\n", p->start_row_number);
1590+ va_TraceMsg(trace_ctx, "\tslice_height = %d\n", p->slice_height);
1591+ va_TraceMsg(trace_ctx, "\tslice_flags.is_intra = %d\n", p->slice_flags.bits.is_intra);
1592+ va_TraceMsg(trace_ctx, "\tslice_flags.disable_deblocking_filter_idc = %d\n", p->slice_flags.bits.disable_deblocking_filter_idc);
1593+ va_TraceMsg(trace_ctx, "\tslice_flags.uses_long_term_ref = %d\n", p->slice_flags.bits.uses_long_term_ref);
1594+ va_TraceMsg(trace_ctx, "\tslice_flags.is_long_term_ref = %d\n", p->slice_flags.bits.is_long_term_ref);
1595+ va_TraceMsg(trace_ctx, NULL);
15971596
15981597 return;
15991598 }
@@ -1608,32 +1607,32 @@ static void va_TraceVAEncSliceParameterBufferH264(
16081607 void *data)
16091608 {
16101609 VAEncSliceParameterBufferH264* p = (VAEncSliceParameterBufferH264*)data;
1611- DPY2INDEX(dpy);
1610+ DPY2TRACECTX(dpy);
16121611 int i;
16131612
16141613 if (!p)
16151614 return;
1616- va_TraceMsg(idx, "VAEncSliceParameterBufferH264\n");
1617- va_TraceMsg(idx, "\tmacroblock_address = %d\n", p->macroblock_address);
1618- va_TraceMsg(idx, "\tnum_macroblocks = %d\n", p->num_macroblocks);
1619- va_TraceMsg(idx, "\tmacroblock_info = %08x\n", p->macroblock_info);
1620- va_TraceMsg(idx, "\tslice_type = %d\n", p->slice_type);
1621- va_TraceMsg(idx, "\tpic_parameter_set_id = %d\n", p->pic_parameter_set_id);
1622- va_TraceMsg(idx, "\tidr_pic_id = %d\n", p->idr_pic_id);
1623- va_TraceMsg(idx, "\tpic_order_cnt_lsb = %d\n", p->pic_order_cnt_lsb);
1624- va_TraceMsg(idx, "\tdelta_pic_order_cnt_bottom = %d\n", p->delta_pic_order_cnt_bottom);
1625- va_TraceMsg(idx, "\tdelta_pic_order_cnt[0] = %d\n", p->delta_pic_order_cnt[0]);
1626- va_TraceMsg(idx, "\tdelta_pic_order_cnt[1] = %d\n", p->delta_pic_order_cnt[1]);
1627- va_TraceMsg(idx, "\tdirect_spatial_mv_pred_flag = %d\n", p->direct_spatial_mv_pred_flag);
1628- va_TraceMsg(idx, "\tnum_ref_idx_active_override_flag = %d\n", p->num_ref_idx_active_override_flag);
1629- va_TraceMsg(idx, "\tnum_ref_idx_l1_active_minus1 = %d\n", p->num_ref_idx_l1_active_minus1);
1630- va_TraceMsg(idx, "\tslice_beta_offset_div2 = %d\n", p->slice_beta_offset_div2);
1631-
1632- va_TraceMsg(idx, "\tRefPicList0 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags):\n");
1615+ va_TraceMsg(trace_ctx, "VAEncSliceParameterBufferH264\n");
1616+ va_TraceMsg(trace_ctx, "\tmacroblock_address = %d\n", p->macroblock_address);
1617+ va_TraceMsg(trace_ctx, "\tnum_macroblocks = %d\n", p->num_macroblocks);
1618+ va_TraceMsg(trace_ctx, "\tmacroblock_info = %08x\n", p->macroblock_info);
1619+ va_TraceMsg(trace_ctx, "\tslice_type = %d\n", p->slice_type);
1620+ va_TraceMsg(trace_ctx, "\tpic_parameter_set_id = %d\n", p->pic_parameter_set_id);
1621+ va_TraceMsg(trace_ctx, "\tidr_pic_id = %d\n", p->idr_pic_id);
1622+ va_TraceMsg(trace_ctx, "\tpic_order_cnt_lsb = %d\n", p->pic_order_cnt_lsb);
1623+ va_TraceMsg(trace_ctx, "\tdelta_pic_order_cnt_bottom = %d\n", p->delta_pic_order_cnt_bottom);
1624+ va_TraceMsg(trace_ctx, "\tdelta_pic_order_cnt[0] = %d\n", p->delta_pic_order_cnt[0]);
1625+ va_TraceMsg(trace_ctx, "\tdelta_pic_order_cnt[1] = %d\n", p->delta_pic_order_cnt[1]);
1626+ va_TraceMsg(trace_ctx, "\tdirect_spatial_mv_pred_flag = %d\n", p->direct_spatial_mv_pred_flag);
1627+ va_TraceMsg(trace_ctx, "\tnum_ref_idx_active_override_flag = %d\n", p->num_ref_idx_active_override_flag);
1628+ va_TraceMsg(trace_ctx, "\tnum_ref_idx_l1_active_minus1 = %d\n", p->num_ref_idx_l1_active_minus1);
1629+ va_TraceMsg(trace_ctx, "\tslice_beta_offset_div2 = %d\n", p->slice_beta_offset_div2);
1630+
1631+ va_TraceMsg(trace_ctx, "\tRefPicList0 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags):\n");
16331632 for (i = 0; i < 32; i++) {
16341633 if ((p->RefPicList0[i].picture_id != VA_INVALID_SURFACE) &&
16351634 ((p->RefPicList0[i].flags & VA_PICTURE_H264_INVALID) == 0))
1636- va_TraceMsg(idx, "\t\t%08d-%08d-0x%08x-%08d-0x%08x\n",
1635+ va_TraceMsg(trace_ctx, "\t\t%08d-%08d-0x%08x-%08d-0x%08x\n",
16371636 p->RefPicList0[i].TopFieldOrderCnt,
16381637 p->RefPicList0[i].BottomFieldOrderCnt,
16391638 p->RefPicList0[i].picture_id,
@@ -1643,11 +1642,11 @@ static void va_TraceVAEncSliceParameterBufferH264(
16431642 break;
16441643 }
16451644
1646- va_TraceMsg(idx, "\tRefPicList1 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags):\n");
1645+ va_TraceMsg(trace_ctx, "\tRefPicList1 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags):\n");
16471646 for (i = 0; i < 32; i++) {
16481647 if ((p->RefPicList1[i].picture_id != VA_INVALID_SURFACE) &&
16491648 ((p->RefPicList1[i].flags & VA_PICTURE_H264_INVALID) == 0))
1650- va_TraceMsg(idx, "\t\t%08d-%08d-0x%08x-%08d-0x%08d\n",
1649+ va_TraceMsg(trace_ctx, "\t\t%08d-%08d-0x%08x-%08d-0x%08d\n",
16511650 p->RefPicList1[i].TopFieldOrderCnt,
16521651 p->RefPicList1[i].BottomFieldOrderCnt,
16531652 p->RefPicList1[i].picture_id,
@@ -1658,52 +1657,59 @@ static void va_TraceVAEncSliceParameterBufferH264(
16581657 break;
16591658 }
16601659
1661- va_TraceMsg(idx, "\tluma_log2_weight_denom = %d\n", p->luma_log2_weight_denom);
1662- va_TraceMsg(idx, "\tchroma_log2_weight_denom = %d\n", p->chroma_log2_weight_denom);
1663- va_TraceMsg(idx, "\tluma_weight_l0_flag = %d\n", p->luma_weight_l0_flag);
1664- if (p->luma_weight_l0_flag && p->num_ref_idx_l0_active_minus1 < 32) {
1665- for (i = 0; i <= p->num_ref_idx_l0_active_minus1; i++) {
1666- va_TraceMsg(idx, "\t%d ", p->luma_weight_l0[i]);
1667- va_TraceMsg(idx, "\t%d ", p->luma_offset_l0[i]);
1660+ va_TraceMsg(trace_ctx, "\tluma_log2_weight_denom = %d\n", p->luma_log2_weight_denom);
1661+ va_TraceMsg(trace_ctx, "\tchroma_log2_weight_denom = %d\n", p->chroma_log2_weight_denom);
1662+ va_TraceMsg(trace_ctx, "\tluma_weight_l0_flag = %d\n", p->luma_weight_l0_flag);
1663+ if (p->luma_weight_l0_flag) {
1664+ for (i = 0; (i <= p->num_ref_idx_l0_active_minus1) && (i<32); i++) {
1665+ va_TraceMsg(trace_ctx, "\t%d ", p->luma_weight_l0[i]);
1666+ va_TraceMsg(trace_ctx, "\t%d ", p->luma_offset_l0[i]);
16681667 }
1668+ if (p->num_ref_idx_l0_active_minus1 >=0)
1669+ va_TraceMsg(trace_ctx, "\n");
16691670 }
16701671
1671- va_TraceMsg(idx, "\tchroma_weight_l0_flag = %d\n", p->chroma_weight_l0_flag);
1672- if (p->chroma_weight_l0_flag && p->num_ref_idx_l0_active_minus1 < 32) {
1673- for (i = 0; i <= p->num_ref_idx_l0_active_minus1; i++) {
1674- va_TraceMsg(idx, "\t\t%d ", p->chroma_weight_l0[i][0]);
1675- va_TraceMsg(idx, "\t\t%d ", p->chroma_offset_l0[i][0]);
1676- va_TraceMsg(idx, "\t\t%d ", p->chroma_weight_l0[i][1]);
1677- va_TraceMsg(idx, "\t\t%d ", p->chroma_offset_l0[i][1]);
1672+ va_TraceMsg(trace_ctx, "\tchroma_weight_l0_flag = %d\n", p->chroma_weight_l0_flag);
1673+ if (p->chroma_weight_l0_flag) {
1674+ for (i = 0; (i <= p->num_ref_idx_l0_active_minus1) && (i<32); i++) {
1675+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_weight_l0[i][0]);
1676+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_offset_l0[i][0]);
1677+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_weight_l0[i][1]);
1678+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_offset_l0[i][1]);
16781679 }
1680+ if (p->num_ref_idx_l0_active_minus1 >= 0)
1681+ va_TraceMsg(trace_ctx, "\n");
16791682 }
16801683
1681- va_TraceMsg(idx, "\tluma_weight_l1_flag = %d\n", p->luma_weight_l1_flag);
1682- if (p->luma_weight_l1_flag && p->num_ref_idx_l1_active_minus1 < 32) {
1683- for (i = 0; i <= p->num_ref_idx_l1_active_minus1; i++) {
1684- va_TraceMsg(idx, "\t\t%d ", p->luma_weight_l1[i]);
1685- va_TraceMsg(idx, "\t\t%d ", p->luma_offset_l1[i]);
1684+ va_TraceMsg(trace_ctx, "\tluma_weight_l1_flag = %d\n", p->luma_weight_l1_flag);
1685+ if (p->luma_weight_l1_flag) {
1686+ for (i = 0; (i <= p->num_ref_idx_l1_active_minus1) && (i<32); i++) {
1687+ va_TraceMsg(trace_ctx, "\t\t%d ", p->luma_weight_l1[i]);
1688+ va_TraceMsg(trace_ctx, "\t\t%d ", p->luma_offset_l1[i]);
16861689 }
1690+ if (p->num_ref_idx_l1_active_minus1 >= 0)
1691+ va_TraceMsg(trace_ctx, "\n");
16871692 }
16881693
1689- va_TraceMsg(idx, "\tchroma_weight_l1_flag = %d\n", p->chroma_weight_l1_flag);
1694+ va_TraceMsg(trace_ctx, "\tchroma_weight_l1_flag = %d\n", p->chroma_weight_l1_flag);
16901695 if (p->chroma_weight_l1_flag && p->num_ref_idx_l1_active_minus1 < 32) {
1691- for (i = 0; i <= p->num_ref_idx_l1_active_minus1; i++) {
1692- va_TraceMsg(idx, "\t\t%d ", p->chroma_weight_l1[i][0]);
1693- va_TraceMsg(idx, "\t\t%d ", p->chroma_offset_l1[i][0]);
1694- va_TraceMsg(idx, "\t\t%d ", p->chroma_weight_l1[i][1]);
1695- va_TraceMsg(idx, "\t\t%d ", p->chroma_offset_l1[i][1]);
1696+ for (i = 0; (i <= p->num_ref_idx_l1_active_minus1) && (i<32); i++) {
1697+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_weight_l1[i][0]);
1698+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_offset_l1[i][0]);
1699+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_weight_l1[i][1]);
1700+ va_TraceMsg(trace_ctx, "\t%d ", p->chroma_offset_l1[i][1]);
16961701 }
1697- va_TraceMsg(idx, "\n");
1702+ if ( p->num_ref_idx_l1_active_minus1 >=0)
1703+ va_TraceMsg(trace_ctx, "\n");
16981704 }
1699- va_TraceMsg(idx, NULL);
1705+ va_TraceMsg(trace_ctx, NULL);
17001706
1701- va_TraceMsg(idx, "\tcabac_init_idc = %d\n", p->cabac_init_idc);
1702- va_TraceMsg(idx, "\tslice_qp_delta = %d\n", p->slice_qp_delta);
1703- va_TraceMsg(idx, "\tdisable_deblocking_filter_idc = %d\n", p->disable_deblocking_filter_idc);
1704- va_TraceMsg(idx, "\tslice_alpha_c0_offset_div2 = %d\n", p->slice_alpha_c0_offset_div2);
1705- va_TraceMsg(idx, "\tslice_beta_offset_div2 = %d\n", p->slice_beta_offset_div2);
1706- va_TraceMsg(idx, NULL);
1707+ va_TraceMsg(trace_ctx, "\tcabac_init_idc = %d\n", p->cabac_init_idc);
1708+ va_TraceMsg(trace_ctx, "\tslice_qp_delta = %d\n", p->slice_qp_delta);
1709+ va_TraceMsg(trace_ctx, "\tdisable_deblocking_filter_idc = %d\n", p->disable_deblocking_filter_idc);
1710+ va_TraceMsg(trace_ctx, "\tslice_alpha_c0_offset_div2 = %d\n", p->slice_alpha_c0_offset_div2);
1711+ va_TraceMsg(trace_ctx, "\tslice_beta_offset_div2 = %d\n", p->slice_beta_offset_div2);
1712+ va_TraceMsg(trace_ctx, NULL);
17071713
17081714 return;
17091715 }
@@ -1719,16 +1725,16 @@ static void va_TraceVAEncPackedHeaderParameterBufferType(
17191725 void *data)
17201726 {
17211727 VAEncPackedHeaderParameterBuffer* p = (VAEncPackedHeaderParameterBuffer*)data;
1722- DPY2INDEX(dpy);
1728+ DPY2TRACECTX(dpy);
17231729 int i;
17241730
17251731 if (!p)
17261732 return;
1727- va_TraceMsg(idx, "VAEncPackedHeaderParameterBuffer\n");
1728- va_TraceMsg(idx, "\ttype = 0x%08x\n", p->type);
1729- va_TraceMsg(idx, "\tbit_length = %d\n", p->bit_length);
1730- va_TraceMsg(idx, "\thas_emulation_bytes = %d\n", p->has_emulation_bytes);
1731- va_TraceMsg(idx, NULL);
1733+ va_TraceMsg(trace_ctx, "VAEncPackedHeaderParameterBuffer\n");
1734+ va_TraceMsg(trace_ctx, "\ttype = 0x%08x\n", p->type);
1735+ va_TraceMsg(trace_ctx, "\tbit_length = %d\n", p->bit_length);
1736+ va_TraceMsg(trace_ctx, "\thas_emulation_bytes = %d\n", p->has_emulation_bytes);
1737+ va_TraceMsg(trace_ctx, NULL);
17321738
17331739 return;
17341740 }
@@ -1743,14 +1749,14 @@ static void va_TraceVAEncMiscParameterBuffer(
17431749 void *data)
17441750 {
17451751 VAEncMiscParameterBuffer* tmp = (VAEncMiscParameterBuffer*)data;
1746- DPY2INDEX(dpy);
1752+ DPY2TRACECTX(dpy);
17471753
17481754 switch (tmp->type) {
17491755 case VAEncMiscParameterTypeFrameRate:
17501756 {
17511757 VAEncMiscParameterFrameRate *p = (VAEncMiscParameterFrameRate *)tmp->data;
1752- va_TraceMsg(idx, "VAEncMiscParameterFrameRate\n");
1753- va_TraceMsg(idx, "\tframerate = %d\n", p->framerate);
1758+ va_TraceMsg(trace_ctx, "VAEncMiscParameterFrameRate\n");
1759+ va_TraceMsg(trace_ctx, "\tframerate = %d\n", p->framerate);
17541760
17551761 break;
17561762 }
@@ -1758,51 +1764,51 @@ static void va_TraceVAEncMiscParameterBuffer(
17581764 {
17591765 VAEncMiscParameterRateControl *p = (VAEncMiscParameterRateControl *)tmp->data;
17601766
1761- va_TraceMsg(idx, "VAEncMiscParameterRateControl\n");
1762- va_TraceMsg(idx, "\tbits_per_second = %d\n", p->bits_per_second);
1763- va_TraceMsg(idx, "\ttarget_percentage = %d\n", p->target_percentage);
1764- va_TraceMsg(idx, "\twindow_size = %d\n", p->window_size);
1765- va_TraceMsg(idx, "\tinitial_qp = %d\n", p->initial_qp);
1766- va_TraceMsg(idx, "\tmin_qp = %d\n", p->min_qp);
1767- va_TraceMsg(idx, "\tbasic_unit_size = %d\n", p->basic_unit_size);
1768- va_TraceMsg(idx, "\trc_flags.reset = %d \n", p->rc_flags.bits.reset);
1769- va_TraceMsg(idx, "\trc_flags.disable_frame_skip = %d\n", p->rc_flags.bits.disable_frame_skip);
1770- va_TraceMsg(idx, "\trc_flags.disable_bit_stuffing = %d\n", p->rc_flags.bits.disable_bit_stuffing);
1767+ va_TraceMsg(trace_ctx, "VAEncMiscParameterRateControl\n");
1768+ va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second);
1769+ va_TraceMsg(trace_ctx, "\ttarget_percentage = %d\n", p->target_percentage);
1770+ va_TraceMsg(trace_ctx, "\twindow_size = %d\n", p->window_size);
1771+ va_TraceMsg(trace_ctx, "\tinitial_qp = %d\n", p->initial_qp);
1772+ va_TraceMsg(trace_ctx, "\tmin_qp = %d\n", p->min_qp);
1773+ va_TraceMsg(trace_ctx, "\tbasic_unit_size = %d\n", p->basic_unit_size);
1774+ va_TraceMsg(trace_ctx, "\trc_flags.reset = %d \n", p->rc_flags.bits.reset);
1775+ va_TraceMsg(trace_ctx, "\trc_flags.disable_frame_skip = %d\n", p->rc_flags.bits.disable_frame_skip);
1776+ va_TraceMsg(trace_ctx, "\trc_flags.disable_bit_stuffing = %d\n", p->rc_flags.bits.disable_bit_stuffing);
17711777 break;
17721778 }
17731779 case VAEncMiscParameterTypeMaxSliceSize:
17741780 {
17751781 VAEncMiscParameterMaxSliceSize *p = (VAEncMiscParameterMaxSliceSize *)tmp->data;
17761782
1777- va_TraceMsg(idx, "VAEncMiscParameterTypeMaxSliceSize\n");
1778- va_TraceMsg(idx, "\tmax_slice_size = %d\n", p->max_slice_size);
1783+ va_TraceMsg(trace_ctx, "VAEncMiscParameterTypeMaxSliceSize\n");
1784+ va_TraceMsg(trace_ctx, "\tmax_slice_size = %d\n", p->max_slice_size);
17791785 break;
17801786 }
17811787 case VAEncMiscParameterTypeAIR:
17821788 {
17831789 VAEncMiscParameterAIR *p = (VAEncMiscParameterAIR *)tmp->data;
17841790
1785- va_TraceMsg(idx, "VAEncMiscParameterAIR\n");
1786- va_TraceMsg(idx, "\tair_num_mbs = %d\n", p->air_num_mbs);
1787- va_TraceMsg(idx, "\tair_threshold = %d\n", p->air_threshold);
1788- va_TraceMsg(idx, "\tair_auto = %d\n", p->air_auto);
1791+ va_TraceMsg(trace_ctx, "VAEncMiscParameterAIR\n");
1792+ va_TraceMsg(trace_ctx, "\tair_num_mbs = %d\n", p->air_num_mbs);
1793+ va_TraceMsg(trace_ctx, "\tair_threshold = %d\n", p->air_threshold);
1794+ va_TraceMsg(trace_ctx, "\tair_auto = %d\n", p->air_auto);
17891795 break;
17901796 }
17911797 case VAEncMiscParameterTypeHRD:
17921798 {
17931799 VAEncMiscParameterHRD *p = (VAEncMiscParameterHRD *)tmp->data;
17941800
1795- va_TraceMsg(idx, "VAEncMiscParameterHRD\n");
1796- va_TraceMsg(idx, "\tinitial_buffer_fullness = %d\n", p->initial_buffer_fullness);
1797- va_TraceMsg(idx, "\tbuffer_size = %d\n", p->buffer_size);
1801+ va_TraceMsg(trace_ctx, "VAEncMiscParameterHRD\n");
1802+ va_TraceMsg(trace_ctx, "\tinitial_buffer_fullness = %d\n", p->initial_buffer_fullness);
1803+ va_TraceMsg(trace_ctx, "\tbuffer_size = %d\n", p->buffer_size);
17981804 break;
17991805 }
18001806 default:
1801- va_TraceMsg(idx, "Unknown VAEncMiscParameterBuffer(type = %d):", tmp->type);
1807+ va_TraceMsg(trace_ctx, "Unknown VAEncMiscParameterBuffer(type = %d):", tmp->type);
18021808 va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, data);
18031809 break;
18041810 }
1805- va_TraceMsg(idx, NULL);
1811+ va_TraceMsg(trace_ctx, NULL);
18061812
18071813 return;
18081814 }
@@ -1819,98 +1825,98 @@ static void va_TraceVAPictureParameterBufferVC1(
18191825 )
18201826 {
18211827 VAPictureParameterBufferVC1* p = (VAPictureParameterBufferVC1*)data;
1822- DPY2INDEX(dpy);
1823-
1824- va_TraceMsg(idx, "VAPictureParameterBufferVC1\n");
1825-
1826- va_TraceMsg(idx, "\tforward_reference_picture = 0x%08x\n", p->forward_reference_picture);
1827- va_TraceMsg(idx, "\tbackward_reference_picture = 0x%08x\n", p->backward_reference_picture);
1828- va_TraceMsg(idx, "\tinloop_decoded_picture = 0x%08x\n", p->inloop_decoded_picture);
1829-
1830- va_TraceMsg(idx, "\tpulldown = %d\n", p->sequence_fields.bits.pulldown);
1831- va_TraceMsg(idx, "\tinterlace = %d\n", p->sequence_fields.bits.interlace);
1832- va_TraceMsg(idx, "\ttfcntrflag = %d\n", p->sequence_fields.bits.tfcntrflag);
1833- va_TraceMsg(idx, "\tfinterpflag = %d\n", p->sequence_fields.bits.finterpflag);
1834- va_TraceMsg(idx, "\tpsf = %d\n", p->sequence_fields.bits.psf);
1835- va_TraceMsg(idx, "\tmultires = %d\n", p->sequence_fields.bits.multires);
1836- va_TraceMsg(idx, "\toverlap = %d\n", p->sequence_fields.bits.overlap);
1837- va_TraceMsg(idx, "\tsyncmarker = %d\n", p->sequence_fields.bits.syncmarker);
1838- va_TraceMsg(idx, "\trangered = %d\n", p->sequence_fields.bits.rangered);
1839- va_TraceMsg(idx, "\tmax_b_frames = %d\n", p->sequence_fields.bits.max_b_frames);
1840- va_TraceMsg(idx, "\tprofile = %d\n", p->sequence_fields.bits.profile);
1841- va_TraceMsg(idx, "\tcoded_width = %d\n", p->coded_width);
1842- va_TraceMsg(idx, "\tcoded_height = %d\n", p->coded_height);
1843- va_TraceMsg(idx, "\tclosed_entry = %d\n", p->entrypoint_fields.bits.closed_entry);
1844- va_TraceMsg(idx, "\tbroken_link = %d\n", p->entrypoint_fields.bits.broken_link);
1845- va_TraceMsg(idx, "\tclosed_entry = %d\n", p->entrypoint_fields.bits.closed_entry);
1846- va_TraceMsg(idx, "\tpanscan_flag = %d\n", p->entrypoint_fields.bits.panscan_flag);
1847- va_TraceMsg(idx, "\tloopfilter = %d\n", p->entrypoint_fields.bits.loopfilter);
1848- va_TraceMsg(idx, "\tconditional_overlap_flag = %d\n", p->conditional_overlap_flag);
1849- va_TraceMsg(idx, "\tfast_uvmc_flag = %d\n", p->fast_uvmc_flag);
1850- va_TraceMsg(idx, "\trange_mapping_luma_flag = %d\n", p->range_mapping_fields.bits.luma_flag);
1851- va_TraceMsg(idx, "\trange_mapping_luma = %d\n", p->range_mapping_fields.bits.luma);
1852- va_TraceMsg(idx, "\trange_mapping_chroma_flag = %d\n", p->range_mapping_fields.bits.chroma_flag);
1853- va_TraceMsg(idx, "\trange_mapping_chroma = %d\n", p->range_mapping_fields.bits.chroma);
1854- va_TraceMsg(idx, "\tb_picture_fraction = %d\n", p->b_picture_fraction);
1855- va_TraceMsg(idx, "\tcbp_table = %d\n", p->cbp_table);
1856- va_TraceMsg(idx, "\tmb_mode_table = %d\n", p->mb_mode_table);
1857- va_TraceMsg(idx, "\trange_reduction_frame = %d\n", p->range_reduction_frame);
1858- va_TraceMsg(idx, "\trounding_control = %d\n", p->rounding_control);
1859- va_TraceMsg(idx, "\tpost_processing = %d\n", p->post_processing);
1860- va_TraceMsg(idx, "\tpicture_resolution_index = %d\n", p->picture_resolution_index);
1861- va_TraceMsg(idx, "\tluma_scale = %d\n", p->luma_scale);
1862- va_TraceMsg(idx, "\tluma_shift = %d\n", p->luma_shift);
1863- va_TraceMsg(idx, "\tpicture_type = %d\n", p->picture_fields.bits.picture_type);
1864- va_TraceMsg(idx, "\tframe_coding_mode = %d\n", p->picture_fields.bits.frame_coding_mode);
1865- va_TraceMsg(idx, "\ttop_field_first = %d\n", p->picture_fields.bits.top_field_first);
1866- va_TraceMsg(idx, "\tis_first_field = %d\n", p->picture_fields.bits.is_first_field);
1867- va_TraceMsg(idx, "\tintensity_compensation = %d\n", p->picture_fields.bits.intensity_compensation);
1868- va_TraceMsg(idx, "\tmv_type_mb = %d\n", p->raw_coding.flags.mv_type_mb);
1869- va_TraceMsg(idx, "\tdirect_mb = %d\n", p->raw_coding.flags.direct_mb);
1870- va_TraceMsg(idx, "\tskip_mb = %d\n", p->raw_coding.flags.skip_mb);
1871- va_TraceMsg(idx, "\tfield_tx = %d\n", p->raw_coding.flags.field_tx);
1872- va_TraceMsg(idx, "\tforward_mb = %d\n", p->raw_coding.flags.forward_mb);
1873- va_TraceMsg(idx, "\tac_pred = %d\n", p->raw_coding.flags.ac_pred);
1874- va_TraceMsg(idx, "\toverflags = %d\n", p->raw_coding.flags.overflags);
1875- va_TraceMsg(idx, "\tbp_mv_type_mb = %d\n", p->bitplane_present.flags.bp_mv_type_mb);
1876- va_TraceMsg(idx, "\tbp_direct_mb = %d\n", p->bitplane_present.flags.bp_direct_mb);
1877- va_TraceMsg(idx, "\tbp_skip_mb = %d\n", p->bitplane_present.flags.bp_skip_mb);
1878- va_TraceMsg(idx, "\tbp_field_tx = %d\n", p->bitplane_present.flags.bp_field_tx);
1879- va_TraceMsg(idx, "\tbp_forward_mb = %d\n", p->bitplane_present.flags.bp_forward_mb);
1880- va_TraceMsg(idx, "\tbp_ac_pred = %d\n", p->bitplane_present.flags.bp_ac_pred);
1881- va_TraceMsg(idx, "\tbp_overflags = %d\n", p->bitplane_present.flags.bp_overflags);
1882- va_TraceMsg(idx, "\treference_distance_flag = %d\n", p->reference_fields.bits.reference_distance_flag);
1883- va_TraceMsg(idx, "\treference_distance = %d\n", p->reference_fields.bits.reference_distance);
1884- va_TraceMsg(idx, "\tnum_reference_pictures = %d\n", p->reference_fields.bits.num_reference_pictures);
1885- va_TraceMsg(idx, "\treference_field_pic_indicator = %d\n", p->reference_fields.bits.reference_field_pic_indicator);
1886- va_TraceMsg(idx, "\tmv_mode = %d\n", p->mv_fields.bits.mv_mode);
1887- va_TraceMsg(idx, "\tmv_mode2 = %d\n", p->mv_fields.bits.mv_mode2);
1888- va_TraceMsg(idx, "\tmv_table = %d\n", p->mv_fields.bits.mv_table);
1889- va_TraceMsg(idx, "\ttwo_mv_block_pattern_table = %d\n", p->mv_fields.bits.two_mv_block_pattern_table);
1890- va_TraceMsg(idx, "\tfour_mv_switch = %d\n", p->mv_fields.bits.four_mv_switch);
1891- va_TraceMsg(idx, "\tfour_mv_block_pattern_table = %d\n", p->mv_fields.bits.four_mv_block_pattern_table);
1892- va_TraceMsg(idx, "\textended_mv_flag = %d\n", p->mv_fields.bits.extended_mv_flag);
1893- va_TraceMsg(idx, "\textended_mv_range = %d\n", p->mv_fields.bits.extended_mv_range);
1894- va_TraceMsg(idx, "\textended_dmv_flag = %d\n", p->mv_fields.bits.extended_dmv_flag);
1895- va_TraceMsg(idx, "\textended_dmv_range = %d\n", p->mv_fields.bits.extended_dmv_range);
1896- va_TraceMsg(idx, "\tdquant = %d\n", p->pic_quantizer_fields.bits.dquant);
1897- va_TraceMsg(idx, "\tquantizer = %d\n", p->pic_quantizer_fields.bits.quantizer);
1898- va_TraceMsg(idx, "\thalf_qp = %d\n", p->pic_quantizer_fields.bits.half_qp);
1899- va_TraceMsg(idx, "\tpic_quantizer_scale = %d\n", p->pic_quantizer_fields.bits.pic_quantizer_scale);
1900- va_TraceMsg(idx, "\tpic_quantizer_type = %d\n", p->pic_quantizer_fields.bits.pic_quantizer_type);
1901- va_TraceMsg(idx, "\tdq_frame = %d\n", p->pic_quantizer_fields.bits.dq_frame);
1902- va_TraceMsg(idx, "\tdq_profile = %d\n", p->pic_quantizer_fields.bits.dq_profile);
1903- va_TraceMsg(idx, "\tdq_sb_edge = %d\n", p->pic_quantizer_fields.bits.dq_sb_edge);
1904- va_TraceMsg(idx, "\tdq_db_edge = %d\n", p->pic_quantizer_fields.bits.dq_db_edge);
1905- va_TraceMsg(idx, "\tdq_binary_level = %d\n", p->pic_quantizer_fields.bits.dq_binary_level);
1906- va_TraceMsg(idx, "\talt_pic_quantizer = %d\n", p->pic_quantizer_fields.bits.alt_pic_quantizer);
1907- va_TraceMsg(idx, "\tvariable_sized_transform_flag = %d\n", p->transform_fields.bits.variable_sized_transform_flag);
1908- va_TraceMsg(idx, "\tmb_level_transform_type_flag = %d\n", p->transform_fields.bits.mb_level_transform_type_flag);
1909- va_TraceMsg(idx, "\tframe_level_transform_type = %d\n", p->transform_fields.bits.frame_level_transform_type);
1910- va_TraceMsg(idx, "\ttransform_ac_codingset_idx1 = %d\n", p->transform_fields.bits.transform_ac_codingset_idx1);
1911- va_TraceMsg(idx, "\ttransform_ac_codingset_idx2 = %d\n", p->transform_fields.bits.transform_ac_codingset_idx2);
1912- va_TraceMsg(idx, "\tintra_transform_dc_table = %d\n", p->transform_fields.bits.intra_transform_dc_table);
1913- va_TraceMsg(idx, NULL);
1828+ DPY2TRACECTX(dpy);
1829+
1830+ va_TraceMsg(trace_ctx, "VAPictureParameterBufferVC1\n");
1831+
1832+ va_TraceMsg(trace_ctx, "\tforward_reference_picture = 0x%08x\n", p->forward_reference_picture);
1833+ va_TraceMsg(trace_ctx, "\tbackward_reference_picture = 0x%08x\n", p->backward_reference_picture);
1834+ va_TraceMsg(trace_ctx, "\tinloop_decoded_picture = 0x%08x\n", p->inloop_decoded_picture);
1835+
1836+ va_TraceMsg(trace_ctx, "\tpulldown = %d\n", p->sequence_fields.bits.pulldown);
1837+ va_TraceMsg(trace_ctx, "\tinterlace = %d\n", p->sequence_fields.bits.interlace);
1838+ va_TraceMsg(trace_ctx, "\ttfcntrflag = %d\n", p->sequence_fields.bits.tfcntrflag);
1839+ va_TraceMsg(trace_ctx, "\tfinterpflag = %d\n", p->sequence_fields.bits.finterpflag);
1840+ va_TraceMsg(trace_ctx, "\tpsf = %d\n", p->sequence_fields.bits.psf);
1841+ va_TraceMsg(trace_ctx, "\tmultires = %d\n", p->sequence_fields.bits.multires);
1842+ va_TraceMsg(trace_ctx, "\toverlap = %d\n", p->sequence_fields.bits.overlap);
1843+ va_TraceMsg(trace_ctx, "\tsyncmarker = %d\n", p->sequence_fields.bits.syncmarker);
1844+ va_TraceMsg(trace_ctx, "\trangered = %d\n", p->sequence_fields.bits.rangered);
1845+ va_TraceMsg(trace_ctx, "\tmax_b_frames = %d\n", p->sequence_fields.bits.max_b_frames);
1846+ va_TraceMsg(trace_ctx, "\tprofile = %d\n", p->sequence_fields.bits.profile);
1847+ va_TraceMsg(trace_ctx, "\tcoded_width = %d\n", p->coded_width);
1848+ va_TraceMsg(trace_ctx, "\tcoded_height = %d\n", p->coded_height);
1849+ va_TraceMsg(trace_ctx, "\tclosed_entry = %d\n", p->entrypoint_fields.bits.closed_entry);
1850+ va_TraceMsg(trace_ctx, "\tbroken_link = %d\n", p->entrypoint_fields.bits.broken_link);
1851+ va_TraceMsg(trace_ctx, "\tclosed_entry = %d\n", p->entrypoint_fields.bits.closed_entry);
1852+ va_TraceMsg(trace_ctx, "\tpanscan_flag = %d\n", p->entrypoint_fields.bits.panscan_flag);
1853+ va_TraceMsg(trace_ctx, "\tloopfilter = %d\n", p->entrypoint_fields.bits.loopfilter);
1854+ va_TraceMsg(trace_ctx, "\tconditional_overlap_flag = %d\n", p->conditional_overlap_flag);
1855+ va_TraceMsg(trace_ctx, "\tfast_uvmc_flag = %d\n", p->fast_uvmc_flag);
1856+ va_TraceMsg(trace_ctx, "\trange_mapping_luma_flag = %d\n", p->range_mapping_fields.bits.luma_flag);
1857+ va_TraceMsg(trace_ctx, "\trange_mapping_luma = %d\n", p->range_mapping_fields.bits.luma);
1858+ va_TraceMsg(trace_ctx, "\trange_mapping_chroma_flag = %d\n", p->range_mapping_fields.bits.chroma_flag);
1859+ va_TraceMsg(trace_ctx, "\trange_mapping_chroma = %d\n", p->range_mapping_fields.bits.chroma);
1860+ va_TraceMsg(trace_ctx, "\tb_picture_fraction = %d\n", p->b_picture_fraction);
1861+ va_TraceMsg(trace_ctx, "\tcbp_table = %d\n", p->cbp_table);
1862+ va_TraceMsg(trace_ctx, "\tmb_mode_table = %d\n", p->mb_mode_table);
1863+ va_TraceMsg(trace_ctx, "\trange_reduction_frame = %d\n", p->range_reduction_frame);
1864+ va_TraceMsg(trace_ctx, "\trounding_control = %d\n", p->rounding_control);
1865+ va_TraceMsg(trace_ctx, "\tpost_processing = %d\n", p->post_processing);
1866+ va_TraceMsg(trace_ctx, "\tpicture_resolution_index = %d\n", p->picture_resolution_index);
1867+ va_TraceMsg(trace_ctx, "\tluma_scale = %d\n", p->luma_scale);
1868+ va_TraceMsg(trace_ctx, "\tluma_shift = %d\n", p->luma_shift);
1869+ va_TraceMsg(trace_ctx, "\tpicture_type = %d\n", p->picture_fields.bits.picture_type);
1870+ va_TraceMsg(trace_ctx, "\tframe_coding_mode = %d\n", p->picture_fields.bits.frame_coding_mode);
1871+ va_TraceMsg(trace_ctx, "\ttop_field_first = %d\n", p->picture_fields.bits.top_field_first);
1872+ va_TraceMsg(trace_ctx, "\tis_first_field = %d\n", p->picture_fields.bits.is_first_field);
1873+ va_TraceMsg(trace_ctx, "\tintensity_compensation = %d\n", p->picture_fields.bits.intensity_compensation);
1874+ va_TraceMsg(trace_ctx, "\tmv_type_mb = %d\n", p->raw_coding.flags.mv_type_mb);
1875+ va_TraceMsg(trace_ctx, "\tdirect_mb = %d\n", p->raw_coding.flags.direct_mb);
1876+ va_TraceMsg(trace_ctx, "\tskip_mb = %d\n", p->raw_coding.flags.skip_mb);
1877+ va_TraceMsg(trace_ctx, "\tfield_tx = %d\n", p->raw_coding.flags.field_tx);
1878+ va_TraceMsg(trace_ctx, "\tforward_mb = %d\n", p->raw_coding.flags.forward_mb);
1879+ va_TraceMsg(trace_ctx, "\tac_pred = %d\n", p->raw_coding.flags.ac_pred);
1880+ va_TraceMsg(trace_ctx, "\toverflags = %d\n", p->raw_coding.flags.overflags);
1881+ va_TraceMsg(trace_ctx, "\tbp_mv_type_mb = %d\n", p->bitplane_present.flags.bp_mv_type_mb);
1882+ va_TraceMsg(trace_ctx, "\tbp_direct_mb = %d\n", p->bitplane_present.flags.bp_direct_mb);
1883+ va_TraceMsg(trace_ctx, "\tbp_skip_mb = %d\n", p->bitplane_present.flags.bp_skip_mb);
1884+ va_TraceMsg(trace_ctx, "\tbp_field_tx = %d\n", p->bitplane_present.flags.bp_field_tx);
1885+ va_TraceMsg(trace_ctx, "\tbp_forward_mb = %d\n", p->bitplane_present.flags.bp_forward_mb);
1886+ va_TraceMsg(trace_ctx, "\tbp_ac_pred = %d\n", p->bitplane_present.flags.bp_ac_pred);
1887+ va_TraceMsg(trace_ctx, "\tbp_overflags = %d\n", p->bitplane_present.flags.bp_overflags);
1888+ va_TraceMsg(trace_ctx, "\treference_distance_flag = %d\n", p->reference_fields.bits.reference_distance_flag);
1889+ va_TraceMsg(trace_ctx, "\treference_distance = %d\n", p->reference_fields.bits.reference_distance);
1890+ va_TraceMsg(trace_ctx, "\tnum_reference_pictures = %d\n", p->reference_fields.bits.num_reference_pictures);
1891+ va_TraceMsg(trace_ctx, "\treference_field_pic_indicator = %d\n", p->reference_fields.bits.reference_field_pic_indicator);
1892+ va_TraceMsg(trace_ctx, "\tmv_mode = %d\n", p->mv_fields.bits.mv_mode);
1893+ va_TraceMsg(trace_ctx, "\tmv_mode2 = %d\n", p->mv_fields.bits.mv_mode2);
1894+ va_TraceMsg(trace_ctx, "\tmv_table = %d\n", p->mv_fields.bits.mv_table);
1895+ va_TraceMsg(trace_ctx, "\ttwo_mv_block_pattern_table = %d\n", p->mv_fields.bits.two_mv_block_pattern_table);
1896+ va_TraceMsg(trace_ctx, "\tfour_mv_switch = %d\n", p->mv_fields.bits.four_mv_switch);
1897+ va_TraceMsg(trace_ctx, "\tfour_mv_block_pattern_table = %d\n", p->mv_fields.bits.four_mv_block_pattern_table);
1898+ va_TraceMsg(trace_ctx, "\textended_mv_flag = %d\n", p->mv_fields.bits.extended_mv_flag);
1899+ va_TraceMsg(trace_ctx, "\textended_mv_range = %d\n", p->mv_fields.bits.extended_mv_range);
1900+ va_TraceMsg(trace_ctx, "\textended_dmv_flag = %d\n", p->mv_fields.bits.extended_dmv_flag);
1901+ va_TraceMsg(trace_ctx, "\textended_dmv_range = %d\n", p->mv_fields.bits.extended_dmv_range);
1902+ va_TraceMsg(trace_ctx, "\tdquant = %d\n", p->pic_quantizer_fields.bits.dquant);
1903+ va_TraceMsg(trace_ctx, "\tquantizer = %d\n", p->pic_quantizer_fields.bits.quantizer);
1904+ va_TraceMsg(trace_ctx, "\thalf_qp = %d\n", p->pic_quantizer_fields.bits.half_qp);
1905+ va_TraceMsg(trace_ctx, "\tpic_quantizer_scale = %d\n", p->pic_quantizer_fields.bits.pic_quantizer_scale);
1906+ va_TraceMsg(trace_ctx, "\tpic_quantizer_type = %d\n", p->pic_quantizer_fields.bits.pic_quantizer_type);
1907+ va_TraceMsg(trace_ctx, "\tdq_frame = %d\n", p->pic_quantizer_fields.bits.dq_frame);
1908+ va_TraceMsg(trace_ctx, "\tdq_profile = %d\n", p->pic_quantizer_fields.bits.dq_profile);
1909+ va_TraceMsg(trace_ctx, "\tdq_sb_edge = %d\n", p->pic_quantizer_fields.bits.dq_sb_edge);
1910+ va_TraceMsg(trace_ctx, "\tdq_db_edge = %d\n", p->pic_quantizer_fields.bits.dq_db_edge);
1911+ va_TraceMsg(trace_ctx, "\tdq_binary_level = %d\n", p->pic_quantizer_fields.bits.dq_binary_level);
1912+ va_TraceMsg(trace_ctx, "\talt_pic_quantizer = %d\n", p->pic_quantizer_fields.bits.alt_pic_quantizer);
1913+ va_TraceMsg(trace_ctx, "\tvariable_sized_transform_flag = %d\n", p->transform_fields.bits.variable_sized_transform_flag);
1914+ va_TraceMsg(trace_ctx, "\tmb_level_transform_type_flag = %d\n", p->transform_fields.bits.mb_level_transform_type_flag);
1915+ va_TraceMsg(trace_ctx, "\tframe_level_transform_type = %d\n", p->transform_fields.bits.frame_level_transform_type);
1916+ va_TraceMsg(trace_ctx, "\ttransform_ac_codingset_idx1 = %d\n", p->transform_fields.bits.transform_ac_codingset_idx1);
1917+ va_TraceMsg(trace_ctx, "\ttransform_ac_codingset_idx2 = %d\n", p->transform_fields.bits.transform_ac_codingset_idx2);
1918+ va_TraceMsg(trace_ctx, "\tintra_transform_dc_table = %d\n", p->transform_fields.bits.intra_transform_dc_table);
1919+ va_TraceMsg(trace_ctx, NULL);
19141920 }
19151921
19161922 static void va_TraceVASliceParameterBufferVC1(
@@ -1924,18 +1930,18 @@ static void va_TraceVASliceParameterBufferVC1(
19241930 )
19251931 {
19261932 VASliceParameterBufferVC1 *p = (VASliceParameterBufferVC1*)data;
1927- DPY2INDEX(dpy);
1933+ DPY2TRACECTX(dpy);
19281934
1929- trace_context[idx].trace_slice_no++;
1930- trace_context[idx].trace_slice_size = p->slice_data_size;
1935+ trace_ctx->trace_slice_no++;
1936+ trace_ctx->trace_slice_size = p->slice_data_size;
19311937
1932- va_TraceMsg(idx, "VASliceParameterBufferVC1\n");
1933- va_TraceMsg(idx, "\tslice_data_size = %d\n", p->slice_data_size);
1934- va_TraceMsg(idx, "\tslice_data_offset = %d\n", p->slice_data_offset);
1935- va_TraceMsg(idx, "\tslice_data_flag = %d\n", p->slice_data_flag);
1936- va_TraceMsg(idx, "\tmacroblock_offset = %d\n", p->macroblock_offset);
1937- va_TraceMsg(idx, "\tslice_vertical_position = %d\n", p->slice_vertical_position);
1938- va_TraceMsg(idx, NULL);
1938+ va_TraceMsg(trace_ctx, "VASliceParameterBufferVC1\n");
1939+ va_TraceMsg(trace_ctx, "\tslice_data_size = %d\n", p->slice_data_size);
1940+ va_TraceMsg(trace_ctx, "\tslice_data_offset = %d\n", p->slice_data_offset);
1941+ va_TraceMsg(trace_ctx, "\tslice_data_flag = %d\n", p->slice_data_flag);
1942+ va_TraceMsg(trace_ctx, "\tmacroblock_offset = %d\n", p->macroblock_offset);
1943+ va_TraceMsg(trace_ctx, "\tslice_vertical_position = %d\n", p->slice_vertical_position);
1944+ va_TraceMsg(trace_ctx, NULL);
19391945 }
19401946
19411947 void va_TraceBeginPicture(
@@ -1944,19 +1950,19 @@ void va_TraceBeginPicture(
19441950 VASurfaceID render_target
19451951 )
19461952 {
1947- DPY2INDEX(dpy);
1953+ DPY2TRACECTX(dpy);
19481954
19491955 TRACE_FUNCNAME(idx);
19501956
1951- va_TraceMsg(idx, "\tcontext = 0x%08x\n", context);
1952- va_TraceMsg(idx, "\trender_targets = 0x%08x\n", render_target);
1953- va_TraceMsg(idx, "\tframe_count = #%d\n", trace_context[idx].trace_frame_no);
1954- va_TraceMsg(idx, NULL);
1957+ va_TraceMsg(trace_ctx, "\tcontext = 0x%08x\n", context);
1958+ va_TraceMsg(trace_ctx, "\trender_targets = 0x%08x\n", render_target);
1959+ va_TraceMsg(trace_ctx, "\tframe_count = #%d\n", trace_ctx->trace_frame_no);
1960+ va_TraceMsg(trace_ctx, NULL);
19551961
1956- trace_context[idx].trace_rendertarget = render_target; /* for surface data dump after vaEndPicture */
1962+ trace_ctx->trace_rendertarget = render_target; /* for surface data dump after vaEndPicture */
19571963
1958- trace_context[idx].trace_frame_no++;
1959- trace_context[idx].trace_slice_no = 0;
1964+ trace_ctx->trace_frame_no++;
1965+ trace_ctx->trace_slice_no = 0;
19601966 }
19611967
19621968 static void va_TraceMPEG2Buf(
@@ -2025,19 +2031,19 @@ static void va_TraceVAEncSequenceParameterBufferH263(
20252031 void *data)
20262032 {
20272033 VAEncSequenceParameterBufferH263 *p = (VAEncSequenceParameterBufferH263 *)data;
2028- DPY2INDEX(dpy);
2034+ DPY2TRACECTX(dpy);
20292035
2030- va_TraceMsg(idx, "VAEncSequenceParameterBufferH263\n");
2036+ va_TraceMsg(trace_ctx, "VAEncSequenceParameterBufferH263\n");
20312037
2032- va_TraceMsg(idx, "\tintra_period = %d\n", p->intra_period);
2033- va_TraceMsg(idx, "\tbits_per_second = %d\n", p->bits_per_second);
2034- va_TraceMsg(idx, "\tframe_rate = %d\n", p->frame_rate);
2035- va_TraceMsg(idx, "\tinitial_qp = %d\n", p->initial_qp);
2036- va_TraceMsg(idx, "\tmin_qp = %d\n", p->min_qp);
2037- va_TraceMsg(idx, NULL);
2038+ va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period);
2039+ va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second);
2040+ va_TraceMsg(trace_ctx, "\tframe_rate = %d\n", p->frame_rate);
2041+ va_TraceMsg(trace_ctx, "\tinitial_qp = %d\n", p->initial_qp);
2042+ va_TraceMsg(trace_ctx, "\tmin_qp = %d\n", p->min_qp);
2043+ va_TraceMsg(trace_ctx, NULL);
20382044
20392045 /* start a new sequce, coded log file can be truncated */
2040- trace_context[idx].trace_sequence_start = 1;
2046+ trace_ctx->trace_sequence_start = 1;
20412047
20422048 return;
20432049 }
@@ -2053,18 +2059,18 @@ static void va_TraceVAEncPictureParameterBufferH263(
20532059 void *data)
20542060 {
20552061 VAEncPictureParameterBufferH263 *p = (VAEncPictureParameterBufferH263 *)data;
2056- DPY2INDEX(dpy);
2062+ DPY2TRACECTX(dpy);
20572063
2058- va_TraceMsg(idx, "VAEncPictureParameterBufferH263\n");
2059- va_TraceMsg(idx, "\treference_picture = 0x%08x\n", p->reference_picture);
2060- va_TraceMsg(idx, "\treconstructed_picture = 0x%08x\n", p->reconstructed_picture);
2061- va_TraceMsg(idx, "\tcoded_buf = %08x\n", p->coded_buf);
2062- va_TraceMsg(idx, "\tpicture_width = %d\n", p->picture_width);
2063- va_TraceMsg(idx, "\tpicture_height = %d\n", p->picture_height);
2064- va_TraceMsg(idx, "\tpicture_type = 0x%08x\n", p->picture_type);
2065- va_TraceMsg(idx, NULL);
2064+ va_TraceMsg(trace_ctx, "VAEncPictureParameterBufferH263\n");
2065+ va_TraceMsg(trace_ctx, "\treference_picture = 0x%08x\n", p->reference_picture);
2066+ va_TraceMsg(trace_ctx, "\treconstructed_picture = 0x%08x\n", p->reconstructed_picture);
2067+ va_TraceMsg(trace_ctx, "\tcoded_buf = %08x\n", p->coded_buf);
2068+ va_TraceMsg(trace_ctx, "\tpicture_width = %d\n", p->picture_width);
2069+ va_TraceMsg(trace_ctx, "\tpicture_height = %d\n", p->picture_height);
2070+ va_TraceMsg(trace_ctx, "\tpicture_type = 0x%08x\n", p->picture_type);
2071+ va_TraceMsg(trace_ctx, NULL);
20662072
2067- trace_context[idx].trace_codedbuf = p->coded_buf;
2073+ trace_ctx->trace_codedbuf = p->coded_buf;
20682074
20692075 return;
20702076 }
@@ -2081,16 +2087,17 @@ static void va_TraceVAEncPictureParameterBufferJPEG(
20812087 VAEncPictureParameterBufferJPEG *p = (VAEncPictureParameterBufferJPEG *)data;
20822088 int i;
20832089
2084- DPY2INDEX(dpy);
2090+ DPY2TRACECTX(dpy);
20852091
2086- va_TraceMsg(idx, "VAEncPictureParameterBufferJPEG\n");
2087- va_TraceMsg(idx, "\treconstructed_picture = 0x%08x\n", p->reconstructed_picture);
2088- va_TraceMsg(idx, "\tcoded_buf = %08x\n", p->coded_buf);
2089- va_TraceMsg(idx, "\tpicture_width = %d\n", p->picture_width);
2090- va_TraceMsg(idx, "\tpicture_height = %d\n", p->picture_height);
2091- va_TraceMsg(idx, NULL);
2092+ va_TraceMsg(trace_ctx, "VAEncPictureParameterBufferJPEG\n");
2093+ va_TraceMsg(trace_ctx, "\treconstructed_picture = 0x%08x\n", p->reconstructed_picture);
2094+ va_TraceMsg(trace_ctx, "\tcoded_buf = %08x\n", p->coded_buf);
2095+ va_TraceMsg(trace_ctx, "\tpicture_width = %d\n", p->picture_width);
2096+ va_TraceMsg(trace_ctx, "\tpicture_height = %d\n", p->picture_height);
2097+
2098+ va_TraceMsg(trace_ctx, NULL);
20922099
2093- trace_context[idx].trace_codedbuf = p->coded_buf;
2100+ trace_ctx->trace_codedbuf = p->coded_buf;
20942101
20952102 return;
20962103 }
@@ -2105,36 +2112,35 @@ static void va_TraceVAEncQMatrixBufferJPEG(
21052112 void *data)
21062113 {
21072114 VAQMatrixBufferJPEG *p = (VAQMatrixBufferJPEG *)data;
2108- DPY2INDEX(dpy);
2115+ DPY2TRACECTX(dpy);
21092116
2110- va_TraceMsg(idx, "VAQMatrixBufferJPEG\n");
2111- va_TraceMsg(idx, "\tload_lum_quantiser_matrix = %d", p->load_lum_quantiser_matrix);
2117+ va_TraceMsg(trace_ctx, "VAQMatrixBufferJPEG\n");
2118+ va_TraceMsg(trace_ctx, "\tload_lum_quantiser_matrix = %d", p->load_lum_quantiser_matrix);
21122119 if (p->load_lum_quantiser_matrix) {
21132120 int i;
21142121 for (i = 0; i < 64; i++) {
21152122 if ((i % 8) == 0)
2116- va_TraceMsg(idx, "\n\t");
2117- va_TraceMsg(idx, "\t0x%02x", p->lum_quantiser_matrix[i]);
2123+ va_TraceMsg(trace_ctx, "\n\t");
2124+ va_TraceMsg(trace_ctx, "\t0x%02x", p->lum_quantiser_matrix[i]);
21182125 }
2119- va_TraceMsg(idx, "\n");
2126+ va_TraceMsg(trace_ctx, "\n");
21202127 }
2121- va_TraceMsg(idx, "\tload_chroma_quantiser_matrix = %08x\n", p->load_chroma_quantiser_matrix);
2128+ va_TraceMsg(trace_ctx, "\tload_chroma_quantiser_matrix = %08x\n", p->load_chroma_quantiser_matrix);
21222129 if (p->load_chroma_quantiser_matrix) {
21232130 int i;
21242131 for (i = 0; i < 64; i++) {
21252132 if ((i % 8) == 0)
2126- va_TraceMsg(idx, "\n\t");
2127- va_TraceMsg(idx, "\t0x%02x", p->chroma_quantiser_matrix[i]);
2133+ va_TraceMsg(trace_ctx, "\n\t");
2134+ va_TraceMsg(trace_ctx, "\t0x%02x", p->chroma_quantiser_matrix[i]);
21282135 }
2129- va_TraceMsg(idx, "\n");
2136+ va_TraceMsg(trace_ctx, "\n");
21302137 }
21312138
2132- va_TraceMsg(idx, NULL);
2139+ va_TraceMsg(trace_ctx, NULL);
21332140
21342141 return;
21352142 }
21362143
2137-
21382144 static void va_TraceH263Buf(
21392145 VADisplay dpy,
21402146 VAContextID context,
@@ -2318,7 +2324,7 @@ static void va_TraceH264Buf(
23182324 void *pbuf
23192325 )
23202326 {
2321- DPY2INDEX(dpy);
2327+ DPY2TRACECTX(dpy);
23222328
23232329 switch (type) {
23242330 case VAPictureParameterBufferType:
@@ -2337,7 +2343,7 @@ static void va_TraceH264Buf(
23372343 va_TraceVASliceParameterBufferH264(dpy, context, buffer, type, size, num_elements, pbuf);
23382344 break;
23392345 case VASliceDataBufferType:
2340- va_TraceVABuffers(dpy, context, buffer, type, trace_context[idx].trace_slice_size, num_elements, pbuf);
2346+ va_TraceVABuffers(dpy, context, buffer, type, trace_ctx->trace_slice_size, num_elements, pbuf);
23412347 break;
23422348 case VAMacroblockParameterBufferType:
23432349 va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf);
@@ -2391,7 +2397,7 @@ static void va_TraceVC1Buf(
23912397 void *pbuf
23922398 )
23932399 {
2394- DPY2INDEX(dpy);
2400+ DPY2TRACECTX(dpy);
23952401
23962402 switch (type) {
23972403 case VAPictureParameterBufferType:
@@ -2409,7 +2415,7 @@ static void va_TraceVC1Buf(
24092415 va_TraceVASliceParameterBufferVC1(dpy, context, buffer, type, size, num_elements, pbuf);
24102416 break;
24112417 case VASliceDataBufferType:
2412- va_TraceVABuffers(dpy, context, buffer, type, trace_context[idx].trace_slice_size, num_elements, pbuf);
2418+ va_TraceVABuffers(dpy, context, buffer, type, trace_ctx->trace_slice_size, num_elements, pbuf);
24132419 break;
24142420 case VAMacroblockParameterBufferType:
24152421 va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf);
@@ -2453,12 +2459,12 @@ void va_TraceRenderPicture(
24532459 unsigned int size;
24542460 unsigned int num_elements;
24552461 int i;
2456- DPY2INDEX(dpy);
2462+ DPY2TRACECTX(dpy);
24572463
24582464 TRACE_FUNCNAME(idx);
24592465
2460- va_TraceMsg(idx, "\tcontext = 0x%08x\n", context);
2461- va_TraceMsg(idx, "\tnum_buffers = %d\n", num_buffers);
2466+ va_TraceMsg(trace_ctx, "\tcontext = 0x%08x\n", context);
2467+ va_TraceMsg(trace_ctx, "\tnum_buffers = %d\n", num_buffers);
24622468 if (buffers == NULL)
24632469 return;
24642470
@@ -2469,21 +2475,21 @@ void va_TraceRenderPicture(
24692475 /* get buffer type information */
24702476 vaBufferInfo(dpy, context, buffers[i], &type, &size, &num_elements);
24712477
2472- va_TraceMsg(idx, "\t---------------------------\n");
2473- va_TraceMsg(idx, "\tbuffers[%d] = 0x%08x\n", i, buffers[i]);
2474- va_TraceMsg(idx, "\t type = %s\n", buffer_type_to_string(type));
2475- va_TraceMsg(idx, "\t size = %d\n", size);
2476- va_TraceMsg(idx, "\t num_elements = %d\n", num_elements);
2478+ va_TraceMsg(trace_ctx, "\t---------------------------\n");
2479+ va_TraceMsg(trace_ctx, "\tbuffers[%d] = 0x%08x\n", i, buffers[i]);
2480+ va_TraceMsg(trace_ctx, "\t type = %s\n", buffer_type_to_string(type));
2481+ va_TraceMsg(trace_ctx, "\t size = %d\n", size);
2482+ va_TraceMsg(trace_ctx, "\t num_elements = %d\n", num_elements);
24772483
24782484 vaMapBuffer(dpy, buffers[i], (void **)&pbuf);
24792485 if (pbuf == NULL)
24802486 continue;
24812487
2482- switch (trace_context[idx].trace_profile) {
2488+ switch (trace_ctx->trace_profile) {
24832489 case VAProfileMPEG2Simple:
24842490 case VAProfileMPEG2Main:
24852491 for (j=0; j<num_elements; j++) {
2486- va_TraceMsg(idx, "\telement[%d] = ", j);
2492+ va_TraceMsg(trace_ctx, "\telement[%d] = ", j);
24872493 va_TraceMPEG2Buf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j);
24882494 }
24892495 break;
@@ -2491,7 +2497,7 @@ void va_TraceRenderPicture(
24912497 case VAProfileMPEG4AdvancedSimple:
24922498 case VAProfileMPEG4Main:
24932499 for (j=0; j<num_elements; j++) {
2494- va_TraceMsg(idx, "\telement[%d] = ", j);
2500+ va_TraceMsg(trace_ctx, "\telement[%d] = ", j);
24952501 va_TraceMPEG4Buf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j);
24962502 }
24972503 break;
@@ -2500,7 +2506,7 @@ void va_TraceRenderPicture(
25002506 case VAProfileH264High:
25012507 case VAProfileH264ConstrainedBaseline:
25022508 for (j=0; j<num_elements; j++) {
2503- va_TraceMsg(idx, "\telement[%d] = ", j);
2509+ va_TraceMsg(trace_ctx, "\telement[%d] = ", j);
25042510
25052511 va_TraceH264Buf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j);
25062512 }
@@ -2509,21 +2515,21 @@ void va_TraceRenderPicture(
25092515 case VAProfileVC1Main:
25102516 case VAProfileVC1Advanced:
25112517 for (j=0; j<num_elements; j++) {
2512- va_TraceMsg(idx, "\telement[%d] = ", j);
2518+ va_TraceMsg(trace_ctx, "\telement[%d] = ", j);
25132519
25142520 va_TraceVC1Buf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j);
25152521 }
25162522 break;
25172523 case VAProfileH263Baseline:
25182524 for (j=0; j<num_elements; j++) {
2519- va_TraceMsg(idx, "\telement[%d] = ", j);
2525+ va_TraceMsg(trace_ctx, "\telement[%d] = ", j);
25202526
25212527 va_TraceH263Buf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j);
25222528 }
25232529 break;
25242530 case VAProfileJPEGBaseline:
25252531 for (j=0; j<num_elements; j++) {
2526- va_TraceMsg(idx, "\telement[%d] = ", j);
2532+ va_TraceMsg(trace_ctx, "\telement[%d] = ", j);
25272533
25282534 va_TraceJPEGBuf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j);
25292535 }
@@ -2535,7 +2541,7 @@ void va_TraceRenderPicture(
25352541 vaUnmapBuffer(dpy, buffers[i]);
25362542 }
25372543
2538- va_TraceMsg(idx, NULL);
2544+ va_TraceMsg(trace_ctx, NULL);
25392545 }
25402546
25412547 void va_TraceEndPicture(
@@ -2545,17 +2551,17 @@ void va_TraceEndPicture(
25452551 )
25462552 {
25472553 int encode, decode, jpeg;
2548- DPY2INDEX(dpy);
2554+ DPY2TRACECTX(dpy);
25492555
25502556 TRACE_FUNCNAME(idx);
25512557
2552- va_TraceMsg(idx, "\tcontext = 0x%08x\n", context);
2553- va_TraceMsg(idx, "\trender_targets = 0x%08x\n", trace_context[idx].trace_rendertarget);
2558+ va_TraceMsg(trace_ctx, "\tcontext = 0x%08x\n", context);
2559+ va_TraceMsg(trace_ctx, "\trender_targets = 0x%08x\n", trace_ctx->trace_rendertarget);
25542560
25552561 /* avoid to create so many empty files */
2556- encode = (trace_context[idx].trace_entrypoint == VAEntrypointEncSlice);
2557- decode = (trace_context[idx].trace_entrypoint == VAEntrypointVLD);
2558- jpeg = (trace_context[idx].trace_entrypoint == VAEntrypointEncPicture);
2562+ encode = (trace_ctx->trace_entrypoint == VAEntrypointEncSlice);
2563+ decode = (trace_ctx->trace_entrypoint == VAEntrypointVLD);
2564+ jpeg = (trace_ctx->trace_entrypoint == VAEntrypointEncPicture);
25592565
25602566 /* trace encode source surface, can do it before HW completes rendering */
25612567 if ((encode && (trace_flag & VA_TRACE_FLAG_SURFACE_ENCODE))||
@@ -2564,17 +2570,17 @@ void va_TraceEndPicture(
25642570
25652571 /* trace coded buffer, do it after HW completes rendering */
25662572 if ((encode || jpeg) && (trace_flag & VA_TRACE_FLAG_CODEDBUF)) {
2567- vaSyncSurface(dpy, trace_context[idx].trace_rendertarget);
2573+ vaSyncSurface(dpy, trace_ctx->trace_rendertarget);
25682574 va_TraceCodedBuf(dpy);
25692575 }
25702576
25712577 /* trace decoded surface, do it after HW completes rendering */
25722578 if (decode && ((trace_flag & VA_TRACE_FLAG_SURFACE_DECODE))) {
2573- vaSyncSurface(dpy, trace_context[idx].trace_rendertarget);
2579+ vaSyncSurface(dpy, trace_ctx->trace_rendertarget);
25742580 va_TraceSurface(dpy);
25752581 }
25762582
2577- va_TraceMsg(idx, NULL);
2583+ va_TraceMsg(trace_ctx, NULL);
25782584 }
25792585
25802586
@@ -2583,12 +2589,12 @@ void va_TraceSyncSurface(
25832589 VASurfaceID render_target
25842590 )
25852591 {
2586- DPY2INDEX(dpy);
2592+ DPY2TRACECTX(dpy);
25872593
25882594 TRACE_FUNCNAME(idx);
25892595
2590- va_TraceMsg(idx, "\trender_target = 0x%08x\n", render_target);
2591- va_TraceMsg(idx, NULL);
2596+ va_TraceMsg(trace_ctx, "\trender_target = 0x%08x\n", render_target);
2597+ va_TraceMsg(trace_ctx, NULL);
25922598 }
25932599
25942600 void va_TraceQuerySurfaceAttributes(
@@ -2598,13 +2604,13 @@ void va_TraceQuerySurfaceAttributes(
25982604 unsigned int *num_attribs
25992605 )
26002606 {
2601- DPY2INDEX(dpy);
2607+ DPY2TRACECTX(dpy);
26022608
26032609 TRACE_FUNCNAME(idx);
2604- va_TraceMsg(idx, "\tconfig = 0x%08x\n", config);
2605- va_TraceSurfaceAttributes(idx, attrib_list, num_attribs);
2610+ va_TraceMsg(trace_ctx, "\tconfig = 0x%08x\n", config);
2611+ va_TraceSurfaceAttributes(trace_ctx, attrib_list, num_attribs);
26062612
2607- va_TraceMsg(idx, NULL);
2613+ va_TraceMsg(trace_ctx, NULL);
26082614
26092615 }
26102616
@@ -2615,14 +2621,14 @@ void va_TraceQuerySurfaceStatus(
26152621 VASurfaceStatus *status /* out */
26162622 )
26172623 {
2618- DPY2INDEX(dpy);
2624+ DPY2TRACECTX(dpy);
26192625
26202626 TRACE_FUNCNAME(idx);
26212627
2622- va_TraceMsg(idx, "\trender_target = 0x%08x\n", render_target);
2628+ va_TraceMsg(trace_ctx, "\trender_target = 0x%08x\n", render_target);
26232629 if (status)
2624- va_TraceMsg(idx, "\tstatus = 0x%08x\n", *status);
2625- va_TraceMsg(idx, NULL);
2630+ va_TraceMsg(trace_ctx, "\tstatus = 0x%08x\n", *status);
2631+ va_TraceMsg(trace_ctx, NULL);
26262632 }
26272633
26282634
@@ -2633,21 +2639,21 @@ void va_TraceQuerySurfaceError(
26332639 void **error_info /*out*/
26342640 )
26352641 {
2636- DPY2INDEX(dpy);
2642+ DPY2TRACECTX(dpy);
26372643
26382644 TRACE_FUNCNAME(idx);
2639- va_TraceMsg(idx, "\tsurface = 0x%08x\n", surface);
2640- va_TraceMsg(idx, "\terror_status = 0x%08x\n", error_status);
2645+ va_TraceMsg(trace_ctx, "\tsurface = 0x%08x\n", surface);
2646+ va_TraceMsg(trace_ctx, "\terror_status = 0x%08x\n", error_status);
26412647 if (error_info && (error_status == VA_STATUS_ERROR_DECODING_ERROR)) {
26422648 VASurfaceDecodeMBErrors *p = *error_info;
26432649 while (p && (p->status != -1)) {
2644- va_TraceMsg(idx, "\t\tstatus = %d\n", p->status);
2645- va_TraceMsg(idx, "\t\tstart_mb = %d\n", p->start_mb);
2646- va_TraceMsg(idx, "\t\tend_mb = %d\n", p->end_mb);
2650+ va_TraceMsg(trace_ctx, "\t\tstatus = %d\n", p->status);
2651+ va_TraceMsg(trace_ctx, "\t\tstart_mb = %d\n", p->start_mb);
2652+ va_TraceMsg(trace_ctx, "\t\tend_mb = %d\n", p->end_mb);
26472653 p++; /* next error record */
26482654 }
26492655 }
2650- va_TraceMsg(idx, NULL);
2656+ va_TraceMsg(trace_ctx, NULL);
26512657 }
26522658
26532659 void va_TraceMaxNumDisplayAttributes (
@@ -2655,12 +2661,12 @@ void va_TraceMaxNumDisplayAttributes (
26552661 int number
26562662 )
26572663 {
2658- DPY2INDEX(dpy);
2664+ DPY2TRACECTX(dpy);
26592665
26602666 TRACE_FUNCNAME(idx);
26612667
2662- va_TraceMsg(idx, "\tmax_display_attributes = %d\n", number);
2663- va_TraceMsg(idx, NULL);
2668+ va_TraceMsg(trace_ctx, "\tmax_display_attributes = %d\n", number);
2669+ va_TraceMsg(trace_ctx, NULL);
26642670 }
26652671
26662672 void va_TraceQueryDisplayAttributes (
@@ -2671,22 +2677,22 @@ void va_TraceQueryDisplayAttributes (
26712677 {
26722678 int i;
26732679
2674- DPY2INDEX(dpy);
2680+ DPY2TRACECTX(dpy);
26752681
26762682 if (attr_list == NULL || num_attributes == NULL)
26772683 return;
26782684
2679- va_TraceMsg(idx, "\tnum_attributes = %d\n", *num_attributes);
2685+ va_TraceMsg(trace_ctx, "\tnum_attributes = %d\n", *num_attributes);
26802686
26812687 for (i=0; i<*num_attributes; i++) {
2682- va_TraceMsg(idx, "\tattr_list[%d] =\n");
2683- va_TraceMsg(idx, "\t typ = 0x%08x\n", attr_list[i].type);
2684- va_TraceMsg(idx, "\t min_value = %d\n", attr_list[i].min_value);
2685- va_TraceMsg(idx, "\t max_value = %d\n", attr_list[i].max_value);
2686- va_TraceMsg(idx, "\t value = %d\n", attr_list[i].value);
2687- va_TraceMsg(idx, "\t flags = %d\n", attr_list[i].flags);
2688+ va_TraceMsg(trace_ctx, "\tattr_list[%d] =\n");
2689+ va_TraceMsg(trace_ctx, "\t typ = 0x%08x\n", attr_list[i].type);
2690+ va_TraceMsg(trace_ctx, "\t min_value = %d\n", attr_list[i].min_value);
2691+ va_TraceMsg(trace_ctx, "\t max_value = %d\n", attr_list[i].max_value);
2692+ va_TraceMsg(trace_ctx, "\t value = %d\n", attr_list[i].value);
2693+ va_TraceMsg(trace_ctx, "\t flags = %d\n", attr_list[i].flags);
26882694 }
2689- va_TraceMsg(idx, NULL);
2695+ va_TraceMsg(trace_ctx, NULL);
26902696 }
26912697
26922698
@@ -2698,21 +2704,21 @@ static void va_TraceDisplayAttributes (
26982704 {
26992705 int i;
27002706
2701- DPY2INDEX(dpy);
2707+ DPY2TRACECTX(dpy);
27022708
2703- va_TraceMsg(idx, "\tnum_attributes = %d\n", num_attributes);
2709+ va_TraceMsg(trace_ctx, "\tnum_attributes = %d\n", num_attributes);
27042710 if (attr_list == NULL)
27052711 return;
27062712
27072713 for (i=0; i<num_attributes; i++) {
2708- va_TraceMsg(idx, "\tattr_list[%d] =\n");
2709- va_TraceMsg(idx, "\t typ = 0x%08x\n", attr_list[i].type);
2710- va_TraceMsg(idx, "\t min_value = %d\n", attr_list[i].min_value);
2711- va_TraceMsg(idx, "\t max_value = %d\n", attr_list[i].max_value);
2712- va_TraceMsg(idx, "\t value = %d\n", attr_list[i].value);
2713- va_TraceMsg(idx, "\t flags = %d\n", attr_list[i].flags);
2714+ va_TraceMsg(trace_ctx, "\tattr_list[%d] =\n");
2715+ va_TraceMsg(trace_ctx, "\t typ = 0x%08x\n", attr_list[i].type);
2716+ va_TraceMsg(trace_ctx, "\t min_value = %d\n", attr_list[i].min_value);
2717+ va_TraceMsg(trace_ctx, "\t max_value = %d\n", attr_list[i].max_value);
2718+ va_TraceMsg(trace_ctx, "\t value = %d\n", attr_list[i].value);
2719+ va_TraceMsg(trace_ctx, "\t flags = %d\n", attr_list[i].flags);
27142720 }
2715- va_TraceMsg(idx, NULL);
2721+ va_TraceMsg(trace_ctx, NULL);
27162722 }
27172723
27182724
@@ -2722,7 +2728,7 @@ void va_TraceGetDisplayAttributes (
27222728 int num_attributes
27232729 )
27242730 {
2725- DPY2INDEX(dpy);
2731+ DPY2TRACECTX(dpy);
27262732
27272733 TRACE_FUNCNAME(idx);
27282734
@@ -2735,7 +2741,7 @@ void va_TraceSetDisplayAttributes (
27352741 int num_attributes
27362742 )
27372743 {
2738- DPY2INDEX(dpy);
2744+ DPY2TRACECTX(dpy);
27392745
27402746 TRACE_FUNCNAME(idx);
27412747
@@ -2760,22 +2766,22 @@ void va_TracePutSurface (
27602766 unsigned int flags /* de-interlacing flags */
27612767 )
27622768 {
2763- DPY2INDEX(dpy);
2769+ DPY2TRACECTX(dpy);
27642770
27652771 TRACE_FUNCNAME(idx);
27662772
2767- va_TraceMsg(idx, "\tsurface = 0x%08x\n", surface);
2768- va_TraceMsg(idx, "\tdraw = 0x%08x\n", draw);
2769- va_TraceMsg(idx, "\tsrcx = %d\n", srcx);
2770- va_TraceMsg(idx, "\tsrcy = %d\n", srcy);
2771- va_TraceMsg(idx, "\tsrcw = %d\n", srcw);
2772- va_TraceMsg(idx, "\tsrch = %d\n", srch);
2773- va_TraceMsg(idx, "\tdestx = %d\n", destx);
2774- va_TraceMsg(idx, "\tdesty = %d\n", desty);
2775- va_TraceMsg(idx, "\tdestw = %d\n", destw);
2776- va_TraceMsg(idx, "\tdesth = %d\n", desth);
2777- va_TraceMsg(idx, "\tcliprects = 0x%08x\n", cliprects);
2778- va_TraceMsg(idx, "\tnumber_cliprects = %d\n", number_cliprects);
2779- va_TraceMsg(idx, "\tflags = 0x%08x\n", flags);
2780- va_TraceMsg(idx, NULL);
2773+ va_TraceMsg(trace_ctx, "\tsurface = 0x%08x\n", surface);
2774+ va_TraceMsg(trace_ctx, "\tdraw = 0x%08x\n", draw);
2775+ va_TraceMsg(trace_ctx, "\tsrcx = %d\n", srcx);
2776+ va_TraceMsg(trace_ctx, "\tsrcy = %d\n", srcy);
2777+ va_TraceMsg(trace_ctx, "\tsrcw = %d\n", srcw);
2778+ va_TraceMsg(trace_ctx, "\tsrch = %d\n", srch);
2779+ va_TraceMsg(trace_ctx, "\tdestx = %d\n", destx);
2780+ va_TraceMsg(trace_ctx, "\tdesty = %d\n", desty);
2781+ va_TraceMsg(trace_ctx, "\tdestw = %d\n", destw);
2782+ va_TraceMsg(trace_ctx, "\tdesth = %d\n", desth);
2783+ va_TraceMsg(trace_ctx, "\tcliprects = 0x%08x\n", cliprects);
2784+ va_TraceMsg(trace_ctx, "\tnumber_cliprects = %d\n", number_cliprects);
2785+ va_TraceMsg(trace_ctx, "\tflags = 0x%08x\n", flags);
2786+ va_TraceMsg(trace_ctx, NULL);
27812787 }
--- a/va/va_trace.h
+++ b/va/va_trace.h
@@ -53,8 +53,6 @@ extern int trace_flag;
5353 void va_TraceInit(VADisplay dpy);
5454 void va_TraceEnd(VADisplay dpy);
5555
56-void va_TraceMsg(int idx, const char *msg, ...);
57-
5856 void va_TraceInitialize (
5957 VADisplay dpy,
6058 int *major_version, /* out */