1f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 2b0fac498ca4863166252f1268fda83394db54153Fei Jiang/* 336bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang * Copyright (c) 2009-2011 Intel Corporation. All Rights Reserved. 4b0fac498ca4863166252f1268fda83394db54153Fei Jiang * 5b0fac498ca4863166252f1268fda83394db54153Fei Jiang * Permission is hereby granted, free of charge, to any person obtaining a 6b0fac498ca4863166252f1268fda83394db54153Fei Jiang * copy of this software and associated documentation files (the 7b0fac498ca4863166252f1268fda83394db54153Fei Jiang * "Software"), to deal in the Software without restriction, including 8b0fac498ca4863166252f1268fda83394db54153Fei Jiang * without limitation the rights to use, copy, modify, merge, publish, 9b0fac498ca4863166252f1268fda83394db54153Fei Jiang * distribute, sub license, and/or sell copies of the Software, and to 10b0fac498ca4863166252f1268fda83394db54153Fei Jiang * permit persons to whom the Software is furnished to do so, subject to 11b0fac498ca4863166252f1268fda83394db54153Fei Jiang * the following conditions: 12b0fac498ca4863166252f1268fda83394db54153Fei Jiang * 13b0fac498ca4863166252f1268fda83394db54153Fei Jiang * The above copyright notice and this permission notice (including the 14b0fac498ca4863166252f1268fda83394db54153Fei Jiang * next paragraph) shall be included in all copies or substantial portions 15b0fac498ca4863166252f1268fda83394db54153Fei Jiang * of the Software. 16b0fac498ca4863166252f1268fda83394db54153Fei Jiang * 17b0fac498ca4863166252f1268fda83394db54153Fei Jiang * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 18b0fac498ca4863166252f1268fda83394db54153Fei Jiang * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19b0fac498ca4863166252f1268fda83394db54153Fei Jiang * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 20b0fac498ca4863166252f1268fda83394db54153Fei Jiang * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR 21b0fac498ca4863166252f1268fda83394db54153Fei Jiang * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22b0fac498ca4863166252f1268fda83394db54153Fei Jiang * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23b0fac498ca4863166252f1268fda83394db54153Fei Jiang * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24b0fac498ca4863166252f1268fda83394db54153Fei Jiang */ 25b0fac498ca4863166252f1268fda83394db54153Fei Jiang 26b0fac498ca4863166252f1268fda83394db54153Fei Jiang#define _GNU_SOURCE 1 27b0fac498ca4863166252f1268fda83394db54153Fei Jiang#include "va.h" 284b672db6ee89c9846451bbab23cf18e93c4260b2hding#include "va_enc_h264.h" 29b0fac498ca4863166252f1268fda83394db54153Fei Jiang#include "va_backend.h" 30901c77a7aa491f56b63af7b655b67439481e4177Fei Jiang#include "va_trace.h" 314b672db6ee89c9846451bbab23cf18e93c4260b2hding#include "va_enc_h264.h" 327d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan#include "va_enc_jpeg.h" 33f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun#include "va_enc_vp8.h" 349992891b62398a80bd0867f8d167c0faa49861fdCheng Yao#include "va_dec_jpeg.h" 350f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan#include "va_dec_vp8.h" 368c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan#include "va_vpp.h" 37b0fac498ca4863166252f1268fda83394db54153Fei Jiang#include <assert.h> 38b0fac498ca4863166252f1268fda83394db54153Fei Jiang#include <stdarg.h> 39b0fac498ca4863166252f1268fda83394db54153Fei Jiang#include <stdlib.h> 40b0fac498ca4863166252f1268fda83394db54153Fei Jiang#include <stdio.h> 41b0fac498ca4863166252f1268fda83394db54153Fei Jiang#include <string.h> 42b0fac498ca4863166252f1268fda83394db54153Fei Jiang#include <dlfcn.h> 43b0fac498ca4863166252f1268fda83394db54153Fei Jiang#include <unistd.h> 4421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan#include <sys/types.h> 4521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan#include <sys/stat.h> 4621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan#include <unistd.h> 4721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan#include <time.h> 48e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan#include <errno.h> 4921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 5021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan/* 5121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan * Env. to debug some issue, e.g. the decode/encode issue in a video conference scenerio: 5221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan * .LIBVA_TRACE=log_file: general VA parameters saved into log_file 53f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun * .LIBVA_TRACE_BUFDATA: dump all VA data buffer into log_file 5421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan * .LIBVA_TRACE_CODEDBUF=coded_clip_file: save the coded clip into file coded_clip_file 555b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang * .LIBVA_TRACE_SURFACE=yuv_file: save surface YUV into file yuv_file. Use file name to determine 565b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang * decode/encode or jpeg surfaces 57eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan * .LIBVA_TRACE_SURFACE_GEOMETRY=WIDTHxHEIGHT+XOFF+YOFF: only save part of surface context into file 58eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan * due to storage bandwidth limitation 5921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan */ 6021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 6121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan/* global settings */ 6221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 6321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan/* LIBVA_TRACE */ 645b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sangint trace_flag = 0; 65b0fac498ca4863166252f1268fda83394db54153Fei Jiang 6621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan/* per context settings */ 67f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolunstruct trace_context { 6821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan /* LIBVA_TRACE */ 6921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan FILE *trace_fp_log; /* save the log into a file */ 705b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang char *trace_log_fn; /* file name */ 7121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 7221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan /* LIBVA_TRACE_CODEDBUF */ 7321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan FILE *trace_fp_codedbuf; /* save the encode result into a file */ 745b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang char *trace_codedbuf_fn; /* file name */ 7521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 7621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan /* LIBVA_TRACE_SURFACE */ 7721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan FILE *trace_fp_surface; /* save the surface YUV into a file */ 785b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang char *trace_surface_fn; /* file name */ 7921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 8021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAContextID trace_context; /* current context */ 8121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 8221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VASurfaceID trace_rendertarget; /* current render target */ 8321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAProfile trace_profile; /* current profile for buffers */ 8421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAEntrypoint trace_entrypoint; /* current entrypoint */ 8521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 8621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int trace_frame_no; /* current frame NO */ 8721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int trace_slice_no; /* current slice NO */ 8821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int trace_slice_size; /* current slice buffer size */ 8921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 90eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan unsigned int trace_surface_width; /* surface dumping geometry */ 91eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan unsigned int trace_surface_height; 92eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan unsigned int trace_surface_xoff; 93eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan unsigned int trace_surface_yoff; 94eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan 9521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int trace_frame_width; /* current frame width */ 9621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int trace_frame_height; /* current frame height */ 97f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun}; 9821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 99f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun#define TRACE_CTX(dpy) ((struct trace_context *)((VADisplayContextP)dpy)->vatrace) 100f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 101f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun#define DPY2TRACECTX(dpy) \ 102f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun struct trace_context *trace_ctx = TRACE_CTX(dpy); \ 10321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan \ 104f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (trace_ctx == NULL) \ 105f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun return; \ 10621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 107f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun#define TRACE_FUNCNAME(idx) va_TraceMsg(trace_ctx, "==========%s\n", __func__); 108b0fac498ca4863166252f1268fda83394db54153Fei Jiang 10921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan/* Prototype declarations (functions defined in va.c) */ 110b0fac498ca4863166252f1268fda83394db54153Fei Jiang 11121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanvoid va_errorMessage(const char *msg, ...); 11221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanvoid va_infoMessage(const char *msg, ...); 113b0fac498ca4863166252f1268fda83394db54153Fei Jiang 11421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanint va_parseConfig(char *env, char *env_value); 115b0fac498ca4863166252f1268fda83394db54153Fei Jiang 11621e26478769d887b8357289ebb7faa47b8b415aeAustin YuanVAStatus vaBufferInfo( 117901c77a7aa491f56b63af7b655b67439481e4177Fei Jiang VADisplay dpy, 11836bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang VAContextID context, /* in */ 11936bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang VABufferID buf_id, /* in */ 12036bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang VABufferType *type, /* out */ 12136bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang unsigned int *size, /* out */ 12236bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang unsigned int *num_elements /* out */ 12372b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang ); 124901c77a7aa491f56b63af7b655b67439481e4177Fei Jiang 125901c77a7aa491f56b63af7b655b67439481e4177Fei JiangVAStatus vaLockSurface(VADisplay dpy, 12672b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang VASurfaceID surface, 12772b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang unsigned int *fourcc, /* following are output argument */ 12872b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang unsigned int *luma_stride, 12972b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang unsigned int *chroma_u_stride, 13072b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang unsigned int *chroma_v_stride, 13172b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang unsigned int *luma_offset, 13272b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang unsigned int *chroma_u_offset, 13372b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang unsigned int *chroma_v_offset, 13472b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang unsigned int *buffer_name, 13572b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang void **buffer 13672b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang ); 137901c77a7aa491f56b63af7b655b67439481e4177Fei Jiang 138901c77a7aa491f56b63af7b655b67439481e4177Fei JiangVAStatus vaUnlockSurface(VADisplay dpy, 13972b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang VASurfaceID surface 14072b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang ); 141901c77a7aa491f56b63af7b655b67439481e4177Fei Jiang 1425b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang#define FILE_NAME_SUFFIX(env_value) \ 1435b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sangdo { \ 1445b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang int tmp = strnlen(env_value, sizeof(env_value)); \ 1455b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang int left = sizeof(env_value) - tmp; \ 1465b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang \ 1475b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang snprintf(env_value+tmp, \ 1485b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang left, \ 149f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun ".%04d.%08lx", \ 150f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun suffix, \ 151f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun (unsigned long)trace_ctx); \ 1525b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang} while (0) 15321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 15421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanvoid va_TraceInit(VADisplay dpy) 155b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 15621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan char env_value[1024]; 1575b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang unsigned short suffix = 0xffff & ((unsigned int)time(NULL)); 15821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan FILE *tmp; 159f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun struct trace_context *trace_ctx = calloc(sizeof(struct trace_context), 1); 1607d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 161f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (trace_ctx == NULL) 16221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan return; 163f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 16421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan if (va_parseConfig("LIBVA_TRACE", &env_value[0]) == 0) { 1655b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang FILE_NAME_SUFFIX(env_value); 166f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_log_fn = strdup(env_value); 1675b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 16821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan tmp = fopen(env_value, "w"); 16936bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang if (tmp) { 170f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_fp_log = tmp; 171f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_infoMessage("LIBVA_TRACE is on, save log into %s\n", trace_ctx->trace_log_fn); 1725b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang trace_flag = VA_TRACE_FLAG_LOG; 1735b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang } else 174e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan va_errorMessage("Open file %s failed (%s)\n", env_value, strerror(errno)); 17521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 17621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 17721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan /* may re-get the global settings for multiple context */ 1785b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang if ((trace_flag & VA_TRACE_FLAG_LOG) && (va_parseConfig("LIBVA_TRACE_BUFDATA", NULL) == 0)) { 1795b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang trace_flag |= VA_TRACE_FLAG_BUFDATA; 18021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_infoMessage("LIBVA_TRACE_BUFDATA is on, dump buffer into log file\n"); 18121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 18221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 18321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan /* per-context setting */ 18421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan if (va_parseConfig("LIBVA_TRACE_CODEDBUF", &env_value[0]) == 0) { 1855b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang FILE_NAME_SUFFIX(env_value); 186f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_codedbuf_fn = strdup(env_value); 1875b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang va_infoMessage("LIBVA_TRACE_CODEDBUF is on, save codedbuf into log file %s\n", 188f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_codedbuf_fn); 1895b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang trace_flag |= VA_TRACE_FLAG_CODEDBUF; 19021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 19121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 19221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan if (va_parseConfig("LIBVA_TRACE_SURFACE", &env_value[0]) == 0) { 1935b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang FILE_NAME_SUFFIX(env_value); 194f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_fn = strdup(env_value); 195eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan 1965b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang va_infoMessage("LIBVA_TRACE_SURFACE is on, save surface into %s\n", 197f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_fn); 1985b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 1995b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang /* for surface data dump, it is time-consume, and may 2005b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang * cause some side-effect, so only trace the needed surfaces 2015b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang * to trace encode surface, set the trace file name to sth like *enc* 2025b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang * to trace decode surface, set the trace file name to sth like *dec* 2035b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang * if no dec/enc in file name, set both 2045b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang */ 2055b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang if (strstr(env_value, "dec")) 2065b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang trace_flag |= VA_TRACE_FLAG_SURFACE_DECODE; 2075b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang if (strstr(env_value, "enc")) 2085b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang trace_flag |= VA_TRACE_FLAG_SURFACE_ENCODE; 2095b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang if (strstr(env_value, "jpeg") || strstr(env_value, "jpg")) 2105b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang trace_flag |= VA_TRACE_FLAG_SURFACE_JPEG; 211eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan 212eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan if (va_parseConfig("LIBVA_TRACE_SURFACE_GEOMETRY", &env_value[0]) == 0) { 213eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan char *p = env_value, *q; 214eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan 215f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_width = strtod(p, &q); 216eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan p = q+1; /* skip "x" */ 217f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_height = strtod(p, &q); 218eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan p = q+1; /* skip "+" */ 219f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_xoff = strtod(p, &q); 220eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan p = q+1; /* skip "+" */ 221f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_yoff = strtod(p, &q); 222eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan 223eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan va_infoMessage("LIBVA_TRACE_SURFACE_GEOMETRY is on, only dump surface %dx%d+%d+%d content\n", 224f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_width, 225f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_height, 226f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_xoff, 227f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_yoff); 228eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan } 229b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 230f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 231f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun ((VADisplayContextP)dpy)->vatrace = trace_ctx; 232b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 233b0fac498ca4863166252f1268fda83394db54153Fei Jiang 23421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 23521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanvoid va_TraceEnd(VADisplay dpy) 236b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 237f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 23821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 239f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (trace_ctx->trace_fp_log) 240f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun fclose(trace_ctx->trace_fp_log); 24121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 242f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (trace_ctx->trace_fp_codedbuf) 243f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun fclose(trace_ctx->trace_fp_codedbuf); 24421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 245f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (trace_ctx->trace_fp_surface) 246f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun fclose(trace_ctx->trace_fp_surface); 24721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 248f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (trace_ctx->trace_log_fn) 249f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun free(trace_ctx->trace_log_fn); 2505b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 251f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (trace_ctx->trace_codedbuf_fn) 252f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun free(trace_ctx->trace_codedbuf_fn); 2535b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 254f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (trace_ctx->trace_surface_fn) 255f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun free(trace_ctx->trace_surface_fn); 2565b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 257f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun free(trace_ctx); 258f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun ((VADisplayContextP)dpy)->vatrace = NULL; 25921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 260b0fac498ca4863166252f1268fda83394db54153Fei Jiang 26136bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang 262f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolunvoid va_TraceMsg(struct trace_context *trace_ctx, const char *msg, ...) 263b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 264b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_list args; 26521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 2665b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang if (!(trace_flag & VA_TRACE_FLAG_LOG)) 2675b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang return; 2685b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 269b0fac498ca4863166252f1268fda83394db54153Fei Jiang if (msg) { 270f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun struct timeval tv; 271f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 272f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (gettimeofday(&tv, NULL) == 0) 273f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan fprintf(trace_ctx->trace_fp_log, "[%04d.%06d] ", 274f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun (unsigned int)tv.tv_sec & 0xffff, (unsigned int)tv.tv_usec); 275b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_start(args, msg); 276f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun vfprintf(trace_ctx->trace_fp_log, msg, args); 277b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_end(args); 27821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } else 279f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun fflush(trace_ctx->trace_fp_log); 28021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 28121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 282b0fac498ca4863166252f1268fda83394db54153Fei Jiang 28321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanvoid va_TraceSurface(VADisplay dpy) 28421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan{ 28597271ba25e09b36cf0734bf58f68fb823bb9b2beAndreas Gampe unsigned int i; 28621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int fourcc; /* following are output argument */ 28721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int luma_stride; 28821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int chroma_u_stride; 28921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int chroma_v_stride; 29021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int luma_offset; 29121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int chroma_u_offset; 29221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int chroma_v_offset; 29321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int buffer_name; 29421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan void *buffer = NULL; 29521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned char *Y_data, *UV_data, *tmp; 29621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAStatus va_status; 297f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 2985b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 29988912d09886f431619dc966776a85976129f2b24Austin Yuan if (!trace_ctx->trace_fp_surface) 30088912d09886f431619dc966776a85976129f2b24Austin Yuan return; 30188912d09886f431619dc966776a85976129f2b24Austin Yuan 302f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "==========dump surface data in file %s\n", trace_ctx->trace_surface_fn); 30321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 304f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 30521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 30610965d59ea630e8a6856845faffb8e0f39b159a3Kun Wang va_status = vaLockSurface( 30710965d59ea630e8a6856845faffb8e0f39b159a3Kun Wang dpy, 308f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_rendertarget, 30910965d59ea630e8a6856845faffb8e0f39b159a3Kun Wang &fourcc, 31010965d59ea630e8a6856845faffb8e0f39b159a3Kun Wang &luma_stride, &chroma_u_stride, &chroma_v_stride, 31110965d59ea630e8a6856845faffb8e0f39b159a3Kun Wang &luma_offset, &chroma_u_offset, &chroma_v_offset, 31210965d59ea630e8a6856845faffb8e0f39b159a3Kun Wang &buffer_name, &buffer); 31321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 31421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan if (va_status != VA_STATUS_SUCCESS) { 315f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "Error:vaLockSurface failed\n"); 31621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan return; 31721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 31821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 319f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tfourcc = 0x%08x\n", fourcc); 320f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\twidth = %d\n", trace_ctx->trace_frame_width); 321f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\theight = %d\n", trace_ctx->trace_frame_height); 322f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tluma_stride = %d\n", luma_stride); 323f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_u_stride = %d\n", chroma_u_stride); 324f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_v_stride = %d\n", chroma_v_stride); 325f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tluma_offset = %d\n", luma_offset); 326f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_u_offset = %d\n", chroma_u_offset); 327f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_v_offset = %d\n", chroma_v_offset); 32821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 32910965d59ea630e8a6856845faffb8e0f39b159a3Kun Wang if (buffer == NULL) { 330f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "Error:vaLockSurface return NULL buffer\n"); 331f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 33236bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang 333f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun vaUnlockSurface(dpy, trace_ctx->trace_rendertarget); 33421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan return; 33521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 336f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbuffer location = 0x%08x\n", buffer); 337f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 33821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 33910965d59ea630e8a6856845faffb8e0f39b159a3Kun Wang Y_data = (unsigned char*)buffer; 34010965d59ea630e8a6856845faffb8e0f39b159a3Kun Wang UV_data = (unsigned char*)buffer + chroma_u_offset; 34121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 342f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun tmp = Y_data + luma_stride * trace_ctx->trace_surface_yoff; 343f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for (i=0; i<trace_ctx->trace_surface_height; i++) { 34488912d09886f431619dc966776a85976129f2b24Austin Yuan fwrite(tmp + trace_ctx->trace_surface_xoff, 34588912d09886f431619dc966776a85976129f2b24Austin Yuan trace_ctx->trace_surface_width, 34688912d09886f431619dc966776a85976129f2b24Austin Yuan 1, trace_ctx->trace_fp_surface); 34721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 348eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan tmp += luma_stride; 34921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 3508c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan tmp = UV_data + chroma_u_stride * trace_ctx->trace_surface_yoff / 2; 35121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan if (fourcc == VA_FOURCC_NV12) { 352f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for (i=0; i<trace_ctx->trace_surface_height/2; i++) { 35388912d09886f431619dc966776a85976129f2b24Austin Yuan fwrite(tmp + trace_ctx->trace_surface_xoff, 35488912d09886f431619dc966776a85976129f2b24Austin Yuan trace_ctx->trace_surface_width, 35588912d09886f431619dc966776a85976129f2b24Austin Yuan 1, trace_ctx->trace_fp_surface); 35621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 357eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan tmp += chroma_u_stride; 35821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 35921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 36021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 361f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun vaUnlockSurface(dpy, trace_ctx->trace_rendertarget); 36221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 363f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 36421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 36521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 366942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang 36710965d59ea630e8a6856845faffb8e0f39b159a3Kun Wangvoid va_TraceInitialize ( 368942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang VADisplay dpy, 369a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan int __maybe_unused *major_version, /* out */ 370a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan int __maybe_unused *minor_version /* out */ 371942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang) 372942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang{ 373a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan DPY2TRACECTX(dpy); 374a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 375942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang TRACE_FUNCNAME(idx); 376942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang} 377942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang 37810965d59ea630e8a6856845faffb8e0f39b159a3Kun Wangvoid va_TraceTerminate ( 379942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang VADisplay dpy 380942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang) 381942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang{ 382f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 383942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang TRACE_FUNCNAME(idx); 384942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang} 385942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang 386942aa8ad7f4275a637fb2c1e5edfab686110cc52Kun Wang 387293abef4f8172cc061d26f9d909c281b4190b514Bruce Bearevoid va_TraceCreateConfig( 388b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 389b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAProfile profile, 390b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAEntrypoint entrypoint, 391b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAConfigAttrib *attrib_list, 392b0fac498ca4863166252f1268fda83394db54153Fei Jiang int num_attribs, 393a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAConfigID __maybe_unused *config_id /* out */ 39421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan) 395b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 396b0fac498ca4863166252f1268fda83394db54153Fei Jiang int i; 3975b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang int encode, decode, jpeg; 398f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 39921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 40021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan TRACE_FUNCNAME(idx); 401a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 402f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tprofile = %d\n", profile); 403f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tentrypoint = %d\n", entrypoint); 404f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_attribs = %d\n", num_attribs); 4057d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (attrib_list) { 4067d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan for (i = 0; i < num_attribs; i++) { 407f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\tattrib_list[%d].type = 0x%08x\n", i, attrib_list[i].type); 408f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\tattrib_list[%d].value = 0x%08x\n", i, attrib_list[i].value); 4097d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan } 410b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 411f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 412b0fac498ca4863166252f1268fda83394db54153Fei Jiang 413f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_profile = profile; 414f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_entrypoint = entrypoint; 4155b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 4165b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang /* avoid to create so many empty files */ 417f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun encode = (trace_ctx->trace_entrypoint == VAEntrypointEncSlice); 418f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun decode = (trace_ctx->trace_entrypoint == VAEntrypointVLD); 419f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun jpeg = (trace_ctx->trace_entrypoint == VAEntrypointEncPicture); 4205b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang if ((encode && (trace_flag & VA_TRACE_FLAG_SURFACE_ENCODE)) || 4215b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang (decode && (trace_flag & VA_TRACE_FLAG_SURFACE_DECODE)) || 4225b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang (jpeg && (trace_flag & VA_TRACE_FLAG_SURFACE_JPEG))) { 423f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun FILE *tmp = fopen(trace_ctx->trace_surface_fn, "w"); 4245b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 4255b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang if (tmp) 426f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_fp_surface = tmp; 4275b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang else { 4285b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang va_errorMessage("Open file %s failed (%s)\n", 429f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_fn, 4305b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang strerror(errno)); 431f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_fp_surface = NULL; 4325b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang trace_flag &= ~(VA_TRACE_FLAG_SURFACE); 4335b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang } 4345b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang } 4355b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 4365b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang if (encode && (trace_flag & VA_TRACE_FLAG_CODEDBUF)) { 437f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun FILE *tmp = fopen(trace_ctx->trace_codedbuf_fn, "w"); 4385b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 4395b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang if (tmp) 440f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_fp_codedbuf = tmp; 4415b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang else { 4425b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang va_errorMessage("Open file %s failed (%s)\n", 443f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_codedbuf_fn, 4445b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang strerror(errno)); 445f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_fp_codedbuf = NULL; 4465b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang trace_flag &= ~VA_TRACE_FLAG_CODEDBUF; 4475b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang } 4485b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang } 449b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 450b0fac498ca4863166252f1268fda83394db54153Fei Jiang 4517d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuanstatic void va_TraceSurfaceAttributes( 452f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun struct trace_context *trace_ctx, 4537d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan VASurfaceAttrib *attrib_list, 4547d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan unsigned int *num_attribs 4557d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan) 4567d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan{ 4577d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan int i, num; 4587d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan VASurfaceAttrib *p; 4597d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 4607d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (!attrib_list || !num_attribs) 4617d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan return; 4627d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 4637d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan p = attrib_list; 4647d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan num = *num_attribs; 4657d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (num > VASurfaceAttribCount) 4667d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan num = VASurfaceAttribCount; 4677d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 4687d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan for (i=0; i<num; i++) { 469f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan int type = p->value.type; 470f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan 471f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tattrib_list[%i] =\n", i); 4727d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 473f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\ttype = %d\n", p->type); 474f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\tflags = %d\n", p->flags); 475f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\t\tvalue.type = %d\n", type); 476f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan switch (type) { 477f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan case VAGenericValueTypeInteger: 478f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\tvalue.value.i = 0x%08x\n", p->value.value.i); 479f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan break; 480f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan case VAGenericValueTypeFloat: 481f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\t\tvalue.value.f = %f\n", p->value.value.f); 482f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan break; 483f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan case VAGenericValueTypePointer: 484f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\tvalue.value.p = %p\n", p->value.value.p); 48510d94aff40fa7cb9349f839613856ea37327268cAustin Yuan if ((p->type == VASurfaceAttribExternalBufferDescriptor) && p->value.value.p) { 486f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan VASurfaceAttribExternalBuffers *tmp = (VASurfaceAttribExternalBuffers *) p->value.value.p; 487a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int j; 488f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan 489f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\t\t--VASurfaceAttribExternalBufferDescriptor\n"); 490f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\t\t pixel_format=0x%08x\n", tmp->pixel_format); 491f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\t\t width=%d\n", tmp->width); 492f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\t\t height=%d\n", tmp->height); 493f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\t\t data_size=%d\n", tmp->data_size); 494f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\t\t num_planes=%d\n", tmp->num_planes); 495f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\t\t pitches[4]=%d %d %d %d\n", 496f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan tmp->pitches[0], tmp->pitches[1], tmp->pitches[2], tmp->pitches[3]); 497f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\t\t offsets[4]=%d %d %d %d\n", 498f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan tmp->offsets[0], tmp->offsets[1], tmp->offsets[2], tmp->offsets[3]); 499f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\t\t flags=0x%08x\n", tmp->flags); 500f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\t\t num_buffers=0x%08x\n", tmp->num_buffers); 501c263d6a794e2a50d0f95919ed9f56003caedd492Austin Yuan va_TraceMsg(trace_ctx, "\t\t buffers=%p\n", tmp->buffers); 502f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan for (j = 0; j < tmp->num_buffers; j++) { 50310d94aff40fa7cb9349f839613856ea37327268cAustin Yuan va_TraceMsg(trace_ctx, "\t\t\tbuffers[%d]=%p\n", j, tmp->buffers[j]); 504f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan } 505f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan } 506f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan break; 507f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan case VAGenericValueTypeFunc: 508f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\tvalue.value.fn = %p\n", p->value.value.fn); 509f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan break; 510f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan default: 511f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan break; 512f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan } 5137d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 5147d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan p++; 5157d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan } 5167d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan} 5174b672db6ee89c9846451bbab23cf18e93c4260b2hding 5184b672db6ee89c9846451bbab23cf18e93c4260b2hdingvoid va_TraceCreateSurfaces( 519b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 520b0fac498ca4863166252f1268fda83394db54153Fei Jiang int width, 521b0fac498ca4863166252f1268fda83394db54153Fei Jiang int height, 522b0fac498ca4863166252f1268fda83394db54153Fei Jiang int format, 523b0fac498ca4863166252f1268fda83394db54153Fei Jiang int num_surfaces, 5244b672db6ee89c9846451bbab23cf18e93c4260b2hding VASurfaceID *surfaces, /* out */ 5254b672db6ee89c9846451bbab23cf18e93c4260b2hding VASurfaceAttrib *attrib_list, 5264b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned int num_attribs 52721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan) 528b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 529b0fac498ca4863166252f1268fda83394db54153Fei Jiang int i; 530f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 53121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 53221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan TRACE_FUNCNAME(idx); 533b0fac498ca4863166252f1268fda83394db54153Fei Jiang 534f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\twidth = %d\n", width); 535f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\theight = %d\n", height); 536f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tformat = %d\n", format); 537f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_surfaces = %d\n", num_surfaces); 538b0fac498ca4863166252f1268fda83394db54153Fei Jiang 5397d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (surfaces) { 5407d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan for (i = 0; i < num_surfaces; i++) 541f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\tsurfaces[%d] = 0x%08x\n", i, surfaces[i]); 5427d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan } 5437d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 544f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceSurfaceAttributes(trace_ctx, attrib_list, &num_attribs); 54536bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang 546f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 547b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 548b0fac498ca4863166252f1268fda83394db54153Fei Jiang 549b0fac498ca4863166252f1268fda83394db54153Fei Jiang 5507d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuanvoid va_TraceDestroySurfaces( 5517d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan VADisplay dpy, 5527d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan VASurfaceID *surface_list, 5537d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan int num_surfaces 5547d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan) 5557d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan{ 5567d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan int i; 557f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 5587d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 5597d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan TRACE_FUNCNAME(idx); 5607d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 5617d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (surface_list) { 5627d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan for (i = 0; i < num_surfaces; i++) 563f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\tsurfaces[%d] = 0x%08x\n", i, surface_list[i]); 5647d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan } 5657d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 566f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 5677d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan} 5687d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 5697d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 570293abef4f8172cc061d26f9d909c281b4190b514Bruce Bearevoid va_TraceCreateContext( 571b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 572b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAConfigID config_id, 573b0fac498ca4863166252f1268fda83394db54153Fei Jiang int picture_width, 574b0fac498ca4863166252f1268fda83394db54153Fei Jiang int picture_height, 575b0fac498ca4863166252f1268fda83394db54153Fei Jiang int flag, 576b0fac498ca4863166252f1268fda83394db54153Fei Jiang VASurfaceID *render_targets, 577b0fac498ca4863166252f1268fda83394db54153Fei Jiang int num_render_targets, 57836bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang VAContextID *context /* out */ 57921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan) 580b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 581b0fac498ca4863166252f1268fda83394db54153Fei Jiang int i; 582f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 583b0fac498ca4863166252f1268fda83394db54153Fei Jiang 58421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan TRACE_FUNCNAME(idx); 5857d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 586f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tconfig = 0x%08x\n", config_id); 587f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\twidth = %d\n", picture_width); 588f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\theight = %d\n", picture_height); 589f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tflag = 0x%08x\n", flag); 590f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_render_targets = %d\n", num_render_targets); 5917d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (render_targets) { 5927d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan for (i=0; i<num_render_targets; i++) 593f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\trender_targets[%d] = 0x%08x\n", i, render_targets[i]); 5947d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan } 5957d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (context) { 596f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tcontext = 0x%08x\n", *context); 597f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_context = *context; 5987d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan } else 599f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_context = VA_INVALID_ID; 6007d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 601f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_frame_no = 0; 602f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_slice_no = 0; 60321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 604f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_frame_width = picture_width; 605f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_frame_height = picture_height; 606eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan 607f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (trace_ctx->trace_surface_width == 0) 608f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_width = picture_width; 609f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (trace_ctx->trace_surface_height == 0) 610f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_surface_height = picture_height; 611b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 612b0fac498ca4863166252f1268fda83394db54153Fei Jiang 613b0fac498ca4863166252f1268fda83394db54153Fei Jiang 614b0fac498ca4863166252f1268fda83394db54153Fei Jiangstatic char * buffer_type_to_string(int type) 615b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 616b0fac498ca4863166252f1268fda83394db54153Fei Jiang switch (type) { 617b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAPictureParameterBufferType: return "VAPictureParameterBufferType"; 618b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAIQMatrixBufferType: return "VAIQMatrixBufferType"; 619b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VABitPlaneBufferType: return "VABitPlaneBufferType"; 620b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceGroupMapBufferType: return "VASliceGroupMapBufferType"; 621b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceParameterBufferType: return "VASliceParameterBufferType"; 622b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceDataBufferType: return "VASliceDataBufferType"; 623b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProtectedSliceDataBufferType: return "VAProtectedSliceDataBufferType"; 624b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAMacroblockParameterBufferType: return "VAMacroblockParameterBufferType"; 625b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAResidualDataBufferType: return "VAResidualDataBufferType"; 626b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VADeblockingParameterBufferType: return "VADeblockingParameterBufferType"; 627b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAImageBufferType: return "VAImageBufferType"; 628409de6acb4473c973ed2532e340831dc582e5e0eAustin Yuan case VAQMatrixBufferType: return "VAQMatrixBufferType"; 629409de6acb4473c973ed2532e340831dc582e5e0eAustin Yuan case VAHuffmanTableBufferType: return "VAHuffmanTableBufferType"; 630409de6acb4473c973ed2532e340831dc582e5e0eAustin Yuan case VAProbabilityBufferType: return "VAProbabilityBufferType"; 631409de6acb4473c973ed2532e340831dc582e5e0eAustin Yuan/* Following are encode buffer types */ 632b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncCodedBufferType: return "VAEncCodedBufferType"; 633b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncSequenceParameterBufferType: return "VAEncSequenceParameterBufferType"; 634b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncPictureParameterBufferType: return "VAEncPictureParameterBufferType"; 635b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncSliceParameterBufferType: return "VAEncSliceParameterBufferType"; 636409de6acb4473c973ed2532e340831dc582e5e0eAustin Yuan case VAEncPackedHeaderParameterBufferType: return "VAEncPackedHeaderParameterBufferType"; 637409de6acb4473c973ed2532e340831dc582e5e0eAustin Yuan case VAEncPackedHeaderDataBufferType: return "VAEncPackedHeaderDataBufferType"; 63821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan case VAEncMiscParameterBufferType: return "VAEncMiscParameterBufferType"; 639409de6acb4473c973ed2532e340831dc582e5e0eAustin Yuan case VAEncMacroblockParameterBufferType: return "VAEncMacroblockParameterBufferType"; 640409de6acb4473c973ed2532e340831dc582e5e0eAustin Yuan case VAProcPipelineParameterBufferType: return "VAProcPipelineParameterBufferType"; 641409de6acb4473c973ed2532e340831dc582e5e0eAustin Yuan case VAProcFilterParameterBufferType: return "VAProcFilterParameterBufferType"; 642b0fac498ca4863166252f1268fda83394db54153Fei Jiang default: return "UnknowBuffer"; 643b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 644b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 645b0fac498ca4863166252f1268fda83394db54153Fei Jiang 6462efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuanvoid va_TraceCreateBuffer ( 6472efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan VADisplay dpy, 648a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, /* in */ 6492efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan VABufferType type, /* in */ 6502efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan unsigned int size, /* in */ 6512efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan unsigned int num_elements, /* in */ 652a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan void __maybe_unused *data, /* in */ 6532efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan VABufferID *buf_id /* out */ 6542efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan) 6552efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan{ 656f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 6572efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 6582efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan /* only trace CodedBuffer */ 6592efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan if (type != VAEncCodedBufferType) 6602efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan return; 6612efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 6622efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan TRACE_FUNCNAME(idx); 663f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbuf_type=%s\n", buffer_type_to_string(type)); 6647d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (buf_id) 665f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbuf_id=0x%x\n", *buf_id); 666f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsize=%d\n", size); 667f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_elements=%d\n", num_elements); 6682efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 669f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 6702efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan} 6712efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 6722efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuanvoid va_TraceDestroyBuffer ( 6732efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan VADisplay dpy, 6742efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan VABufferID buf_id /* in */ 6752efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan) 6762efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan{ 6772efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan VABufferType type; 6782efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan unsigned int size; 6792efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan unsigned int num_elements; 6802efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 681f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 6822efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 683f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun vaBufferInfo(dpy, trace_ctx->trace_context, buf_id, &type, &size, &num_elements); 6842efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 6852efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan /* only trace CodedBuffer */ 6862efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan if (type != VAEncCodedBufferType) 6872efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan return; 6882efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 6892efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan TRACE_FUNCNAME(idx); 690f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbuf_type=%s\n", buffer_type_to_string(type)); 691f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbuf_id=0x%x\n", buf_id); 692f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsize=%d\n", size); 693f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_elements=%d\n", num_elements); 6942efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 695f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 6962efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan} 6972efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 6982efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 69921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanvoid va_TraceMapBuffer ( 70021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplay dpy, 70136bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang VABufferID buf_id, /* in */ 70236bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang void **pbuf /* out */ 70321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan) 70421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan{ 70521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VABufferType type; 70621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int size; 70721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int num_elements; 70821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 70921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VACodedBufferSegment *buf_list; 71021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan int i = 0; 71121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 712f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 71321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 714f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun vaBufferInfo(dpy, trace_ctx->trace_context, buf_id, &type, &size, &num_elements); 71521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 71621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan /* only trace CodedBuffer */ 71721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan if (type != VAEncCodedBufferType) 71821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan return; 71935f195a578d0bec4a0aa84d6162eda7e3a4a4db9Austin Yuan 72035f195a578d0bec4a0aa84d6162eda7e3a4a4db9Austin Yuan TRACE_FUNCNAME(idx); 721f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbuf_id=0x%x\n", buf_id); 722f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbuf_type=%s\n", buffer_type_to_string(type)); 7237d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if ((pbuf == NULL) || (*pbuf == NULL)) 7247d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan return; 7257d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 72621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan buf_list = (VACodedBufferSegment *)(*pbuf); 72721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan while (buf_list != NULL) { 728f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tCodedbuf[%d] =\n", i++); 72921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 730f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t size = %d\n", buf_list->size); 731f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t bit_offset = %d\n", buf_list->bit_offset); 732f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t status = 0x%08x\n", buf_list->status); 733f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t reserved = 0x%08x\n", buf_list->reserved); 734f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t buf = 0x%08x\n", buf_list->buf); 73521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 736f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan if (trace_ctx->trace_fp_codedbuf) { 737f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan va_TraceMsg(trace_ctx, "\tDump the content to file\n"); 738f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan fwrite(buf_list->buf, buf_list->size, 1, trace_ctx->trace_fp_codedbuf); 739f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan } 740f1eb19f7d27218c36318f685dadc6d651595f6beAustin Yuan 74121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan buf_list = buf_list->next; 74221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 743f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 74421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 745b0fac498ca4863166252f1268fda83394db54153Fei Jiang 74621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanstatic void va_TraceVABuffers( 747b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 748b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAContextID context, 749b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferID buffer, 750b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferType type, 751b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int size, 752b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int num_elements, 753b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *pbuf 75421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan) 755b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 75621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int i; 757b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned char *p = pbuf; 7580f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan unsigned int dump_size = 64; 759f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 760f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 761a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 762a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan va_TraceMsg(trace_ctx, "\t context = %d, buffer = %d, type = %d, size = %d, num_elements = %d\n", 763a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan context, buffer, type, size, num_elements); 764f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "--%s\n", buffer_type_to_string(type)); 765b0fac498ca4863166252f1268fda83394db54153Fei Jiang 7660f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan if (dump_size>size) 7670f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan dump_size = size; 7680f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 7690f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan if (trace_flag & VA_TRACE_FLAG_BUFDATA) 7700f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan dump_size = size; 7710f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 7720f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan if (trace_ctx->trace_fp_log) { 7730f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan for (i=0; i<dump_size; i++) { 774f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun unsigned char value = p[i]; 77521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 776f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (i==0) 777f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun fprintf(trace_ctx->trace_fp_log, "\t\t0x%04x:", i); 778f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun else if ((i%16) == 0) 779f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun fprintf(trace_ctx->trace_fp_log, "\n\t\t0x%04x:", i); 78021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 781f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun fprintf(trace_ctx->trace_fp_log, " %02x", value); 782f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun } 783f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun fprintf(trace_ctx->trace_fp_log, "\n"); 784b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 785f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 786f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 78721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 78821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan return; 789b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 790b0fac498ca4863166252f1268fda83394db54153Fei Jiang 791b0fac498ca4863166252f1268fda83394db54153Fei Jiang 792b0fac498ca4863166252f1268fda83394db54153Fei Jiangstatic void va_TraceVAPictureParameterBufferMPEG2( 793b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 794a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 795a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 796a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 797a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 798a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 799b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *data) 800b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 80172b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang VAPictureParameterBufferMPEG2 *p=(VAPictureParameterBufferMPEG2 *)data; 802f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 803f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 804f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"VAPictureParameterBufferMPEG2\n"); 805f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\thorizontal size= %d\n", p->horizontal_size); 806f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tvertical size= %d\n", p->vertical_size); 807f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tforward reference picture= %d\n", p->forward_reference_picture); 808f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tbackward reference picture= %d\n", p->backward_reference_picture); 809f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tpicture coding type= %d\n", p->picture_coding_type); 810f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tf mode= %d\n", p->f_code); 811f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 812f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tpicture coding extension = %d\n", p->picture_coding_extension.value); 813f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tintra_dc_precision= %d\n", p->picture_coding_extension.bits.intra_dc_precision); 814f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tpicture_structure= %d\n", p->picture_coding_extension.bits.picture_structure); 815f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\ttop_field_first= %d\n", p->picture_coding_extension.bits.top_field_first); 816f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tframe_pred_frame_dct= %d\n", p->picture_coding_extension.bits.frame_pred_frame_dct); 817f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tconcealment_motion_vectors= %d\n", p->picture_coding_extension.bits.concealment_motion_vectors); 818f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tq_scale_type= %d\n", p->picture_coding_extension.bits.q_scale_type); 819f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tintra_vlc_format= %d\n", p->picture_coding_extension.bits.intra_vlc_format); 820f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\talternate_scan= %d\n", p->picture_coding_extension.bits.alternate_scan); 821f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\trepeat_first_field= %d\n", p->picture_coding_extension.bits.repeat_first_field); 822f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tprogressive_frame= %d\n", p->picture_coding_extension.bits.progressive_frame); 823f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tis_first_field= %d\n", p->picture_coding_extension.bits.is_first_field); 824f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 82572b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 826b0fac498ca4863166252f1268fda83394db54153Fei Jiang return; 827b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 828b0fac498ca4863166252f1268fda83394db54153Fei Jiang 829b0fac498ca4863166252f1268fda83394db54153Fei Jiang 830b0fac498ca4863166252f1268fda83394db54153Fei Jiangstatic void va_TraceVAIQMatrixBufferMPEG2( 831b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 832a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 833a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 834a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 835a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 836a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 837b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *data) 838b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 83972b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang VAIQMatrixBufferMPEG2 *p=(VAIQMatrixBufferMPEG2 *)data; 840f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 84172b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 842f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"VAIQMatrixBufferMPEG2\n"); 843f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tload_intra_quantiser_matrix = %d\n", p->load_intra_quantiser_matrix); 844f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tload_non_intra_quantiser_matrix = %d\n", p->load_non_intra_quantiser_matrix); 845f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tload_chroma_intra_quantiser_matrix = %d\n", p->load_chroma_intra_quantiser_matrix); 846f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tload_chroma_non_intra_quantiser_matrix = %d\n", p->load_chroma_non_intra_quantiser_matrix); 847f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tintra_quantiser_matrix = %d\n", p->intra_quantiser_matrix); 848f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tnon_intra_quantiser_matrix = %d\n", p->non_intra_quantiser_matrix); 849f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tchroma_intra_quantiser_matrix = %d\n", p->chroma_intra_quantiser_matrix); 850f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tchroma_non_intra_quantiser_matrix = %d\n", p->chroma_non_intra_quantiser_matrix); 851f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 85272b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 853b0fac498ca4863166252f1268fda83394db54153Fei Jiang return; 854b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 855b0fac498ca4863166252f1268fda83394db54153Fei Jiang 856b0fac498ca4863166252f1268fda83394db54153Fei Jiang 857b0fac498ca4863166252f1268fda83394db54153Fei Jiangstatic void va_TraceVASliceParameterBufferMPEG2( 858b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 859a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 860a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 861a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 862a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 863a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 864b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *data) 865b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 86672b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang VASliceParameterBufferMPEG2 *p=(VASliceParameterBufferMPEG2 *)data; 86772b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 868f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 86921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 870f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_slice_no++; 87121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 872f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_slice_size = p->slice_data_size; 87372b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 874f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"VASliceParameterBufferMPEG2\n"); 875f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_data_size = %d\n", p->slice_data_size); 876f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_data_offset = %d\n", p->slice_data_offset); 877f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_data_flag = %d\n", p->slice_data_flag); 878f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tmacroblock_offset = %d\n", p->macroblock_offset); 879f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_horizontal_position = %d\n", p->slice_horizontal_position); 880f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_vertical_position = %d\n", p->slice_vertical_position); 881f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tquantiser_scale_code = %d\n", p->quantiser_scale_code); 882f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tintra_slice_flag = %d\n", p->intra_slice_flag); 883f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 88472b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 885b0fac498ca4863166252f1268fda83394db54153Fei Jiang return; 886b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 887b0fac498ca4863166252f1268fda83394db54153Fei Jiang 8889992891b62398a80bd0867f8d167c0faa49861fdCheng Yaostatic void va_TraceVAPictureParameterBufferJPEG( 8899992891b62398a80bd0867f8d167c0faa49861fdCheng Yao VADisplay dpy, 890a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 891a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 892a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 893a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 894a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 8959992891b62398a80bd0867f8d167c0faa49861fdCheng Yao void *data) 8969992891b62398a80bd0867f8d167c0faa49861fdCheng Yao{ 8979992891b62398a80bd0867f8d167c0faa49861fdCheng Yao int i; 8989992891b62398a80bd0867f8d167c0faa49861fdCheng Yao VAPictureParameterBufferJPEGBaseline *p=(VAPictureParameterBufferJPEGBaseline *)data; 899f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 9009992891b62398a80bd0867f8d167c0faa49861fdCheng Yao 901f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"*VAPictureParameterBufferJPEG\n"); 902f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tpicture_width = %u\n", p->picture_width); 903f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tpicture_height = %u\n", p->picture_height); 904f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tcomponents = \n"); 9059992891b62398a80bd0867f8d167c0faa49861fdCheng Yao for (i = 0; i < p->num_components && i < 255; ++i) { 906f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\t[%d] component_id = %u\n", i, p->components[i].component_id); 907f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\t[%d] h_sampling_factor = %u\n", i, p->components[i].h_sampling_factor); 908f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\t[%d] v_sampling_factor = %u\n", i, p->components[i].v_sampling_factor); 909f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\t[%d] quantiser_table_selector = %u\n", i, p->components[i].quantiser_table_selector); 9109992891b62398a80bd0867f8d167c0faa49861fdCheng Yao } 9119992891b62398a80bd0867f8d167c0faa49861fdCheng Yao} 9129992891b62398a80bd0867f8d167c0faa49861fdCheng Yao 9139992891b62398a80bd0867f8d167c0faa49861fdCheng Yaostatic void va_TraceVAIQMatrixBufferJPEG( 9149992891b62398a80bd0867f8d167c0faa49861fdCheng Yao VADisplay dpy, 915a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 916a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 917a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 918a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 919a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 9209992891b62398a80bd0867f8d167c0faa49861fdCheng Yao void *data) 9219992891b62398a80bd0867f8d167c0faa49861fdCheng Yao{ 9229992891b62398a80bd0867f8d167c0faa49861fdCheng Yao int i, j; 9239992891b62398a80bd0867f8d167c0faa49861fdCheng Yao static char tmp[1024]; 9249992891b62398a80bd0867f8d167c0faa49861fdCheng Yao VAIQMatrixBufferJPEGBaseline *p=(VAIQMatrixBufferJPEGBaseline *)data; 925f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 926a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 927f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"*VAIQMatrixParameterBufferJPEG\n"); 928f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tload_quantiser_table =\n"); 9299992891b62398a80bd0867f8d167c0faa49861fdCheng Yao for (i = 0; i < 4; ++i) { 930f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\t[%d] = %u\n", i, p->load_quantiser_table[i]); 9319992891b62398a80bd0867f8d167c0faa49861fdCheng Yao } 932f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tquantiser_table =\n"); 9339992891b62398a80bd0867f8d167c0faa49861fdCheng Yao for (i = 0; i < 4; ++i) { 9349992891b62398a80bd0867f8d167c0faa49861fdCheng Yao memset(tmp, 0, sizeof tmp); 9359992891b62398a80bd0867f8d167c0faa49861fdCheng Yao for (j = 0; j < 64; ++j) { 9369992891b62398a80bd0867f8d167c0faa49861fdCheng Yao sprintf(tmp + strlen(tmp), "%u ", p->quantiser_table[i][j]); 9379992891b62398a80bd0867f8d167c0faa49861fdCheng Yao } 938f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\t[%d] = %s\n", i, tmp); 9399992891b62398a80bd0867f8d167c0faa49861fdCheng Yao } 9409992891b62398a80bd0867f8d167c0faa49861fdCheng Yao} 9419992891b62398a80bd0867f8d167c0faa49861fdCheng Yao 9429992891b62398a80bd0867f8d167c0faa49861fdCheng Yaostatic void va_TraceVASliceParameterBufferJPEG( 9439992891b62398a80bd0867f8d167c0faa49861fdCheng Yao VADisplay dpy, 944a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 945a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 946a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 947a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 948a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 9499992891b62398a80bd0867f8d167c0faa49861fdCheng Yao void *data) 9509992891b62398a80bd0867f8d167c0faa49861fdCheng Yao{ 9519992891b62398a80bd0867f8d167c0faa49861fdCheng Yao int i; 9529992891b62398a80bd0867f8d167c0faa49861fdCheng Yao VASliceParameterBufferJPEGBaseline *p=(VASliceParameterBufferJPEGBaseline *)data; 953f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 954a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 955f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"*VASliceParameterBufferJPEG\n"); 956f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_data_size = %u\n", p->slice_data_size); 957f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_data_offset = %u\n", p->slice_data_offset); 958f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_data_flag = %u\n", p->slice_data_flag); 959f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_horizontal_position = %u\n", p->slice_horizontal_position); 960f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_vertical_position = %u\n", p->slice_vertical_position); 961f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tcomponents = \n"); 9629992891b62398a80bd0867f8d167c0faa49861fdCheng Yao for (i = 0; i < p->num_components && i < 4; ++i) { 963f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\t[%d] component_selector = %u\n", i, p->components[i].component_selector); 964f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\t[%d] dc_table_selector = %u\n", i, p->components[i].dc_table_selector); 965f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\t[%d] ac_table_selector = %u\n", i, p->components[i].ac_table_selector); 9669992891b62398a80bd0867f8d167c0faa49861fdCheng Yao } 967f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\trestart_interval = %u\n", p->restart_interval); 968f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tnum_mcus = %u\n", p->num_mcus); 9699992891b62398a80bd0867f8d167c0faa49861fdCheng Yao} 9709992891b62398a80bd0867f8d167c0faa49861fdCheng Yao 9719992891b62398a80bd0867f8d167c0faa49861fdCheng Yaostatic void va_TraceVAHuffmanTableBufferJPEG( 9729992891b62398a80bd0867f8d167c0faa49861fdCheng Yao VADisplay dpy, 973a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 974a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 975a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 976a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 977a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 9789992891b62398a80bd0867f8d167c0faa49861fdCheng Yao void *data) 9799992891b62398a80bd0867f8d167c0faa49861fdCheng Yao{ 9809992891b62398a80bd0867f8d167c0faa49861fdCheng Yao int i, j; 9819992891b62398a80bd0867f8d167c0faa49861fdCheng Yao static char tmp[1024]; 9829992891b62398a80bd0867f8d167c0faa49861fdCheng Yao VAHuffmanTableBufferJPEGBaseline *p=(VAHuffmanTableBufferJPEGBaseline *)data; 983f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 984f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"*VAHuffmanTableBufferJPEG\n"); 9859992891b62398a80bd0867f8d167c0faa49861fdCheng Yao 9869992891b62398a80bd0867f8d167c0faa49861fdCheng Yao for (i = 0; i < 2; ++i) { 987f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tload_huffman_table[%d] =%u\n", i, p->load_huffman_table[0]); 988f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\thuffman_table[%d] =\n", i); 9899992891b62398a80bd0867f8d167c0faa49861fdCheng Yao memset(tmp, 0, sizeof tmp); 9909992891b62398a80bd0867f8d167c0faa49861fdCheng Yao for (j = 0; j < 16; ++j) { 9919992891b62398a80bd0867f8d167c0faa49861fdCheng Yao sprintf(tmp + strlen(tmp), "%u ", p->huffman_table[i].num_dc_codes[j]); 9929992891b62398a80bd0867f8d167c0faa49861fdCheng Yao } 993f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\tnum_dc_codes =%s\n", tmp); 9949992891b62398a80bd0867f8d167c0faa49861fdCheng Yao memset(tmp, 0, sizeof tmp); 9959992891b62398a80bd0867f8d167c0faa49861fdCheng Yao for (j = 0; j < 12; ++j) { 9969992891b62398a80bd0867f8d167c0faa49861fdCheng Yao sprintf(tmp + strlen(tmp), "%u ", p->huffman_table[i].dc_values[j]); 9979992891b62398a80bd0867f8d167c0faa49861fdCheng Yao } 998f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\tdc_values =%s\n", tmp); 9999992891b62398a80bd0867f8d167c0faa49861fdCheng Yao memset(tmp, 0, sizeof tmp); 10009992891b62398a80bd0867f8d167c0faa49861fdCheng Yao for (j = 0; j < 16; ++j) { 10019992891b62398a80bd0867f8d167c0faa49861fdCheng Yao sprintf(tmp + strlen(tmp), "%u ", p->huffman_table[i].num_ac_codes[j]); 10029992891b62398a80bd0867f8d167c0faa49861fdCheng Yao } 100390f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN va_TraceMsg(trace_ctx,"\t\tnum_ac_codes =%s\n", tmp); 10049992891b62398a80bd0867f8d167c0faa49861fdCheng Yao memset(tmp, 0, sizeof tmp); 10059992891b62398a80bd0867f8d167c0faa49861fdCheng Yao for (j = 0; j < 162; ++j) { 10069992891b62398a80bd0867f8d167c0faa49861fdCheng Yao sprintf(tmp + strlen(tmp), "%u ", p->huffman_table[i].ac_values[j]); 10079992891b62398a80bd0867f8d167c0faa49861fdCheng Yao } 100890f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN va_TraceMsg(trace_ctx,"\t\tac_values =%s\n", tmp); 10099992891b62398a80bd0867f8d167c0faa49861fdCheng Yao memset(tmp, 0, sizeof tmp); 10109992891b62398a80bd0867f8d167c0faa49861fdCheng Yao for (j = 0; j < 2; ++j) { 10119992891b62398a80bd0867f8d167c0faa49861fdCheng Yao sprintf(tmp + strlen(tmp), "%u ", p->huffman_table[i].pad[j]); 10129992891b62398a80bd0867f8d167c0faa49861fdCheng Yao } 101390f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN va_TraceMsg(trace_ctx,"\t\tpad =%s\n", tmp); 10149992891b62398a80bd0867f8d167c0faa49861fdCheng Yao } 10159992891b62398a80bd0867f8d167c0faa49861fdCheng Yao} 1016b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1017b0fac498ca4863166252f1268fda83394db54153Fei Jiangstatic void va_TraceVAPictureParameterBufferMPEG4( 1018b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 1019a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1020a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1021a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1022a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1023a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 1024b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *data) 1025b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 102672b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang int i; 102772b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang VAPictureParameterBufferMPEG4 *p=(VAPictureParameterBufferMPEG4 *)data; 1028b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1029f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 1030f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1031f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"*VAPictureParameterBufferMPEG4\n"); 1032f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tvop_width = %d\n", p->vop_width); 1033f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tvop_height = %d\n", p->vop_height); 1034f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tforward_reference_picture = %d\n", p->forward_reference_picture); 1035f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tbackward_reference_picture = %d\n", p->backward_reference_picture); 1036f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tvol_fields value = %d\n", p->vol_fields.value); 1037f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tshort_video_header= %d\n", p->vol_fields.bits.short_video_header); 1038f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tchroma_format= %d\n", p->vol_fields.bits.chroma_format); 1039f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tinterlaced= %d\n", p->vol_fields.bits.interlaced); 1040f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tobmc_disable= %d\n", p->vol_fields.bits.obmc_disable); 1041f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tsprite_enable= %d\n", p->vol_fields.bits.sprite_enable); 1042f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tsprite_warping_accuracy= %d\n", p->vol_fields.bits.sprite_warping_accuracy); 1043f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tquant_type= %d\n", p->vol_fields.bits.quant_type); 1044f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tquarter_sample= %d\n", p->vol_fields.bits.quarter_sample); 1045f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tdata_partitioned= %d\n", p->vol_fields.bits.data_partitioned); 1046f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\treversible_vlc= %d\n", p->vol_fields.bits.reversible_vlc); 1047f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tresync_marker_disable= %d\n", p->vol_fields.bits.resync_marker_disable); 1048f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tno_of_sprite_warping_points = %d\n", p->no_of_sprite_warping_points); 1049f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tsprite_trajectory_du ="); 105072b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang for(i=0;i<3;i++) 1051f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t%d", p->sprite_trajectory_du[i]); 105272b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 1053f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\n"); 1054f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tsprite_trajectory_dv ="); 105572b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang for(i=0;i<3;i++) 1056f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t%d", p->sprite_trajectory_dv[i]); 1057f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\n"); 1058f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tvop_fields value = %d\n", p->vop_fields.value); 1059f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tvop_coding_type= %d\n", p->vop_fields.bits.vop_coding_type); 1060f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tbackward_reference_vop_coding_type= %d\n", p->vop_fields.bits.backward_reference_vop_coding_type); 1061f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tvop_rounding_type= %d\n", p->vop_fields.bits.vop_rounding_type); 1062f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tintra_dc_vlc_thr= %d\n", p->vop_fields.bits.intra_dc_vlc_thr); 1063f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\ttop_field_first= %d\n", p->vop_fields.bits.top_field_first); 1064f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\talternate_vertical_scan_flag= %d\n", p->vop_fields.bits.alternate_vertical_scan_flag); 1065f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tvop_fcode_forward = %d\n", p->vop_fcode_forward); 1066f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tvop_fcode_backward = %d\n", p->vop_fcode_backward); 1067f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tnum_gobs_in_vop = %d\n", p->num_gobs_in_vop); 1068f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tnum_macroblocks_in_gob = %d\n", p->num_macroblocks_in_gob); 1069f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tTRB = %d\n", p->TRB); 1070f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tTRD = %d\n", p->TRD); 1071f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 107272b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 1073b0fac498ca4863166252f1268fda83394db54153Fei Jiang return; 1074b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 1075b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1076b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1077b0fac498ca4863166252f1268fda83394db54153Fei Jiangstatic void va_TraceVAIQMatrixBufferMPEG4( 1078b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 1079a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1080a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1081a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1082a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1083a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 1084b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *data) 1085b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 108672b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang int i; 108772b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang VAIQMatrixBufferMPEG4 *p=(VAIQMatrixBufferMPEG4 *)data; 1088f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 108921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 1090f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"VAIQMatrixBufferMPEG4\n"); 109172b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 1092f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tload_intra_quant_mat = %d\n", p->load_intra_quant_mat); 1093f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tload_non_intra_quant_mat = %d\n", p->load_non_intra_quant_mat); 1094f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tintra_quant_mat =\n"); 109572b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang for(i=0;i<64;i++) 1096f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\t%d\n", p->intra_quant_mat[i]); 109772b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 1098f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tnon_intra_quant_mat =\n"); 109972b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang for(i=0;i<64;i++) 1100f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\t\t%d\n", p->non_intra_quant_mat[i]); 1101f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 110272b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 1103b0fac498ca4863166252f1268fda83394db54153Fei Jiang return; 1104b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 1105b0fac498ca4863166252f1268fda83394db54153Fei Jiang 110650ce1dbe8a3402d56c94238710964507db7d99e1Kun Wangstatic void va_TraceVAEncSequenceParameterBufferMPEG4( 110750ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang VADisplay dpy, 1108a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1109a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1110a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1111a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1112a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 111350ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang void *data) 111450ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang{ 111550ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang VAEncSequenceParameterBufferMPEG4 *p = (VAEncSequenceParameterBufferMPEG4 *)data; 1116f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 1117a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 1118f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncSequenceParameterBufferMPEG4\n"); 1119f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tprofile_and_level_indication = %d\n", p->profile_and_level_indication); 1120f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period); 1121f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tvideo_object_layer_width = %d\n", p->video_object_layer_width); 1122f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tvideo_object_layer_height = %d\n", p->video_object_layer_height); 1123f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tvop_time_increment_resolution = %d\n", p->vop_time_increment_resolution); 1124f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tfixed_vop_rate = %d\n", p->fixed_vop_rate); 1125f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tfixed_vop_time_increment = %d\n", p->fixed_vop_time_increment); 1126f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second); 1127f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_rate = %d\n", p->frame_rate); 1128f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tinitial_qp = %d\n", p->initial_qp); 1129f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmin_qp = %d\n", p->min_qp); 1130f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 113150ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 113250ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang return; 113350ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang} 113450ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 113550ce1dbe8a3402d56c94238710964507db7d99e1Kun Wangstatic void va_TraceVAEncPictureParameterBufferMPEG4( 113650ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang VADisplay dpy, 1137a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1138a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1139a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1140a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1141a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 114250ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang void *data) 114350ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang{ 114450ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang VAEncPictureParameterBufferMPEG4 *p = (VAEncPictureParameterBufferMPEG4 *)data; 1145f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 1146a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 1147f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncPictureParameterBufferMPEG4\n"); 1148f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\treference_picture = 0x%08x\n", p->reference_picture); 1149f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\treconstructed_picture = 0x%08x\n", p->reconstructed_picture); 1150f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tcoded_buf = 0x%08x\n", p->coded_buf); 1151f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_width = %d\n", p->picture_width); 1152f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_height = %d\n", p->picture_height); 1153f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmodulo_time_base = %d\n", p->modulo_time_base); 1154f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tvop_time_increment = %d\n", p->vop_time_increment); 1155f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_type = %d\n", p->picture_type); 1156f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 115750ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 115850ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang return; 115950ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang} 116050ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 1161b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1162b0fac498ca4863166252f1268fda83394db54153Fei Jiangstatic void va_TraceVASliceParameterBufferMPEG4( 1163b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 1164a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1165a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1166a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1167a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1168a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 1169b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *data) 1170b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 117172b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang VASliceParameterBufferMPEG4 *p=(VASliceParameterBufferMPEG4 *)data; 117272b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 1173f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 117421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 1175f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_slice_no++; 117621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 1177f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_slice_size = p->slice_data_size; 117872b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 1179f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"VASliceParameterBufferMPEG4\n"); 118072b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 1181f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_data_size = %d\n", p->slice_data_size); 1182f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_data_offset = %d\n", p->slice_data_offset); 1183f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tslice_data_flag = %d\n", p->slice_data_flag); 1184f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tmacroblock_offset = %d\n", p->macroblock_offset); 1185f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tmacroblock_number = %d\n", p->macroblock_number); 1186f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx,"\tquant_scale = %d\n", p->quant_scale); 1187f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 118872b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 1189b0fac498ca4863166252f1268fda83394db54153Fei Jiang return; 1190b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 1191b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1192b0fac498ca4863166252f1268fda83394db54153Fei Jiang 119336bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sangstatic inline void va_TraceFlagIfNotZero( 1194f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun struct trace_context *trace_ctx, 119536bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang const char *name, /* in */ 119636bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang unsigned int flag /* in */ 119736bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang) 119836bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang{ 119936bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang if (flag != 0) { 1200f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "%s = %x\n", name, flag); 120136bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang } 120236bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang} 120336bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang 120436bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang 1205b0fac498ca4863166252f1268fda83394db54153Fei Jiangstatic void va_TraceVAPictureParameterBufferH264( 1206b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 1207a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1208a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1209a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1210a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1211a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 1212b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *data) 1213b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 1214b0fac498ca4863166252f1268fda83394db54153Fei Jiang int i; 1215b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAPictureParameterBufferH264 *p = (VAPictureParameterBufferH264*)data; 121672b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 1217f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 1218b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1219f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAPictureParameterBufferH264\n"); 1220b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1221f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tCurrPic.picture_id = 0x%08x\n", p->CurrPic.picture_id); 1222f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tCurrPic.frame_idx = %d\n", p->CurrPic.frame_idx); 1223f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tCurrPic.flags = %d\n", p->CurrPic.flags); 1224f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tCurrPic.TopFieldOrderCnt = %d\n", p->CurrPic.TopFieldOrderCnt); 1225f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tCurrPic.BottomFieldOrderCnt = %d\n", p->CurrPic.BottomFieldOrderCnt); 1226b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1227f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tReferenceFrames (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags:\n"); 1228b0fac498ca4863166252f1268fda83394db54153Fei Jiang for (i = 0; i < 16; i++) 1229b0fac498ca4863166252f1268fda83394db54153Fei Jiang { 12306044ab9a375eb73b08f45d87966652f98f918668Austin Yuan if ((p->ReferenceFrames[i].picture_id != VA_INVALID_SURFACE) && 12316044ab9a375eb73b08f45d87966652f98f918668Austin Yuan ((p->ReferenceFrames[i].flags & VA_PICTURE_H264_INVALID) == 0)) { 1232f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\t%08d-%08d-0x%08x-%08d-0x%08x\n", 123321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan p->ReferenceFrames[i].TopFieldOrderCnt, 123421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan p->ReferenceFrames[i].BottomFieldOrderCnt, 123521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan p->ReferenceFrames[i].picture_id, 12366044ab9a375eb73b08f45d87966652f98f918668Austin Yuan p->ReferenceFrames[i].frame_idx, 12376044ab9a375eb73b08f45d87966652f98f918668Austin Yuan p->ReferenceFrames[i].flags); 123821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } else 1239f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 1240f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun } 1241f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_width_in_mbs_minus1 = %d\n", p->picture_width_in_mbs_minus1); 1242f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_height_in_mbs_minus1 = %d\n", p->picture_height_in_mbs_minus1); 1243f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbit_depth_luma_minus8 = %d\n", p->bit_depth_luma_minus8); 1244f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbit_depth_chroma_minus8 = %d\n", p->bit_depth_chroma_minus8); 1245f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_ref_frames = %d\n", p->num_ref_frames); 1246f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tseq fields = %d\n", p->seq_fields.value); 1247f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_format_idc = %d\n", p->seq_fields.bits.chroma_format_idc); 1248f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tresidual_colour_transform_flag = %d\n", p->seq_fields.bits.residual_colour_transform_flag); 1249f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_mbs_only_flag = %d\n", p->seq_fields.bits.frame_mbs_only_flag); 1250f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmb_adaptive_frame_field_flag = %d\n", p->seq_fields.bits.mb_adaptive_frame_field_flag); 1251f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdirect_8x8_inference_flag = %d\n", p->seq_fields.bits.direct_8x8_inference_flag); 1252f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tMinLumaBiPredSize8x8 = %d\n", p->seq_fields.bits.MinLumaBiPredSize8x8); 1253f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_slice_groups_minus1 = %d\n", p->num_slice_groups_minus1); 1254f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_group_map_type = %d\n", p->slice_group_map_type); 1255f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_group_change_rate_minus1 = %d\n", p->slice_group_change_rate_minus1); 1256f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_init_qp_minus26 = %d\n", p->pic_init_qp_minus26); 1257f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_init_qs_minus26 = %d\n", p->pic_init_qs_minus26); 1258f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_qp_index_offset = %d\n", p->chroma_qp_index_offset); 1259f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsecond_chroma_qp_index_offset = %d\n", p->second_chroma_qp_index_offset); 1260f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_fields = 0x%03x\n", p->pic_fields.value); 1261f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceFlagIfNotZero(trace_ctx, "\t\tentropy_coding_mode_flag", p->pic_fields.bits.entropy_coding_mode_flag); 1262f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceFlagIfNotZero(trace_ctx, "\t\tweighted_pred_flag", p->pic_fields.bits.weighted_pred_flag); 1263f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceFlagIfNotZero(trace_ctx, "\t\tweighted_bipred_idc", p->pic_fields.bits.weighted_bipred_idc); 1264f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceFlagIfNotZero(trace_ctx, "\t\ttransform_8x8_mode_flag", p->pic_fields.bits.transform_8x8_mode_flag); 1265f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceFlagIfNotZero(trace_ctx, "\t\tfield_pic_flag", p->pic_fields.bits.field_pic_flag); 1266f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceFlagIfNotZero(trace_ctx, "\t\tconstrained_intra_pred_flag", p->pic_fields.bits.constrained_intra_pred_flag); 1267f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceFlagIfNotZero(trace_ctx, "\t\tpic_order_present_flag", p->pic_fields.bits.pic_order_present_flag); 1268f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceFlagIfNotZero(trace_ctx, "\t\tdeblocking_filter_control_present_flag", p->pic_fields.bits.deblocking_filter_control_present_flag); 1269f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceFlagIfNotZero(trace_ctx, "\t\tredundant_pic_cnt_present_flag", p->pic_fields.bits.redundant_pic_cnt_present_flag); 1270f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceFlagIfNotZero(trace_ctx, "\t\treference_pic_flag", p->pic_fields.bits.reference_pic_flag); 1271f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_num = %d\n", p->frame_num); 127288912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tnum_ref_idx_l0_default_active_minus1 = %d\n", p->num_ref_idx_l0_default_active_minus1); 127388912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tnum_ref_idx_l1_default_active_minus1 = %d\n", p->num_ref_idx_l1_default_active_minus1); 1274a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 1275f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 127688912d09886f431619dc966776a85976129f2b24Austin Yuan 1277b0fac498ca4863166252f1268fda83394db54153Fei Jiang return; 1278b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 1279b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1280b0fac498ca4863166252f1268fda83394db54153Fei Jiangstatic void va_TraceVASliceParameterBufferH264( 1281b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 1282a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1283a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1284a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1285a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1286a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 1287b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *data) 1288b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 1289b0fac498ca4863166252f1268fda83394db54153Fei Jiang int i; 1290b0fac498ca4863166252f1268fda83394db54153Fei Jiang VASliceParameterBufferH264* p = (VASliceParameterBufferH264*)data; 1291f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 1292f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1293f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_slice_no++; 1294f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_slice_size = p->slice_data_size; 1295f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1296f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VASliceParameterBufferH264\n"); 1297f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_data_size = %d\n", p->slice_data_size); 1298f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_data_offset = %d\n", p->slice_data_offset); 1299f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_data_flag = %d\n", p->slice_data_flag); 1300f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_data_bit_offset = %d\n", p->slice_data_bit_offset); 1301f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tfirst_mb_in_slice = %d\n", p->first_mb_in_slice); 1302f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_type = %d\n", p->slice_type); 1303f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdirect_spatial_mv_pred_flag = %d\n", p->direct_spatial_mv_pred_flag); 1304f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_ref_idx_l0_active_minus1 = %d\n", p->num_ref_idx_l0_active_minus1); 1305f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_ref_idx_l1_active_minus1 = %d\n", p->num_ref_idx_l1_active_minus1); 1306f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tcabac_init_idc = %d\n", p->cabac_init_idc); 1307f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_qp_delta = %d\n", p->slice_qp_delta); 1308f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdisable_deblocking_filter_idc = %d\n", p->disable_deblocking_filter_idc); 1309f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_alpha_c0_offset_div2 = %d\n", p->slice_alpha_c0_offset_div2); 1310f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_beta_offset_div2 = %d\n", p->slice_beta_offset_div2); 1311f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 13128c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\tRefPicList0 =\n"); 1313f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for (i = 0; i < 32; i++) { 1314f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if ((p->RefPicList0[i].picture_id != VA_INVALID_SURFACE) && 1315f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun ((p->RefPicList0[i].flags & VA_PICTURE_H264_INVALID) == 0)) 1316f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 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); 1317f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun else 1318f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 1319f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun } 13208c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\tRefPicList1 =\n"); 1321f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for (i = 0; i < 32; i++) { 13222d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng if ((p->RefPicList1[i].picture_id != VA_INVALID_SURFACE) && 13232d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng ((p->RefPicList1[i].flags & VA_PICTURE_H264_INVALID) == 0)) 1324f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 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); 1325f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun else 1326f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 1327b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 13282d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng 1329f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tluma_log2_weight_denom = %d\n", p->luma_log2_weight_denom); 1330f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_log2_weight_denom = %d\n", p->chroma_log2_weight_denom); 1331f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tluma_weight_l0_flag = %d\n", p->luma_weight_l0_flag); 13322d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng 13332d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng for (i = 0; (i <= p->num_ref_idx_l0_active_minus1) && (i<32); i++) { 13342d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng va_TraceMsg(trace_ctx, "\t\t%d\t%d\n", 13352d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng p->luma_weight_l0[i], 13362d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng p->luma_offset_l0[i]); 1337b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 133836bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang 13392d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng 1340f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_weight_l0_flag = %d\n", p->chroma_weight_l0_flag); 13412d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng 13422d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng for (i = 0; (i <= p->num_ref_idx_l0_active_minus1) && (i<32); i++) { 13432d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng va_TraceMsg(trace_ctx, "\t\t%d\t%d\t%d\t%d\n", 13442d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng p->chroma_weight_l0[i][0], 13452d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng p->chroma_offset_l0[i][0], 13462d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng p->chroma_weight_l0[i][1], 13472d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng p->chroma_offset_l0[i][1]); 1348b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 13492d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng 13502d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng 1351f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tluma_weight_l1_flag = %d\n", p->luma_weight_l1_flag); 13522d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng 13532d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng for (i = 0; (i <= p->num_ref_idx_l1_active_minus1) && (i<32); i++) { 13542d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng va_TraceMsg(trace_ctx, "\t\t%d\t%d\n", 13552d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng p->luma_weight_l1[i], 13562d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng p->luma_offset_l1[i]); 1357b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 13582d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng 13592d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng 1360f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_weight_l1_flag = %d\n", p->chroma_weight_l1_flag); 13612d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng 13622d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng for (i = 0; (i <= p->num_ref_idx_l1_active_minus1) && (i<32); i++) { 13632d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng va_TraceMsg(trace_ctx, "\t\t%d\t%d\t%d\t%d\n", 13642d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng p->chroma_weight_l1[i][0], 13652d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng p->chroma_offset_l1[i][0], 13662d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng p->chroma_weight_l1[i][1], 13672d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng p->chroma_offset_l1[i][1]); 13682d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng 136936bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang } 1370f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 1371b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 1372b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1373b0fac498ca4863166252f1268fda83394db54153Fei Jiangstatic void va_TraceVAIQMatrixBufferH264( 1374b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 1375a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1376a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1377a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1378a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1379a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 1380b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *data 1381b0fac498ca4863166252f1268fda83394db54153Fei Jiang) 1382b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 13832d90a81b39bf9820be1e5b179f3af95be8b08eddwfeng int i, j; 1384b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAIQMatrixBufferH264* p = (VAIQMatrixBufferH264* )data; 138572b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 1386f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 138721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 1388f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAIQMatrixBufferH264\n"); 138921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 1390f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tScalingList4x4[6][16]=\n"); 139121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan for (i = 0; i < 6; i++) { 139221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan for (j = 0; j < 16; j++) { 13938c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if (trace_ctx->trace_fp_log) { 13948c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan fprintf(trace_ctx->trace_fp_log, "\t%d", p->ScalingList4x4[i][j]); 13958c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if ((j + 1) % 8 == 0) 13968c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan fprintf(trace_ctx->trace_fp_log, "\n"); 13978c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 1398b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 1399b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 1400b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1401f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tScalingList8x8[2][64]=\n"); 140221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan for (i = 0; i < 2; i++) { 140321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan for (j = 0; j < 64; j++) { 14048c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if (trace_ctx->trace_fp_log) { 14058c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan fprintf(trace_ctx->trace_fp_log,"\t%d", p->ScalingList8x8[i][j]); 14068c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if ((j + 1) % 8 == 0) 14078c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan fprintf(trace_ctx->trace_fp_log, "\n"); 14088c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 140936bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang } 1410b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 141136bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang 1412f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 1413b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 1414b0fac498ca4863166252f1268fda83394db54153Fei Jiang 14156af1f7eccc8c67c1f3a4c989a4f0b69804ef973dTang, XiaoxiX 1416409de6acb4473c973ed2532e340831dc582e5e0eAustin Yuan 141721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanstatic void va_TraceVAEncSequenceParameterBufferH264( 141821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplay dpy, 1419a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1420a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1421a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1422a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1423a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 142421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan void *data) 142521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan{ 142621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAEncSequenceParameterBufferH264 *p = (VAEncSequenceParameterBufferH264 *)data; 1427f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 14288c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan unsigned int i; 14294b672db6ee89c9846451bbab23cf18e93c4260b2hding 1430f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncSequenceParameterBufferH264\n"); 1431f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1432f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tseq_parameter_set_id = %d\n", p->seq_parameter_set_id); 1433f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tlevel_idc = %d\n", p->level_idc); 1434f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period); 1435f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tintra_idr_period = %d\n", p->intra_idr_period); 1436f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tip_period = %d\n", p->ip_period); 1437f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second); 1438f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmax_num_ref_frames = %d\n", p->max_num_ref_frames); 1439f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_width_in_mbs = %d\n", p->picture_width_in_mbs); 1440f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_height_in_mbs = %d\n", p->picture_height_in_mbs); 1441f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_format_idc = %d\n", p->seq_fields.bits.chroma_format_idc); 1442f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_mbs_only_flag = %d\n", p->seq_fields.bits.frame_mbs_only_flag); 1443f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmb_adaptive_frame_field_flag = %d\n", p->seq_fields.bits.mb_adaptive_frame_field_flag); 1444f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tseq_scaling_matrix_present_flag = %d\n", p->seq_fields.bits.seq_scaling_matrix_present_flag); 1445f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdirect_8x8_inference_flag = %d\n", p->seq_fields.bits.direct_8x8_inference_flag); 1446f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tlog2_max_frame_num_minus4 = %d\n", p->seq_fields.bits.log2_max_frame_num_minus4); 1447f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_order_cnt_type = %d\n", p->seq_fields.bits.pic_order_cnt_type); 1448f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tlog2_max_pic_order_cnt_lsb_minus4 = %d\n", p->seq_fields.bits.log2_max_pic_order_cnt_lsb_minus4); 1449f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdelta_pic_order_always_zero_flag = %d\n", p->seq_fields.bits.delta_pic_order_always_zero_flag); 1450f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbit_depth_luma_minus8 = %d\n", p->bit_depth_luma_minus8); 1451f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbit_depth_chroma_minus8 = %d\n", p->bit_depth_chroma_minus8); 1452f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_ref_frames_in_pic_order_cnt_cycle = %d\n", p->num_ref_frames_in_pic_order_cnt_cycle); 1453f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\toffset_for_non_ref_pic = %d\n", p->offset_for_non_ref_pic); 1454f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\toffset_for_top_to_bottom_field = %d\n", p->offset_for_top_to_bottom_field); 14558c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan for(i = 0; (i < p->max_num_ref_frames) && (i < 32); ++i) 1456f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\toffset_for_ref_frame[%d] = %d\n", i, p->offset_for_ref_frame[i]); 1457f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_cropping_flag = %d\n", p->frame_cropping_flag); 1458f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_crop_left_offset = %d\n", p->frame_crop_left_offset); 1459f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_crop_right_offset = %d\n", p->frame_crop_right_offset); 1460f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_crop_top_offset = %d\n", p->frame_crop_top_offset); 1461f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_crop_bottom_offset = %d\n", p->frame_crop_bottom_offset); 1462f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tvui_parameters_present_flag = %d\n", p->vui_parameters_present_flag); 1463f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\taspect_ratio_info_present_flag = %d\n", p->vui_fields.bits.aspect_ratio_info_present_flag); 1464f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\ttiming_info_present_flag = %d\n", p->vui_fields.bits.timing_info_present_flag); 1465f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbitstream_restriction_flag = %d\n", p->vui_fields.bits.bitstream_restriction_flag); 1466f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tlog2_max_mv_length_horizontal = %d\n", p->vui_fields.bits.log2_max_mv_length_horizontal); 1467f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tlog2_max_mv_length_vertical = %d\n", p->vui_fields.bits.log2_max_mv_length_vertical); 1468f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\taspect_ratio_idc = %d\n", p->aspect_ratio_idc); 1469f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsar_width = %d\n", p->sar_width); 1470f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsar_height = %d\n", p->sar_height); 1471f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_units_in_tick = %d\n", p->num_units_in_tick); 1472f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\ttime_scale = %d\n", p->time_scale); 1473f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1474f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 147521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 147621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan return; 147721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 147821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 14794b672db6ee89c9846451bbab23cf18e93c4260b2hding 148021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanstatic void va_TraceVAEncPictureParameterBufferH264( 148121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplay dpy, 1482a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1483a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1484a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1485a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1486a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 148721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan void *data) 148821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan{ 148921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAEncPictureParameterBufferH264 *p = (VAEncPictureParameterBufferH264 *)data; 1490f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 14914b672db6ee89c9846451bbab23cf18e93c4260b2hding int i; 14924b672db6ee89c9846451bbab23cf18e93c4260b2hding 1493f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncPictureParameterBufferH264\n"); 14944b672db6ee89c9846451bbab23cf18e93c4260b2hding 1495f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tCurrPic.picture_id = 0x%08x\n", p->CurrPic.picture_id); 1496f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tCurrPic.frame_idx = %d\n", p->CurrPic.frame_idx); 1497f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tCurrPic.flags = %d\n", p->CurrPic.flags); 1498f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tCurrPic.TopFieldOrderCnt = %d\n", p->CurrPic.TopFieldOrderCnt); 1499f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tCurrPic.BottomFieldOrderCnt = %d\n", p->CurrPic.BottomFieldOrderCnt); 1500f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tReferenceFrames (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags):\n"); 15014b672db6ee89c9846451bbab23cf18e93c4260b2hding for (i = 0; i < 16; i++) 15024b672db6ee89c9846451bbab23cf18e93c4260b2hding { 15036044ab9a375eb73b08f45d87966652f98f918668Austin Yuan if ((p->ReferenceFrames[i].picture_id != VA_INVALID_SURFACE) && 15046044ab9a375eb73b08f45d87966652f98f918668Austin Yuan ((p->ReferenceFrames[i].flags & VA_PICTURE_H264_INVALID) == 0)) { 1505f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\t%08d-%08d-0x%08x-%08d-0x%08x\n", 15064b672db6ee89c9846451bbab23cf18e93c4260b2hding p->ReferenceFrames[i].TopFieldOrderCnt, 15074b672db6ee89c9846451bbab23cf18e93c4260b2hding p->ReferenceFrames[i].BottomFieldOrderCnt, 15084b672db6ee89c9846451bbab23cf18e93c4260b2hding p->ReferenceFrames[i].picture_id, 15096044ab9a375eb73b08f45d87966652f98f918668Austin Yuan p->ReferenceFrames[i].frame_idx, 15106044ab9a375eb73b08f45d87966652f98f918668Austin Yuan p->ReferenceFrames[i].flags 15116044ab9a375eb73b08f45d87966652f98f918668Austin Yuan ); 15124b672db6ee89c9846451bbab23cf18e93c4260b2hding } else 1513f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 1514f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun } 1515f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tcoded_buf = %08x\n", p->coded_buf); 1516f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_parameter_set_id = %d\n", p->pic_parameter_set_id); 1517f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tseq_parameter_set_id = %d\n", p->seq_parameter_set_id); 1518f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tlast_picture = 0x%08x\n", p->last_picture); 1519f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_num = %d\n", p->frame_num); 1520f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_init_qp = %d\n", p->pic_init_qp); 1521f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_ref_idx_l0_active_minus1 = %d\n", p->num_ref_idx_l0_active_minus1); 1522f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_ref_idx_l1_active_minus1 = %d\n", p->num_ref_idx_l1_active_minus1); 1523f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_qp_index_offset = %d\n", p->chroma_qp_index_offset); 1524f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsecond_chroma_qp_index_offset = %d\n", p->second_chroma_qp_index_offset); 1525f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_fields = 0x%03x\n", p->pic_fields.value); 1526f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tidr_pic_flag = %d\n", p->pic_fields.bits.idr_pic_flag); 1527f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\treference_pic_flag = %d\n", p->pic_fields.bits.reference_pic_flag); 1528f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tentropy_coding_mode_flag = %d\n", p->pic_fields.bits.entropy_coding_mode_flag); 1529f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tweighted_pred_flag = %d\n", p->pic_fields.bits.weighted_pred_flag); 1530f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tweighted_bipred_idc = %d\n", p->pic_fields.bits.weighted_bipred_idc); 1531f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tconstrained_intra_pred_flag = %d\n", p->pic_fields.bits.constrained_intra_pred_flag); 1532f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\ttransform_8x8_mode_flag = %d\n", p->pic_fields.bits.transform_8x8_mode_flag); 1533f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdeblocking_filter_control_present_flag = %d\n", p->pic_fields.bits.deblocking_filter_control_present_flag); 1534f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tredundant_pic_cnt_present_flag = %d\n", p->pic_fields.bits.redundant_pic_cnt_present_flag); 1535f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_order_present_flag = %d\n", p->pic_fields.bits.pic_order_present_flag); 1536f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_scaling_matrix_present_flag = %d\n", p->pic_fields.bits.pic_scaling_matrix_present_flag); 1537f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1538f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 1539f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 154021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan return; 154121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 154221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 154321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanstatic void va_TraceVAEncSliceParameterBuffer( 154421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplay dpy, 1545a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1546a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1547a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1548a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1549a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 155021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan void *data) 155121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan{ 155221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAEncSliceParameterBuffer* p = (VAEncSliceParameterBuffer*)data; 1553f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 1554a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 1555f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncSliceParameterBuffer\n"); 155621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 1557f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tstart_row_number = %d\n", p->start_row_number); 1558f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_height = %d\n", p->slice_height); 1559f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_flags.is_intra = %d\n", p->slice_flags.bits.is_intra); 1560f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_flags.disable_deblocking_filter_idc = %d\n", p->slice_flags.bits.disable_deblocking_filter_idc); 1561f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_flags.uses_long_term_ref = %d\n", p->slice_flags.bits.uses_long_term_ref); 1562f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_flags.is_long_term_ref = %d\n", p->slice_flags.bits.is_long_term_ref); 1563f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 156436bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang 156521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan return; 156621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 156721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 15684b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void va_TraceVAEncSliceParameterBufferH264( 15694b672db6ee89c9846451bbab23cf18e93c4260b2hding VADisplay dpy, 1570a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1571a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1572a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1573a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1574a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 15754b672db6ee89c9846451bbab23cf18e93c4260b2hding void *data) 15764b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 15774b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncSliceParameterBufferH264* p = (VAEncSliceParameterBufferH264*)data; 1578f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 15794b672db6ee89c9846451bbab23cf18e93c4260b2hding int i; 15804b672db6ee89c9846451bbab23cf18e93c4260b2hding 1581ac1c6d1120d34338e679ac23f1348ade77b61317Elaine Wang if (!p) 1582ac1c6d1120d34338e679ac23f1348ade77b61317Elaine Wang return; 1583f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1584f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncSliceParameterBufferH264\n"); 1585f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmacroblock_address = %d\n", p->macroblock_address); 1586f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_macroblocks = %d\n", p->num_macroblocks); 1587f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmacroblock_info = %08x\n", p->macroblock_info); 1588f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_type = %d\n", p->slice_type); 1589f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_parameter_set_id = %d\n", p->pic_parameter_set_id); 1590f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tidr_pic_id = %d\n", p->idr_pic_id); 1591f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_order_cnt_lsb = %d\n", p->pic_order_cnt_lsb); 1592f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdelta_pic_order_cnt_bottom = %d\n", p->delta_pic_order_cnt_bottom); 1593f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdelta_pic_order_cnt[0] = %d\n", p->delta_pic_order_cnt[0]); 1594f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdelta_pic_order_cnt[1] = %d\n", p->delta_pic_order_cnt[1]); 1595f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdirect_spatial_mv_pred_flag = %d\n", p->direct_spatial_mv_pred_flag); 1596f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_ref_idx_active_override_flag = %d\n", p->num_ref_idx_active_override_flag); 1597f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_ref_idx_l1_active_minus1 = %d\n", p->num_ref_idx_l1_active_minus1); 1598f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_beta_offset_div2 = %d\n", p->slice_beta_offset_div2); 1599f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1600f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tRefPicList0 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags):\n"); 1601f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1602f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1603f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1604f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for (i = 0; i < 32; i++) { 1605f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if ((p->RefPicList0[i].picture_id != VA_INVALID_SURFACE) && 1606f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun ((p->RefPicList0[i].flags & VA_PICTURE_H264_INVALID) == 0)) 1607f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\t%08d-%08d-0x%08x-%08d-0x%08x\n", 1608f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun p->RefPicList0[i].TopFieldOrderCnt, 1609f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun p->RefPicList0[i].BottomFieldOrderCnt, 1610f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun p->RefPicList0[i].picture_id, 1611f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun p->RefPicList0[i].frame_idx, 1612f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun p->RefPicList0[i].flags); 1613f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun else 1614f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 16156044ab9a375eb73b08f45d87966652f98f918668Austin Yuan } 16166044ab9a375eb73b08f45d87966652f98f918668Austin Yuan 1617f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tRefPicList1 (TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags):\n"); 1618f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for (i = 0; i < 32; i++) { 1619f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if ((p->RefPicList1[i].picture_id != VA_INVALID_SURFACE) && 1620f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun ((p->RefPicList1[i].flags & VA_PICTURE_H264_INVALID) == 0)) 1621f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\t%08d-%08d-0x%08x-%08d-0x%08d\n", 1622f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun p->RefPicList1[i].TopFieldOrderCnt, 1623f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun p->RefPicList1[i].BottomFieldOrderCnt, 1624f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun p->RefPicList1[i].picture_id, 1625f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun p->RefPicList1[i].frame_idx, 1626f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun p->RefPicList1[i].flags 1627f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun ); 1628f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun else 1629f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 16304b672db6ee89c9846451bbab23cf18e93c4260b2hding } 16316044ab9a375eb73b08f45d87966652f98f918668Austin Yuan 1632f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tluma_log2_weight_denom = %d\n", p->luma_log2_weight_denom); 1633f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_log2_weight_denom = %d\n", p->chroma_log2_weight_denom); 1634f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tluma_weight_l0_flag = %d\n", p->luma_weight_l0_flag); 1635f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (p->luma_weight_l0_flag) { 1636f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for (i = 0; (i <= p->num_ref_idx_l0_active_minus1) && (i<32); i++) { 16378c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t\t%d\t%d\n", 16388c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan p->luma_weight_l0[i], 16398c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan p->luma_offset_l0[i]); 16404b672db6ee89c9846451bbab23cf18e93c4260b2hding } 16414b672db6ee89c9846451bbab23cf18e93c4260b2hding } 16424b672db6ee89c9846451bbab23cf18e93c4260b2hding 1643f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_weight_l0_flag = %d\n", p->chroma_weight_l0_flag); 1644f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (p->chroma_weight_l0_flag) { 1645f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for (i = 0; (i <= p->num_ref_idx_l0_active_minus1) && (i<32); i++) { 16468c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t\t%d\t%d\t%d\t%d\n", 16478c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan p->chroma_weight_l0[i][0], 16488c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan p->chroma_offset_l0[i][0], 16498c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan p->chroma_weight_l0[i][1], 16508c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan p->chroma_offset_l0[i][1]); 16514b672db6ee89c9846451bbab23cf18e93c4260b2hding } 16524b672db6ee89c9846451bbab23cf18e93c4260b2hding } 16534b672db6ee89c9846451bbab23cf18e93c4260b2hding 1654f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tluma_weight_l1_flag = %d\n", p->luma_weight_l1_flag); 1655f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun if (p->luma_weight_l1_flag) { 1656f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for (i = 0; (i <= p->num_ref_idx_l1_active_minus1) && (i<32); i++) { 16578c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t\t%d\t\t%d\n", 16588c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan p->luma_weight_l1[i], 16598c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan p->luma_offset_l1[i]); 16604b672db6ee89c9846451bbab23cf18e93c4260b2hding } 16614b672db6ee89c9846451bbab23cf18e93c4260b2hding } 16624b672db6ee89c9846451bbab23cf18e93c4260b2hding 1663f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tchroma_weight_l1_flag = %d\n", p->chroma_weight_l1_flag); 1664ac1c6d1120d34338e679ac23f1348ade77b61317Elaine Wang if (p->chroma_weight_l1_flag && p->num_ref_idx_l1_active_minus1 < 32) { 1665f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for (i = 0; (i <= p->num_ref_idx_l1_active_minus1) && (i<32); i++) { 16668c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t\t%d\t%d\t%d\t%d\n", 16678c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan p->chroma_weight_l1[i][0], 16688c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan p->chroma_offset_l1[i][0], 16698c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan p->chroma_weight_l1[i][1], 16708c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan p->chroma_offset_l1[i][1]); 16714b672db6ee89c9846451bbab23cf18e93c4260b2hding } 16724b672db6ee89c9846451bbab23cf18e93c4260b2hding } 1673f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 16744b672db6ee89c9846451bbab23cf18e93c4260b2hding 1675f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tcabac_init_idc = %d\n", p->cabac_init_idc); 1676f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_qp_delta = %d\n", p->slice_qp_delta); 1677f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdisable_deblocking_filter_idc = %d\n", p->disable_deblocking_filter_idc); 1678f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_alpha_c0_offset_div2 = %d\n", p->slice_alpha_c0_offset_div2); 1679f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_beta_offset_div2 = %d\n", p->slice_beta_offset_div2); 1680f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 16814b672db6ee89c9846451bbab23cf18e93c4260b2hding 16824b672db6ee89c9846451bbab23cf18e93c4260b2hding return; 16834b672db6ee89c9846451bbab23cf18e93c4260b2hding} 16844b672db6ee89c9846451bbab23cf18e93c4260b2hding 16852efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 16862efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuanstatic void va_TraceVAEncPackedHeaderParameterBufferType( 16872efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan VADisplay dpy, 1688a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1689a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1690a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1691a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1692a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 16932efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan void *data) 16942efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan{ 16952efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan VAEncPackedHeaderParameterBuffer* p = (VAEncPackedHeaderParameterBuffer*)data; 1696f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 16972efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 16982efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan if (!p) 16992efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan return; 1700f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncPackedHeaderParameterBuffer\n"); 1701f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\ttype = 0x%08x\n", p->type); 1702f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbit_length = %d\n", p->bit_length); 1703f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\thas_emulation_bytes = %d\n", p->has_emulation_bytes); 1704f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 17052efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 17062efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan return; 17072efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan} 17082efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 170921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanstatic void va_TraceVAEncMiscParameterBuffer( 171021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplay dpy, 171121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAContextID context, 171221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VABufferID buffer, 171321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VABufferType type, 171421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int size, 171521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int num_elements, 171621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan void *data) 171721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan{ 171821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAEncMiscParameterBuffer* tmp = (VAEncMiscParameterBuffer*)data; 1719f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 1720d86982adfbd5062d3d40f584face6f61b5c1a6d7bolunliu uint32_t i; 172121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 172221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan switch (tmp->type) { 172321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan case VAEncMiscParameterTypeFrameRate: 172421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan { 172521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAEncMiscParameterFrameRate *p = (VAEncMiscParameterFrameRate *)tmp->data; 1726f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncMiscParameterFrameRate\n"); 1727f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframerate = %d\n", p->framerate); 172821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 172921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan break; 173021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 173121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan case VAEncMiscParameterTypeRateControl: 173221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan { 173321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAEncMiscParameterRateControl *p = (VAEncMiscParameterRateControl *)tmp->data; 173421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 1735f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncMiscParameterRateControl\n"); 1736f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second); 1737f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\ttarget_percentage = %d\n", p->target_percentage); 1738f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\twindow_size = %d\n", p->window_size); 1739f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tinitial_qp = %d\n", p->initial_qp); 1740f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmin_qp = %d\n", p->min_qp); 1741f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbasic_unit_size = %d\n", p->basic_unit_size); 1742f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\trc_flags.reset = %d \n", p->rc_flags.bits.reset); 1743f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\trc_flags.disable_frame_skip = %d\n", p->rc_flags.bits.disable_frame_skip); 1744f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\trc_flags.disable_bit_stuffing = %d\n", p->rc_flags.bits.disable_bit_stuffing); 174521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan break; 174621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 174721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan case VAEncMiscParameterTypeMaxSliceSize: 174821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan { 174921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAEncMiscParameterMaxSliceSize *p = (VAEncMiscParameterMaxSliceSize *)tmp->data; 175021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 1751f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncMiscParameterTypeMaxSliceSize\n"); 1752f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmax_slice_size = %d\n", p->max_slice_size); 175321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan break; 175421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 175521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan case VAEncMiscParameterTypeAIR: 175621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan { 175721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VAEncMiscParameterAIR *p = (VAEncMiscParameterAIR *)tmp->data; 175821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 1759f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncMiscParameterAIR\n"); 1760f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tair_num_mbs = %d\n", p->air_num_mbs); 1761f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tair_threshold = %d\n", p->air_threshold); 1762f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tair_auto = %d\n", p->air_auto); 176321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan break; 176421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 17654b672db6ee89c9846451bbab23cf18e93c4260b2hding case VAEncMiscParameterTypeHRD: 17664b672db6ee89c9846451bbab23cf18e93c4260b2hding { 17674b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncMiscParameterHRD *p = (VAEncMiscParameterHRD *)tmp->data; 17684b672db6ee89c9846451bbab23cf18e93c4260b2hding 1769f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncMiscParameterHRD\n"); 1770f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tinitial_buffer_fullness = %d\n", p->initial_buffer_fullness); 1771f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbuffer_size = %d\n", p->buffer_size); 17724b672db6ee89c9846451bbab23cf18e93c4260b2hding break; 17734b672db6ee89c9846451bbab23cf18e93c4260b2hding } 17741c9d519ecad2a00b197adc90a8179e91ea77321eliubolun case VAEncMiscParameterTypeMaxFrameSize: 17751c9d519ecad2a00b197adc90a8179e91ea77321eliubolun { 17761c9d519ecad2a00b197adc90a8179e91ea77321eliubolun VAEncMiscParameterBufferMaxFrameSize *p = (VAEncMiscParameterBufferMaxFrameSize *)tmp->data; 17771c9d519ecad2a00b197adc90a8179e91ea77321eliubolun 17781c9d519ecad2a00b197adc90a8179e91ea77321eliubolun va_TraceMsg(trace_ctx, "\t--VAEncMiscParameterTypeMaxFrameSize\n"); 17791c9d519ecad2a00b197adc90a8179e91ea77321eliubolun va_TraceMsg(trace_ctx, "\tmax_frame_size = %d\n", p->max_frame_size); 17801c9d519ecad2a00b197adc90a8179e91ea77321eliubolun break; 17811c9d519ecad2a00b197adc90a8179e91ea77321eliubolun } 1782d86982adfbd5062d3d40f584face6f61b5c1a6d7bolunliu case VAEncMiscParameterTypeTemporalLayerStructure: 1783d86982adfbd5062d3d40f584face6f61b5c1a6d7bolunliu { 1784d86982adfbd5062d3d40f584face6f61b5c1a6d7bolunliu VAEncMiscParameterTemporalLayerStructure *p = (VAEncMiscParameterTemporalLayerStructure *)tmp->data; 1785d86982adfbd5062d3d40f584face6f61b5c1a6d7bolunliu va_TraceMsg(trace_ctx,"\t--VAEncMiscParameterTypeTemporalLayerStructure\n"); 1786d86982adfbd5062d3d40f584face6f61b5c1a6d7bolunliu va_TraceMsg(trace_ctx,"\tnumber_of_layers = %d\n", p->number_of_layers); 1787d86982adfbd5062d3d40f584face6f61b5c1a6d7bolunliu va_TraceMsg(trace_ctx,"\tperiodicity = %d\n", p->periodicity); 1788d86982adfbd5062d3d40f584face6f61b5c1a6d7bolunliu for(i=0;i<p->periodicity;i++) 1789d86982adfbd5062d3d40f584face6f61b5c1a6d7bolunliu va_TraceMsg(trace_ctx,"\tlayer_id[%d] = %d\n", i, p->layer_id[i]); 1790d86982adfbd5062d3d40f584face6f61b5c1a6d7bolunliu break; 1791d86982adfbd5062d3d40f584face6f61b5c1a6d7bolunliu } 179221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan default: 1793f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "Unknown VAEncMiscParameterBuffer(type = %d):\n", tmp->type); 17942efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, data); 179521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan break; 179621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 1797f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 179836bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang 179921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan return; 180021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 180121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 180221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 1803b0fac498ca4863166252f1268fda83394db54153Fei Jiangstatic void va_TraceVAPictureParameterBufferVC1( 1804b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 1805b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAContextID context, 1806b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferID buffer, 1807b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferType type, 1808b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int size, 1809b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int num_elements, 1810b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *data 1811b0fac498ca4863166252f1268fda83394db54153Fei Jiang) 1812b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 1813b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAPictureParameterBufferVC1* p = (VAPictureParameterBufferVC1*)data; 1814f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 1815a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 1816f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAPictureParameterBufferVC1\n"); 1817a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan va_TraceMsg(trace_ctx, "\t context = %d, buffer = %d, type = %d, size = %d, num_elements = %d\n", 1818a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan context, buffer, type, size, num_elements); 1819f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tforward_reference_picture = 0x%08x\n", p->forward_reference_picture); 1820f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbackward_reference_picture = 0x%08x\n", p->backward_reference_picture); 1821f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tinloop_decoded_picture = 0x%08x\n", p->inloop_decoded_picture); 1822f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1823f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpulldown = %d\n", p->sequence_fields.bits.pulldown); 1824f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tinterlace = %d\n", p->sequence_fields.bits.interlace); 1825f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\ttfcntrflag = %d\n", p->sequence_fields.bits.tfcntrflag); 1826f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tfinterpflag = %d\n", p->sequence_fields.bits.finterpflag); 1827f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpsf = %d\n", p->sequence_fields.bits.psf); 1828f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmultires = %d\n", p->sequence_fields.bits.multires); 1829f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\toverlap = %d\n", p->sequence_fields.bits.overlap); 1830f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsyncmarker = %d\n", p->sequence_fields.bits.syncmarker); 1831f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\trangered = %d\n", p->sequence_fields.bits.rangered); 1832f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmax_b_frames = %d\n", p->sequence_fields.bits.max_b_frames); 1833f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tprofile = %d\n", p->sequence_fields.bits.profile); 1834f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tcoded_width = %d\n", p->coded_width); 1835f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tcoded_height = %d\n", p->coded_height); 1836f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tclosed_entry = %d\n", p->entrypoint_fields.bits.closed_entry); 1837f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbroken_link = %d\n", p->entrypoint_fields.bits.broken_link); 1838f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tclosed_entry = %d\n", p->entrypoint_fields.bits.closed_entry); 1839f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpanscan_flag = %d\n", p->entrypoint_fields.bits.panscan_flag); 1840f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tloopfilter = %d\n", p->entrypoint_fields.bits.loopfilter); 1841f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tconditional_overlap_flag = %d\n", p->conditional_overlap_flag); 1842f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tfast_uvmc_flag = %d\n", p->fast_uvmc_flag); 1843f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\trange_mapping_luma_flag = %d\n", p->range_mapping_fields.bits.luma_flag); 1844f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\trange_mapping_luma = %d\n", p->range_mapping_fields.bits.luma); 1845f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\trange_mapping_chroma_flag = %d\n", p->range_mapping_fields.bits.chroma_flag); 1846f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\trange_mapping_chroma = %d\n", p->range_mapping_fields.bits.chroma); 1847f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tb_picture_fraction = %d\n", p->b_picture_fraction); 1848f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tcbp_table = %d\n", p->cbp_table); 1849f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmb_mode_table = %d\n", p->mb_mode_table); 1850f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\trange_reduction_frame = %d\n", p->range_reduction_frame); 1851f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\trounding_control = %d\n", p->rounding_control); 1852f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpost_processing = %d\n", p->post_processing); 1853f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_resolution_index = %d\n", p->picture_resolution_index); 1854f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tluma_scale = %d\n", p->luma_scale); 1855f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tluma_shift = %d\n", p->luma_shift); 1856f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_type = %d\n", p->picture_fields.bits.picture_type); 1857f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_coding_mode = %d\n", p->picture_fields.bits.frame_coding_mode); 1858f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\ttop_field_first = %d\n", p->picture_fields.bits.top_field_first); 1859f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tis_first_field = %d\n", p->picture_fields.bits.is_first_field); 1860f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tintensity_compensation = %d\n", p->picture_fields.bits.intensity_compensation); 1861f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmv_type_mb = %d\n", p->raw_coding.flags.mv_type_mb); 1862f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdirect_mb = %d\n", p->raw_coding.flags.direct_mb); 1863f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tskip_mb = %d\n", p->raw_coding.flags.skip_mb); 1864f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tfield_tx = %d\n", p->raw_coding.flags.field_tx); 1865f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tforward_mb = %d\n", p->raw_coding.flags.forward_mb); 1866f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tac_pred = %d\n", p->raw_coding.flags.ac_pred); 1867f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\toverflags = %d\n", p->raw_coding.flags.overflags); 1868f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbp_mv_type_mb = %d\n", p->bitplane_present.flags.bp_mv_type_mb); 1869f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbp_direct_mb = %d\n", p->bitplane_present.flags.bp_direct_mb); 1870f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbp_skip_mb = %d\n", p->bitplane_present.flags.bp_skip_mb); 1871f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbp_field_tx = %d\n", p->bitplane_present.flags.bp_field_tx); 1872f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbp_forward_mb = %d\n", p->bitplane_present.flags.bp_forward_mb); 1873f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbp_ac_pred = %d\n", p->bitplane_present.flags.bp_ac_pred); 1874f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbp_overflags = %d\n", p->bitplane_present.flags.bp_overflags); 1875f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\treference_distance_flag = %d\n", p->reference_fields.bits.reference_distance_flag); 1876f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\treference_distance = %d\n", p->reference_fields.bits.reference_distance); 1877f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_reference_pictures = %d\n", p->reference_fields.bits.num_reference_pictures); 1878f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\treference_field_pic_indicator = %d\n", p->reference_fields.bits.reference_field_pic_indicator); 1879f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmv_mode = %d\n", p->mv_fields.bits.mv_mode); 1880f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmv_mode2 = %d\n", p->mv_fields.bits.mv_mode2); 1881f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmv_table = %d\n", p->mv_fields.bits.mv_table); 1882f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\ttwo_mv_block_pattern_table = %d\n", p->mv_fields.bits.two_mv_block_pattern_table); 1883f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tfour_mv_switch = %d\n", p->mv_fields.bits.four_mv_switch); 1884f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tfour_mv_block_pattern_table = %d\n", p->mv_fields.bits.four_mv_block_pattern_table); 1885f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\textended_mv_flag = %d\n", p->mv_fields.bits.extended_mv_flag); 1886f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\textended_mv_range = %d\n", p->mv_fields.bits.extended_mv_range); 1887f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\textended_dmv_flag = %d\n", p->mv_fields.bits.extended_dmv_flag); 1888f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\textended_dmv_range = %d\n", p->mv_fields.bits.extended_dmv_range); 1889f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdquant = %d\n", p->pic_quantizer_fields.bits.dquant); 1890f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tquantizer = %d\n", p->pic_quantizer_fields.bits.quantizer); 1891f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\thalf_qp = %d\n", p->pic_quantizer_fields.bits.half_qp); 1892f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_quantizer_scale = %d\n", p->pic_quantizer_fields.bits.pic_quantizer_scale); 1893f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_quantizer_type = %d\n", p->pic_quantizer_fields.bits.pic_quantizer_type); 1894f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdq_frame = %d\n", p->pic_quantizer_fields.bits.dq_frame); 1895f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdq_profile = %d\n", p->pic_quantizer_fields.bits.dq_profile); 1896f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdq_sb_edge = %d\n", p->pic_quantizer_fields.bits.dq_sb_edge); 1897f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdq_db_edge = %d\n", p->pic_quantizer_fields.bits.dq_db_edge); 1898f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdq_binary_level = %d\n", p->pic_quantizer_fields.bits.dq_binary_level); 1899f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\talt_pic_quantizer = %d\n", p->pic_quantizer_fields.bits.alt_pic_quantizer); 1900f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tvariable_sized_transform_flag = %d\n", p->transform_fields.bits.variable_sized_transform_flag); 1901f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmb_level_transform_type_flag = %d\n", p->transform_fields.bits.mb_level_transform_type_flag); 1902f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_level_transform_type = %d\n", p->transform_fields.bits.frame_level_transform_type); 1903f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\ttransform_ac_codingset_idx1 = %d\n", p->transform_fields.bits.transform_ac_codingset_idx1); 1904f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\ttransform_ac_codingset_idx2 = %d\n", p->transform_fields.bits.transform_ac_codingset_idx2); 1905f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tintra_transform_dc_table = %d\n", p->transform_fields.bits.intra_transform_dc_table); 1906f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 1907b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 1908b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1909b0fac498ca4863166252f1268fda83394db54153Fei Jiangstatic void va_TraceVASliceParameterBufferVC1( 1910b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 1911a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1912a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1913a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1914a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1915a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 1916b0fac498ca4863166252f1268fda83394db54153Fei Jiang void* data 1917b0fac498ca4863166252f1268fda83394db54153Fei Jiang) 1918b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 1919b0fac498ca4863166252f1268fda83394db54153Fei Jiang VASliceParameterBufferVC1 *p = (VASliceParameterBufferVC1*)data; 1920f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 1921f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1922f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_slice_no++; 1923f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_slice_size = p->slice_data_size; 1924f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1925f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VASliceParameterBufferVC1\n"); 1926f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_data_size = %d\n", p->slice_data_size); 1927f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_data_offset = %d\n", p->slice_data_offset); 1928f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_data_flag = %d\n", p->slice_data_flag); 1929f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmacroblock_offset = %d\n", p->macroblock_offset); 1930f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tslice_vertical_position = %d\n", p->slice_vertical_position); 1931f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 1932f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun} 1933f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1934f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolunstatic void va_TraceVAEncSequenceParameterBufferVP8( 1935f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun VADisplay dpy, 1936a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1937a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 1938a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1939a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1940a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 1941f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun void *data) 1942f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun{ 1943f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun VAEncSequenceParameterBufferVP8 *p = (VAEncSequenceParameterBufferVP8 *)data; 1944f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 1945f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun int i; 1946f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1947f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncSequenceParameterBufferVP8\n"); 1948f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1949f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second); 1950f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\terror_resilient = %d\n", p->error_resilient); 1951f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_height = %d\n", p->frame_height); 1952f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_width = %d\n", p->frame_width); 1953f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_height_scale = %d\n", p->frame_height_scale); 1954f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_width_scale = %d\n", p->frame_width_scale); 1955f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tkf_auto = %d\n", p->kf_auto); 1956f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tkf_max_dist = %d\n", p->kf_max_dist); 1957f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tkf_min_dist = %d\n", p->kf_min_dist); 1958f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period); 1959f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1960f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for(i = 0; i<4; ++i) 196188912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\treference_frames[%d] = 0x%08x\n", i, p->reference_frames[i]); 196221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 1963f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 1964b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1965f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun return; 1966b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 1967b0fac498ca4863166252f1268fda83394db54153Fei Jiang 1968f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolunstatic void va_TraceVAEncPictureParameterBufferVP8( 1969f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun VADisplay dpy, 1970a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 1971a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused uffer, 1972a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 1973a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 1974a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 1975f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun void *data) 1976f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun{ 1977f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun VAEncPictureParameterBufferVP8 *p = (VAEncPictureParameterBufferVP8 *)data; 1978f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 1979f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun int i; 1980f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 1981f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncPictureParameterBufferVP8\n"); 198288912d09886f431619dc966776a85976129f2b24Austin Yuan 198388912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\treconstructed_frame = 0x%08x\n", p->reconstructed_frame); 198488912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tref_last_frame = 0x%08x\n", p->ref_last_frame); 198588912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tref_gf_frame = 0x%08x\n", p->ref_gf_frame); 198688912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tref_arf_frame = 0x%08x\n", p->ref_arf_frame); 198788912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tcoded_buf = 0x%08x\n", p->coded_buf); 1988f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 198988912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tref_flags.bits.force_kf = %d\n", p->ref_flags.bits.force_kf); 199088912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tref_flags.bits.no_ref_last = %d\n", p->ref_flags.bits.no_ref_last); 199188912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tref_flags.bits.no_ref_gf = %d\n", p->ref_flags.bits.no_ref_gf); 199288912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tref_flags.bits.no_ref_arf = %d\n", p->ref_flags.bits.no_ref_arf); 1993d86982adfbd5062d3d40f584face6f61b5c1a6d7bolunliu va_TraceMsg(trace_ctx, "\tref_flags.bits.reserved = 0x%08x\n", p->ref_flags.bits.reserved); 19948c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 19958c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.frame_type = %d\n", p->pic_flags.bits.frame_type); 199688912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.version = %d\n", p->pic_flags.bits.version); 199788912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.show_frame = %d\n", p->pic_flags.bits.show_frame); 199888912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.color_space = %d\n", p->pic_flags.bits.color_space); 199988912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.recon_filter_type = %d\n", p->pic_flags.bits.recon_filter_type); 200088912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.loop_filter_type = %d\n", p->pic_flags.bits.loop_filter_type); 200188912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.auto_partitions = %d\n", p->pic_flags.bits.auto_partitions); 200288912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.num_token_partitions = %d\n", p->pic_flags.bits.num_token_partitions); 200388912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.clamping_type = %d\n", p->pic_flags.bits.clamping_type); 200488912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.segmentation_enabled = %d\n", p->pic_flags.bits.segmentation_enabled); 200588912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.update_mb_segmentation_map = %d\n", p->pic_flags.bits.update_mb_segmentation_map); 200688912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.update_segment_feature_data = %d\n", p->pic_flags.bits.update_segment_feature_data); 200788912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.loop_filter_adj_enable = %d\n", p->pic_flags.bits.loop_filter_adj_enable); 200888912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.refresh_entropy_probs = %d\n", p->pic_flags.bits.refresh_entropy_probs); 200988912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.refresh_golden_frame = %d\n", p->pic_flags.bits.refresh_golden_frame); 201088912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.refresh_alternate_frame = %d\n", p->pic_flags.bits.refresh_alternate_frame); 201188912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.refresh_last = %d\n", p->pic_flags.bits.refresh_last); 201288912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.copy_buffer_to_golden = %d\n", p->pic_flags.bits.copy_buffer_to_golden); 201388912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.copy_buffer_to_alternate = %d\n", p->pic_flags.bits.copy_buffer_to_alternate); 201488912d09886f431619dc966776a85976129f2b24Austin Yuan 201588912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.sign_bias_golden = %d\n", p->pic_flags.bits.sign_bias_golden); 201688912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.sign_bias_alternate = %d\n", p->pic_flags.bits.sign_bias_alternate); 201788912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.mb_no_coeff_skip = %d\n", p->pic_flags.bits.mb_no_coeff_skip); 201888912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.forced_lf_adjustment = %d\n", p->pic_flags.bits.forced_lf_adjustment); 201988912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tpic_flags.bits.reserved = %d\n", p->pic_flags.bits.reserved); 2020f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 2021f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 2022f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for(i=0;i<4;i++) 202388912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tloop_filter_level[%d] = %d\n", i, p->loop_filter_level[i]); 2024f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for(i=0;i<4;i++) 2025f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tref_lf_delta[%d] = %d\n", i, p->ref_lf_delta[i]); 202688912d09886f431619dc966776a85976129f2b24Austin Yuan for(i=0;i<4;i++) 202788912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tmode_lf_delta[%d] = %d\n", i, p->mode_lf_delta[i]); 202888912d09886f431619dc966776a85976129f2b24Austin Yuan 202988912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tsharpness_level = %d\n", p->sharpness_level); 203088912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tclamp_qindex_high = %d\n", p->clamp_qindex_high); 203188912d09886f431619dc966776a85976129f2b24Austin Yuan va_TraceMsg(trace_ctx, "\tclamp_qindex_low = %d\n", p->clamp_qindex_low); 2032f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 2033f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 2034f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 2035f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun return; 2036f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun} 2037f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 20380f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuanstatic void va_TraceVAPictureParameterBufferVP8( 20390f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan VADisplay dpy, 2040a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 2041a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 2042a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 2043a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 2044a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 20450f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan void *data) 20460f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan{ 20470f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan char tmp[1024]; 20480f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan VAPictureParameterBufferVP8 *p = (VAPictureParameterBufferVP8 *)data; 20490f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan DPY2TRACECTX(dpy); 20500f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan int i,j; 20510f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 20520f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\t--VAPictureParameterBufferVP8\n"); 20530f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 20540f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tframe_width = %d\n", p->frame_width); 20550f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tframe_height = %d\n", p->frame_height); 20560f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tlast_ref_frame = %x\n", p->last_ref_frame); 20570f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tgolden_ref_frame = %x\n", p->golden_ref_frame); 20580f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\talt_ref_frame = %x\n", p->alt_ref_frame); 20590f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tout_of_loop_frame = %x\n", p->out_of_loop_frame); 20600f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 20610f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tkey_frame = %d\n", p->pic_fields.bits.key_frame); 20620f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tversion = %d\n", p->pic_fields.bits.version); 20630f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tsegmentation_enabled = %d\n", p->pic_fields.bits.segmentation_enabled); 20640f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tupdate_mb_segmentation_map = %d\n", p->pic_fields.bits.update_mb_segmentation_map); 20650f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tupdate_segment_feature_data = %d\n", p->pic_fields.bits.update_segment_feature_data); 20660f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tfilter_type = %d\n", p->pic_fields.bits.filter_type); 20670f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tsharpness_level = %d\n", p->pic_fields.bits.sharpness_level); 20680f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tloop_filter_adj_enable = %d\n", p->pic_fields.bits.loop_filter_adj_enable); 20690f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tmode_ref_lf_delta_update = %d\n", p->pic_fields.bits.mode_ref_lf_delta_update); 20700f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tsign_bias_golden = %d\n", p->pic_fields.bits.sign_bias_golden); 20710f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tsign_bias_alternate = %d\n", p->pic_fields.bits.sign_bias_alternate); 20720f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tmb_no_coeff_skip = %d\n", p->pic_fields.bits.mb_no_coeff_skip); 20730f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tloop_filter_disable = %d\n", p->pic_fields.bits.loop_filter_disable); 20740f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 20750f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tmb_segment_tree_probs: 0x%2x, 0x%2x, 0x%2x\n", 20760f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan p->mb_segment_tree_probs[0], p->mb_segment_tree_probs[1], p->mb_segment_tree_probs[2]); 20770f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 20780f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tloop_filter_level: %d, %d, %d, %d\n", 20790f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan p->loop_filter_level[0], p->loop_filter_level[1], p->loop_filter_level[2], p->loop_filter_level[3]); 20800f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 20810f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tloop_filter_deltas_ref_frame: %d, %d, %d, %d\n", 20820f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan p->loop_filter_deltas_ref_frame[0], p->loop_filter_deltas_ref_frame[1], p->loop_filter_deltas_ref_frame[2], p->loop_filter_deltas_ref_frame[3]); 20830f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 20840f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tloop_filter_deltas_mode: %d, %d, %d, %d\n", 20850f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan p->loop_filter_deltas_mode[0], p->loop_filter_deltas_mode[1], p->loop_filter_deltas_mode[2], p->loop_filter_deltas_mode[3]); 20860f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 20870f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tprob_skip_false = %2x\n", p->prob_skip_false); 20880f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tprob_intra = %2x\n", p->prob_intra); 20890f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tprob_last = %2x\n", p->prob_last); 20900f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tprob_gf = %2x\n", p->prob_gf); 20910f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 20920f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\ty_mode_probs: 0x%2x, 0x%2x, 0x%2x, 0x%2x\n", 20930f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan p->y_mode_probs[0], p->y_mode_probs[1], p->y_mode_probs[2], p->y_mode_probs[3]); 20940f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 20950f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tuv_mode_probs: 0x%2x, 0x%2x, 0x%2x\n", 20960f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan p->uv_mode_probs[0], p->uv_mode_probs[1], p->uv_mode_probs[2]); 20970f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 20980f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tmv_probs[2][19]:\n"); 20990f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan for(i = 0; i<2; ++i) { 21000f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan memset(tmp, 0, sizeof tmp); 21010f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan for (j=0; j<19; j++) 21020f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan sprintf(tmp + strlen(tmp), "%2x ", p->mv_probs[i][j]); 21030f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx,"\t\t[%d] = %s\n", i, tmp); 21040f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan } 21050f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21060f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tbool_coder_ctx: range = %02x, value = %02x, count = %d\n", 21070f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan p->bool_coder_ctx.range, p->bool_coder_ctx.value, p->bool_coder_ctx.count); 21080f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21090f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, NULL); 21100f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21110f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan return; 21120f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan} 21130f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21140f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuanstatic void va_TraceVASliceParameterBufferVP8( 21150f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan VADisplay dpy, 2116a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 2117a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 2118a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 2119a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 2120a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 21210f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan void *data) 21220f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan{ 21230f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan VASliceParameterBufferVP8 *p = (VASliceParameterBufferVP8 *)data; 21240f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan DPY2TRACECTX(dpy); 21250f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan int i; 21260f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21270f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\t--VASliceParameterBufferVP8\n"); 21280f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21290f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tslice_data_size = %d\n", p->slice_data_size); 21300f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tslice_data_offset = %d\n", p->slice_data_offset); 21310f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tslice_data_flag = %d\n", p->slice_data_flag); 21320f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tmacroblock_offset = %d\n", p->macroblock_offset); 21330f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tnum_of_partitions = %d\n", p->num_of_partitions); 21340f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21350f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan for(i = 0; i<9; ++i) 21360f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tpartition_size[%d] = %d\n", i, p->partition_size[i]); 21370f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21380f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, NULL); 21390f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21400f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan return; 21410f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan} 21420f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21430f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuanstatic void va_TraceVAIQMatrixBufferVP8( 21440f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan VADisplay dpy, 2145a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 2146a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 2147a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 2148a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 2149a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 21500f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan void *data) 21510f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan{ 21520f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan char tmp[1024]; 21530f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan VAIQMatrixBufferVP8 *p = (VAIQMatrixBufferVP8 *)data; 21540f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan DPY2TRACECTX(dpy); 21550f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan int i,j; 2156f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 21570f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\t--VAIQMatrixBufferVP8\n"); 21580f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21590f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\tquantization_index[4][6]=\n"); 21600f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan for (i = 0; i < 4; i++) { 21610f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan memset(tmp, 0, sizeof tmp); 21620f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan for (j = 0; j < 6; j++) 21630f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan sprintf(tmp + strlen(tmp), "%4x, ", p->quantization_index[i][j]); 21640f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx,"\t\t[%d] = %s\n", i, tmp); 21650f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan } 21660f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21670f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, NULL); 21680f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21690f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan return; 21700f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan} 21710f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuanstatic void va_TraceVAProbabilityBufferVP8( 21720f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan VADisplay dpy, 2173a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 2174a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 2175a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 2176a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 2177a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 21780f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan void *data) 21790f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan{ 21800f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan char tmp[1024]; 21810f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan VAProbabilityDataBufferVP8 *p = (VAProbabilityDataBufferVP8 *)data; 21820f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan DPY2TRACECTX(dpy); 21830f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan int i,j,k,l; 21840f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21850f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, "\t--VAProbabilityDataBufferVP8\n"); 21860f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21870f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan for (i = 0; i < 4; i++) 21880f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan for (j = 0; j < 8; j++) { 21890f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan memset(tmp, 0, sizeof tmp); 21900f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan for (k=0; k<3; k++) 21910f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan for (l=0; l<11; l++) 21920f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan sprintf(tmp + strlen(tmp), "%2x, ", p->dct_coeff_probs[i][j][k][l]); 21930f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx,"\t\t[%d, %d] = %s\n", i, j, tmp); 21940f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan } 21950f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21960f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceMsg(trace_ctx, NULL); 21970f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan 21980f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan return; 21990f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan} 2200f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 2201293abef4f8172cc061d26f9d909c281b4190b514Bruce Bearevoid va_TraceBeginPicture( 2202b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 2203a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 2204b0fac498ca4863166252f1268fda83394db54153Fei Jiang VASurfaceID render_target 2205b0fac498ca4863166252f1268fda83394db54153Fei Jiang) 2206b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 2207f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 2208b0fac498ca4863166252f1268fda83394db54153Fei Jiang 220921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan TRACE_FUNCNAME(idx); 2210cceaa0568f77a7452857559614100b71fb36ee3awangkun 2211f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\trender_targets = 0x%08x\n", render_target); 2212f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_count = #%d\n", trace_ctx->trace_frame_no); 2213f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 2214b0fac498ca4863166252f1268fda83394db54153Fei Jiang 2215f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_rendertarget = render_target; /* for surface data dump after vaEndPicture */ 2216b0fac498ca4863166252f1268fda83394db54153Fei Jiang 2217f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_frame_no++; 2218f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun trace_ctx->trace_slice_no = 0; 2219b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 2220b0fac498ca4863166252f1268fda83394db54153Fei Jiang 2221901c77a7aa491f56b63af7b655b67439481e4177Fei Jiangstatic void va_TraceMPEG2Buf( 2222b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 2223b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAContextID context, 2224b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferID buffer, 2225b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferType type, 2226b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int size, 2227b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int num_elements, 2228b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *pbuf 2229b0fac498ca4863166252f1268fda83394db54153Fei Jiang) 2230b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 2231b0fac498ca4863166252f1268fda83394db54153Fei Jiang switch (type) { 2232b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAPictureParameterBufferType: 2233b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVAPictureParameterBufferMPEG2(dpy, context, buffer, type, size, num_elements, pbuf); 2234b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2235b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAIQMatrixBufferType: 2236b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVAIQMatrixBufferMPEG2(dpy, context, buffer, type, size, num_elements, pbuf); 2237b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2238b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VABitPlaneBufferType: 223921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2240b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2241b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceGroupMapBufferType: 224221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2243b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2244b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceParameterBufferType: 2245b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVASliceParameterBufferMPEG2(dpy, context, buffer, type, size, num_elements, pbuf); 2246b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2247b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceDataBufferType: 2248b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2249b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2250b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAMacroblockParameterBufferType: 225121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2252b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2253b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAResidualDataBufferType: 225421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2255b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2256b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VADeblockingParameterBufferType: 225721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2258b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2259b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAImageBufferType: 2260b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2261b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProtectedSliceDataBufferType: 226221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2263b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2264b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncCodedBufferType: 2265b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2266b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncSequenceParameterBufferType: 2267b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2268b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncPictureParameterBufferType: 2269b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2270b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncSliceParameterBufferType: 2271b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 227221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan default: 227321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan break; 2274b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 2275b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 2276b0fac498ca4863166252f1268fda83394db54153Fei Jiang 227750ce1dbe8a3402d56c94238710964507db7d99e1Kun Wangstatic void va_TraceVAEncSequenceParameterBufferH263( 227850ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang VADisplay dpy, 2279a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 2280a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 2281a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 2282a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 2283a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 228450ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang void *data) 228550ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang{ 228650ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang VAEncSequenceParameterBufferH263 *p = (VAEncSequenceParameterBufferH263 *)data; 2287f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 228850ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 2289f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncSequenceParameterBufferH263\n"); 229050ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 2291f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period); 2292f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second); 2293f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tframe_rate = %d\n", p->frame_rate); 2294f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tinitial_qp = %d\n", p->initial_qp); 2295f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmin_qp = %d\n", p->min_qp); 2296f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 229750ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 229850ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang return; 229950ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang} 230050ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 230150ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 230250ce1dbe8a3402d56c94238710964507db7d99e1Kun Wangstatic void va_TraceVAEncPictureParameterBufferH263( 230350ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang VADisplay dpy, 2304a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 2305a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 2306a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 2307a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 2308a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 230950ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang void *data) 231050ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang{ 231150ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang VAEncPictureParameterBufferH263 *p = (VAEncPictureParameterBufferH263 *)data; 2312f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 2313a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 2314f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncPictureParameterBufferH263\n"); 2315f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\treference_picture = 0x%08x\n", p->reference_picture); 2316f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\treconstructed_picture = 0x%08x\n", p->reconstructed_picture); 2317f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tcoded_buf = %08x\n", p->coded_buf); 2318f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_width = %d\n", p->picture_width); 2319f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_height = %d\n", p->picture_height); 2320f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_type = 0x%08x\n", p->picture_type); 2321f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 232250ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 232350ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang return; 232450ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang} 232550ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 2326cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wangstatic void va_TraceVAEncPictureParameterBufferJPEG( 2327cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang VADisplay dpy, 2328a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 2329a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 2330a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 2331a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 2332a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 2333cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang void *data) 2334cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang{ 2335cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang VAEncPictureParameterBufferJPEG *p = (VAEncPictureParameterBufferJPEG *)data; 23367d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan int i; 2337a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 2338f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 2339f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 2340f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAEncPictureParameterBufferJPEG\n"); 2341f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\treconstructed_picture = 0x%08x\n", p->reconstructed_picture); 2342f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tcoded_buf = %08x\n", p->coded_buf); 2343f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_width = %d\n", p->picture_width); 2344f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpicture_height = %d\n", p->picture_height); 2345f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_flags.bits.profile = %d\n", p->pic_flags.bits.profile); 2346f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_flags.bits.progressive = %d\n", p->pic_flags.bits.profile); 2347f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_flags.bits.huffman = %d\n", p->pic_flags.bits.huffman); 2348f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_flags.bits.interleaved = %d\n", p->pic_flags.bits.interleaved); 2349f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tpic_flags.bits.differential = %d\n", p->pic_flags.bits.differential); 2350f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsample_bit_depth = %d\n", p->sample_bit_depth); 2351f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_scan = %d\n", p->num_scan); 2352f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_components = %d\n", p->num_components); 235390f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN for (i=0; i<p->num_components; i++) 235490f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN va_TraceMsg(trace_ctx, "\tcomponent_id[%d] = %d\n", i, p->component_id[i]); 235590f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN 235690f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN if (p->quality > 0) 235790f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN va_TraceMsg(trace_ctx, "\tquality = %d\n", p->quality); 235890f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN else 235990f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN va_TraceMsg(trace_ctx, "\tquantiser_table_selector[] = %d %d %d %d\n", 236090f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->quantiser_table_selector[0], 236190f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->quantiser_table_selector[1], 236290f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->quantiser_table_selector[2], 236390f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->quantiser_table_selector[3]); 236490f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN 2365f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 2366cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang 2367cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang return; 2368cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang} 2369cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang 2370cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wangstatic void va_TraceVAEncQMatrixBufferJPEG( 2371cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang VADisplay dpy, 2372a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 2373a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 2374a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 2375a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 2376a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 2377cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang void *data) 2378cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang{ 2379cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang VAQMatrixBufferJPEG *p = (VAQMatrixBufferJPEG *)data; 2380f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 2381a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 2382f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t--VAQMatrixBufferJPEG\n"); 238390f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN va_TraceMsg(trace_ctx, "\tload_lum_quantiser_matrix = %d\n", p->load_lum_quantiser_matrix); 2384cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang if (p->load_lum_quantiser_matrix) { 2385cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang int i; 238690f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN for (i = 0; i < 8; i++) { 238790f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN va_TraceMsg(trace_ctx, 238890f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN "\t\t0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x\n", 238990f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->lum_quantiser_matrix[i*8], 239090f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->lum_quantiser_matrix[i*8 + 1], 239190f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->lum_quantiser_matrix[i*8 + 2], 239290f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->lum_quantiser_matrix[i*8 + 3], 239390f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->lum_quantiser_matrix[i*8 + 4], 239490f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->lum_quantiser_matrix[i*8 + 5], 239590f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->lum_quantiser_matrix[i*8 + 6], 239690f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->lum_quantiser_matrix[i*8 + 7]); 2397cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang } 2398cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang } 239990f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN 240090f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN va_TraceMsg(trace_ctx, "\tload_chroma_quantiser_matrix = %d\n", p->load_chroma_quantiser_matrix); 2401cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang if (p->load_chroma_quantiser_matrix) { 2402cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang int i; 240390f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN for (i = 0; i < 8; i++) { 240490f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN va_TraceMsg(trace_ctx, 240590f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN "\t\t0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x\n", 240690f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->chroma_quantiser_matrix[i*8], 240790f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->chroma_quantiser_matrix[i*8 + 1], 240890f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->chroma_quantiser_matrix[i*8 + 2], 240990f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->chroma_quantiser_matrix[i*8 + 3], 241090f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->chroma_quantiser_matrix[i*8 + 4], 241190f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->chroma_quantiser_matrix[i*8 + 5], 241290f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->chroma_quantiser_matrix[i*8 + 6], 241390f61610cbc67b905e2995b3d1f122e137c7a7bcJing SUN p->chroma_quantiser_matrix[i*8 + 7]); 2414cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang } 2415cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang } 2416cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang 2417f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 2418cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang 2419cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang return; 2420cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang} 242150ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 24227d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 242350ce1dbe8a3402d56c94238710964507db7d99e1Kun Wangstatic void va_TraceH263Buf( 242450ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang VADisplay dpy, 2425a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 2426a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 2427a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 2428a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 2429a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 243050ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang void *pbuf 243150ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang) 243250ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang{ 2433a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan DPY2TRACECTX(dpy); 2434a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan 243550ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang switch (type) { 2436e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan case VAPictureParameterBufferType:/* print MPEG4 buffer */ 2437e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan va_TraceVAPictureParameterBufferMPEG4(dpy, context, buffer, type, size, num_elements, pbuf); 2438e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan break; 2439e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan case VAIQMatrixBufferType:/* print MPEG4 buffer */ 2440e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan va_TraceVAIQMatrixBufferMPEG4(dpy, context, buffer, type, size, num_elements, pbuf); 2441e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan break; 2442e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan case VABitPlaneBufferType:/* print MPEG4 buffer */ 2443e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2444e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan break; 244550ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang case VASliceGroupMapBufferType: 2446e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan break; 2447e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan case VASliceParameterBufferType:/* print MPEG4 buffer */ 2448e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan va_TraceVASliceParameterBufferMPEG4(dpy, context, buffer, type, size, num_elements, pbuf); 2449e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan break; 245050ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang case VASliceDataBufferType: 2451e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2452e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan break; 245350ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang case VAMacroblockParameterBufferType: 2454e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2455e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan break; 245650ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang case VAResidualDataBufferType: 2457e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2458e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan break; 245950ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang case VADeblockingParameterBufferType: 2460e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2461e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan break; 246250ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang case VAImageBufferType: 2463e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan break; 246450ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang case VAProtectedSliceDataBufferType: 246550ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 246650ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang break; 246750ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang case VAEncCodedBufferType: 246850ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang break; 246950ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang case VAEncSequenceParameterBufferType: 247050ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang va_TraceVAEncSequenceParameterBufferH263(dpy, context, buffer, type, size, num_elements, pbuf); 247150ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang break; 247250ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang case VAEncPictureParameterBufferType: 247350ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang va_TraceVAEncPictureParameterBufferH263(dpy, context, buffer, type, size, num_elements, pbuf); 247450ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang break; 247550ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang case VAEncSliceParameterBufferType: 247650ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang va_TraceVAEncSliceParameterBuffer(dpy, context, buffer, type, size, num_elements, pbuf); 247750ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang break; 24782efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan case VAEncPackedHeaderParameterBufferType: 24792efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan va_TraceVAEncPackedHeaderParameterBufferType(dpy, context, buffer, type, size, num_elements, pbuf); 24802efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan break; 248150ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang default: 248235f195a578d0bec4a0aa84d6162eda7e3a4a4db9Austin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 248350ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang break; 248450ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang } 248550ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang} 248650ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang 2487cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang 2488cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wangstatic void va_TraceJPEGBuf( 2489cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang VADisplay dpy, 2490cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang VAContextID context, 2491cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang VABufferID buffer, 2492cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang VABufferType type, 2493cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang unsigned int size, 2494cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang unsigned int num_elements, 2495cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang void *pbuf 2496cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang) 2497cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang{ 2498cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang switch (type) { 24999992891b62398a80bd0867f8d167c0faa49861fdCheng Yao case VABitPlaneBufferType: 2500cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang case VASliceGroupMapBufferType: 2501cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang case VASliceDataBufferType: 2502cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang case VAMacroblockParameterBufferType: 2503cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang case VAResidualDataBufferType: 2504cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang case VADeblockingParameterBufferType: 2505cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang case VAImageBufferType: 2506cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang case VAProtectedSliceDataBufferType: 2507cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang case VAEncCodedBufferType: 2508cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang case VAEncSequenceParameterBufferType: 2509cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2510cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang break; 25117d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan case VAEncSliceParameterBufferType: 25127d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan va_TraceVAEncPictureParameterBufferJPEG(dpy, context, buffer, type, size, num_elements, pbuf); 25137d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan break; 25149992891b62398a80bd0867f8d167c0faa49861fdCheng Yao case VAPictureParameterBufferType: 25159992891b62398a80bd0867f8d167c0faa49861fdCheng Yao va_TraceVAPictureParameterBufferJPEG(dpy, context, buffer, type, size, num_elements, pbuf); 25169992891b62398a80bd0867f8d167c0faa49861fdCheng Yao break; 25179992891b62398a80bd0867f8d167c0faa49861fdCheng Yao case VAIQMatrixBufferType: 25189992891b62398a80bd0867f8d167c0faa49861fdCheng Yao va_TraceVAIQMatrixBufferJPEG(dpy, context, buffer, type, size, num_elements, pbuf); 25199992891b62398a80bd0867f8d167c0faa49861fdCheng Yao break; 25209992891b62398a80bd0867f8d167c0faa49861fdCheng Yao case VASliceParameterBufferType: 25219992891b62398a80bd0867f8d167c0faa49861fdCheng Yao va_TraceVASliceParameterBufferJPEG(dpy, context, buffer, type, size, num_elements, pbuf); 25229992891b62398a80bd0867f8d167c0faa49861fdCheng Yao break; 25239992891b62398a80bd0867f8d167c0faa49861fdCheng Yao case VAHuffmanTableBufferType: 25249992891b62398a80bd0867f8d167c0faa49861fdCheng Yao va_TraceVAHuffmanTableBufferJPEG(dpy, context, buffer, type, size, num_elements, pbuf); 25259992891b62398a80bd0867f8d167c0faa49861fdCheng Yao break; 2526cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang case VAEncPictureParameterBufferType: 2527cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang va_TraceVAEncPictureParameterBufferJPEG(dpy, context, buffer, type, size, num_elements, pbuf); 2528cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang break; 2529cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang case VAQMatrixBufferType: 2530cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang va_TraceVAEncQMatrixBufferJPEG(dpy, context, buffer, type, size, num_elements, pbuf); 2531cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang break; 2532cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang default: 253335f195a578d0bec4a0aa84d6162eda7e3a4a4db9Austin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2534cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang break; 2535cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang } 2536cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang} 2537cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang 2538901c77a7aa491f56b63af7b655b67439481e4177Fei Jiangstatic void va_TraceMPEG4Buf( 2539b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 2540b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAContextID context, 2541b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferID buffer, 2542b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferType type, 2543b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int size, 2544b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int num_elements, 2545b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *pbuf 2546b0fac498ca4863166252f1268fda83394db54153Fei Jiang) 2547b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 2548b0fac498ca4863166252f1268fda83394db54153Fei Jiang switch (type) { 2549b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAPictureParameterBufferType: 2550b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVAPictureParameterBufferMPEG4(dpy, context, buffer, type, size, num_elements, pbuf); 2551b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2552b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAIQMatrixBufferType: 2553b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVAIQMatrixBufferMPEG4(dpy, context, buffer, type, size, num_elements, pbuf); 2554b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2555b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VABitPlaneBufferType: 255621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2557b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2558b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceGroupMapBufferType: 2559b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2560b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceParameterBufferType: 2561b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVASliceParameterBufferMPEG4(dpy, context, buffer, type, size, num_elements, pbuf); 2562b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2563b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceDataBufferType: 2564b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2565b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2566b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAMacroblockParameterBufferType: 256721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2568b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2569b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAResidualDataBufferType: 257021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2571b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2572b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VADeblockingParameterBufferType: 257321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2574b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2575b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAImageBufferType: 2576b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2577b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProtectedSliceDataBufferType: 2578b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2579b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2580b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncCodedBufferType: 2581b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2582b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncSequenceParameterBufferType: 258350ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang va_TraceVAEncSequenceParameterBufferMPEG4(dpy, context, buffer, type, size, num_elements, pbuf); 2584b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2585b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncPictureParameterBufferType: 258650ce1dbe8a3402d56c94238710964507db7d99e1Kun Wang va_TraceVAEncPictureParameterBufferMPEG4(dpy, context, buffer, type, size, num_elements, pbuf); 2587b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2588b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncSliceParameterBufferType: 258921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVAEncSliceParameterBuffer(dpy, context, buffer, type, size, num_elements, pbuf); 2590b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2591b0fac498ca4863166252f1268fda83394db54153Fei Jiang default: 259235f195a578d0bec4a0aa84d6162eda7e3a4a4db9Austin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2593b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2594b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 2595b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 2596b0fac498ca4863166252f1268fda83394db54153Fei Jiang 2597b0fac498ca4863166252f1268fda83394db54153Fei Jiang 2598901c77a7aa491f56b63af7b655b67439481e4177Fei Jiangstatic void va_TraceH264Buf( 2599b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 2600b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAContextID context, 2601b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferID buffer, 2602b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferType type, 2603b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int size, 2604b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int num_elements, 2605b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *pbuf 2606b0fac498ca4863166252f1268fda83394db54153Fei Jiang) 2607b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 2608f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 260921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 2610b0fac498ca4863166252f1268fda83394db54153Fei Jiang switch (type) { 2611b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAPictureParameterBufferType: 2612901c77a7aa491f56b63af7b655b67439481e4177Fei Jiang va_TraceVAPictureParameterBufferH264(dpy, context, buffer, type, size, num_elements, pbuf); 2613b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2614b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAIQMatrixBufferType: 2615b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVAIQMatrixBufferH264(dpy, context, buffer, type, size, num_elements, pbuf); 2616b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2617b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VABitPlaneBufferType: 261821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2619b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2620b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceGroupMapBufferType: 262121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2622b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2623b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceParameterBufferType: 2624b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVASliceParameterBufferH264(dpy, context, buffer, type, size, num_elements, pbuf); 2625b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2626b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceDataBufferType: 2627f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceVABuffers(dpy, context, buffer, type, trace_ctx->trace_slice_size, num_elements, pbuf); 2628b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2629b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAMacroblockParameterBufferType: 263021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2631b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2632b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAResidualDataBufferType: 263321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2634b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2635b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VADeblockingParameterBufferType: 263621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2637b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2638b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAImageBufferType: 2639b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2640b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProtectedSliceDataBufferType: 2641b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2642b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2643b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncCodedBufferType: 2644b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2645b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncSequenceParameterBufferType: 264621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVAEncSequenceParameterBufferH264(dpy, context, buffer, type, size, num_elements, pbuf); 2647b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2648b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncPictureParameterBufferType: 264921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVAEncPictureParameterBufferH264(dpy, context, buffer, type, size, num_elements, pbuf); 2650b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2651b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncSliceParameterBufferType: 2652ac1c6d1120d34338e679ac23f1348ade77b61317Elaine Wang if (size == sizeof(VAEncSliceParameterBuffer)) 2653ac1c6d1120d34338e679ac23f1348ade77b61317Elaine Wang va_TraceVAEncSliceParameterBuffer(dpy, context, buffer, type, size, num_elements, pbuf); 2654ac1c6d1120d34338e679ac23f1348ade77b61317Elaine Wang else 2655ac1c6d1120d34338e679ac23f1348ade77b61317Elaine Wang va_TraceVAEncSliceParameterBufferH264(dpy, context, buffer, type, size, num_elements, pbuf); 265621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan break; 26572efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan case VAEncPackedHeaderParameterBufferType: 26582efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan va_TraceVAEncPackedHeaderParameterBufferType(dpy, context, buffer, type, size, num_elements, pbuf); 26592efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan break; 26602efbafef6046e1d9372c58de2b0d7b03377c686cAustin Yuan 266121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan case VAEncMiscParameterBufferType: 266221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVAEncMiscParameterBuffer(dpy, context, buffer, type, size, num_elements, pbuf); 2663b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2664b0fac498ca4863166252f1268fda83394db54153Fei Jiang default: 266535f195a578d0bec4a0aa84d6162eda7e3a4a4db9Austin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2666b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2667b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 2668b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 2669b0fac498ca4863166252f1268fda83394db54153Fei Jiang 2670f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolunstatic void va_TraceVP8Buf( 2671f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun VADisplay dpy, 2672f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun VAContextID context, 2673f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun VABufferID buffer, 2674f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun VABufferType type, 2675f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun unsigned int size, 2676f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun unsigned int num_elements, 2677f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun void *pbuf 2678f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun) 2679f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun{ 2680f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 2681f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 2682f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun switch (type) { 2683f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAPictureParameterBufferType: 26846af1f7eccc8c67c1f3a4c989a4f0b69804ef973dTang, XiaoxiX va_TraceVAPictureParameterBufferVP8(dpy, context, buffer, type, size, num_elements, pbuf); 2685f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2686f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAIQMatrixBufferType: 26876af1f7eccc8c67c1f3a4c989a4f0b69804ef973dTang, XiaoxiX va_TraceVAIQMatrixBufferVP8(dpy, context, buffer, type, size, num_elements, pbuf); 2688f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2689f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VABitPlaneBufferType: 2690f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2691f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VASliceGroupMapBufferType: 2692f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2693f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VASliceParameterBufferType: 26946af1f7eccc8c67c1f3a4c989a4f0b69804ef973dTang, XiaoxiX va_TraceVASliceParameterBufferVP8(dpy, context, buffer, type, size, num_elements, pbuf); 26956af1f7eccc8c67c1f3a4c989a4f0b69804ef973dTang, XiaoxiX break; 2696f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VASliceDataBufferType: 26976af1f7eccc8c67c1f3a4c989a4f0b69804ef973dTang, XiaoxiX va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2698f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 26990f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan case VAProbabilityBufferType: 27000f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan va_TraceVAProbabilityBufferVP8(dpy, context, buffer, type, size, num_elements, pbuf); 27010f5162def402b0b2fa7db332b323e7497b413cc1Austin Yuan break; 2702f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAMacroblockParameterBufferType: 2703f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2704f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAResidualDataBufferType: 2705f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2706f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VADeblockingParameterBufferType: 2707f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2708f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAImageBufferType: 2709f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2710f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAProtectedSliceDataBufferType: 2711f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2712f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAEncCodedBufferType: 2713f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2714f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAEncSequenceParameterBufferType: 2715f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceVAEncSequenceParameterBufferVP8(dpy, context, buffer, type, size, num_elements, pbuf); 2716f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2717f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAEncPictureParameterBufferType: 2718f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceVAEncPictureParameterBufferVP8(dpy, context, buffer, type, size, num_elements, pbuf); 2719f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2720f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAEncSliceParameterBufferType: 2721f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2722f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAEncPackedHeaderParameterBufferType: 2723f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2724f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAEncMiscParameterBufferType: 2725f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceVAEncMiscParameterBuffer(dpy, context, buffer, type, size, num_elements, pbuf); 2726f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2727f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun default: 2728f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2729f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 2730f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun } 2731f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun} 2732f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 2733b0fac498ca4863166252f1268fda83394db54153Fei Jiang 2734901c77a7aa491f56b63af7b655b67439481e4177Fei Jiangstatic void va_TraceVC1Buf( 2735b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 2736b0fac498ca4863166252f1268fda83394db54153Fei Jiang VAContextID context, 2737b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferID buffer, 2738b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferType type, 2739b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int size, 2740b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int num_elements, 2741b0fac498ca4863166252f1268fda83394db54153Fei Jiang void *pbuf 2742b0fac498ca4863166252f1268fda83394db54153Fei Jiang) 2743b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 2744f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 274521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 2746b0fac498ca4863166252f1268fda83394db54153Fei Jiang switch (type) { 2747b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAPictureParameterBufferType: 2748b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVAPictureParameterBufferVC1(dpy, context, buffer, type, size, num_elements, pbuf); 2749b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2750b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAIQMatrixBufferType: 2751b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2752b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VABitPlaneBufferType: 2753b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2754b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2755b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceGroupMapBufferType: 275621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2757b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2758b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceParameterBufferType: 2759b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVASliceParameterBufferVC1(dpy, context, buffer, type, size, num_elements, pbuf); 2760b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2761b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VASliceDataBufferType: 2762f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceVABuffers(dpy, context, buffer, type, trace_ctx->trace_slice_size, num_elements, pbuf); 2763b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2764b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAMacroblockParameterBufferType: 276521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2766b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2767b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAResidualDataBufferType: 276821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2769b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2770b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VADeblockingParameterBufferType: 277121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2772b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2773b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAImageBufferType: 2774b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2775b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProtectedSliceDataBufferType: 2776b0fac498ca4863166252f1268fda83394db54153Fei Jiang va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2777b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2778b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncCodedBufferType: 2779b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2780b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncSequenceParameterBufferType: 278121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2782b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2783b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncPictureParameterBufferType: 278421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2785b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2786b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAEncSliceParameterBufferType: 278721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2788b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2789b0fac498ca4863166252f1268fda83394db54153Fei Jiang default: 279035f195a578d0bec4a0aa84d6162eda7e3a4a4db9Austin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 2791b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 2792b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 2793b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 2794b0fac498ca4863166252f1268fda83394db54153Fei Jiang 27958c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuanstatic void 27968c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuanva_TraceProcFilterParameterBufferDeinterlacing( 27978c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VADisplay dpy, 2798a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 27998c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VAProcFilterParameterBufferBase *base 28008c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan) 28018c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan{ 28028c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VAProcFilterParameterBufferDeinterlacing *deint = (VAProcFilterParameterBufferDeinterlacing *)base; 28038c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28048c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan DPY2TRACECTX(dpy); 28058c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28068c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t type = %d\n", deint->type); 28078c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t algorithm = %d\n", deint->algorithm); 28088c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t flags = %d\n", deint->flags); 28098c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan} 28108c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28118c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuanstatic void 28128c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuanva_TraceProcFilterParameterBufferColorBalance( 28138c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VADisplay dpy, 2814a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 28158c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VAProcFilterParameterBufferBase *base 28168c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan) 28178c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan{ 28188c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VAProcFilterParameterBufferColorBalance *color_balance = (VAProcFilterParameterBufferColorBalance *)base; 28198c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28208c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan DPY2TRACECTX(dpy); 28218c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28228c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t type = %d\n", color_balance->type); 28238c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t attrib = %d\n", color_balance->attrib); 28248c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t value = %f\n", color_balance->value); 28258c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan} 28268c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28278c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuanstatic void 28288c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuanva_TraceProcFilterParameterBufferBase( 28298c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VADisplay dpy, 28308c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VAContextID context, 28318c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VAProcFilterParameterBufferBase *base 28328c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan) 28338c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan{ 28348c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan DPY2TRACECTX(dpy); 28358c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 2836a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan va_TraceMsg(trace_ctx, "\t type = %d, context = %d\n", base->type, context); 28378c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan} 28388c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28398c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuanstatic void 28408c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuanva_TraceProcFilterParameterBuffer( 28418c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VADisplay dpy, 28428c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VAContextID context, 28438c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VABufferID *filters, 28448c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan unsigned int num_filters 28458c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan) 28468c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan{ 28478c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VABufferType type; 28488c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan unsigned int size; 28498c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan unsigned int num_elements; 28508c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VAProcFilterParameterBufferBase *base_filter = NULL; 2851a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int i; 28528c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28538c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan DPY2TRACECTX(dpy); 28548c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28558c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if (num_filters == 0 || filters == NULL) { 28568c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t num_filters = %d\n", num_filters); 28578c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t filters = %p\n", filters); 28588c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan return; 28598c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 28608c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28618c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t num_filters = %d\n", num_filters); 28628c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28638c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan /* get buffer type information */ 28648c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan for (i = 0; i < num_filters; i++) { 28658c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan vaBufferInfo(dpy, context, filters[i], &type, &size, &num_elements); 28668c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28678c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if (type != VAProcFilterParameterBufferType) { 28688c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t filters[%d] = 0x%08x (INVALID)\n", i, filters[i]); 28698c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan return; 28708c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } else { 28718c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t filters[%d] = 0x%08x\n", i, filters[i]); 28728c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 28738c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28748c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan base_filter = NULL; 28758c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan vaMapBuffer(dpy, filters[i], (void **)&base_filter); 28768c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28778c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if (base_filter == NULL) { 28788c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan vaUnmapBuffer(dpy, filters[i]); 28798c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan return; 28808c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 28818c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 28828c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan switch (base_filter->type) { 28838c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan case VAProcFilterDeinterlacing: 28848c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceProcFilterParameterBufferDeinterlacing(dpy, 28858c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan context, 28868c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan base_filter); 28878c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan break; 28888c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan case VAProcFilterColorBalance: 28898c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceProcFilterParameterBufferColorBalance(dpy, 28908c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan context, 28918c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan base_filter); 28928c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan break; 28938c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan default: 28948c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceProcFilterParameterBufferBase(dpy, 28958c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan context, 28968c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan base_filter); 28978c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan break; 28988c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 28998c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29008c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan vaUnmapBuffer(dpy, filters[i]); 29018c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 29028c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan} 29038c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29048c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuanstatic void 29058c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuanva_TraceVAProcPipelineParameterBuffer( 29068c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VADisplay dpy, 29078c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VAContextID context, 2908a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferID __maybe_unused buffer, 2909a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VABufferType __maybe_unused type, 2910a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused size, 2911a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int __maybe_unused num_elements, 29128c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan void *data 29138c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan) 29148c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan{ 29158c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VAProcPipelineParameterBuffer *p = (VAProcPipelineParameterBuffer *)data; 2916a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan unsigned int i; 29178c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29188c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan DPY2TRACECTX(dpy); 29198c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29208c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t--VAProcPipelineParameterBuffer\n"); 29218c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29228c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t surface = 0x%08x\n", p->surface); 29238c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29248c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if (p->surface_region) { 29258c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t surface_region\n"); 29268c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t x = %d\n", p->surface_region->x); 29278c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t y = %d\n", p->surface_region->y); 29288c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t width = %d\n", p->surface_region->width); 29298c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t height = %d\n", p->surface_region->height); 29308c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } else { 29318c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t surface_region = (NULL)\n"); 29328c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 29338c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29348c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t surface_color_standard = %d\n", p->surface_color_standard); 29358c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29368c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if (p->output_region) { 29378c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t output_region\n"); 29388c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t x = %d\n", p->output_region->x); 29398c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t y = %d\n", p->output_region->y); 29408c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t width = %d\n", p->output_region->width); 29418c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t height = %d\n", p->output_region->height); 29428c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } else { 29438c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t output_region = (NULL)\n"); 29448c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 29458c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29468c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t output_background_color = 0x%08x\n", p->output_background_color); 29478c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t output_color_standard = %d\n", p->output_color_standard); 29488c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t pipeline_flags = 0x%08x\n", p->pipeline_flags); 29498c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t filter_flags = 0x%08x\n", p->filter_flags); 29508c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29518c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceProcFilterParameterBuffer(dpy, context, p->filters, p->num_filters); 29528c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29538c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t num_forward_references = 0x%08x\n", p->num_forward_references); 29548c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29558c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if (p->num_forward_references) { 29568c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t forward_references\n"); 29578c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29588c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if (p->forward_references) { 29598c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan /* only dump the first 5 forward references */ 29608c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan for (i = 0; i < p->num_forward_references && i < 5; i++) { 29618c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t forward_references[%d] = 0x%08x\n", i, p->forward_references[i]); 29628c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 29638c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } else { 29648c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan for (i = 0; i < p->num_forward_references && i < 5; i++) { 29658c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t forward_references[%d] = (NULL)\n", i); 29668c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 29678c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 29688c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 29698c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29708c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t num_backward_references = 0x%08x\n", p->num_backward_references); 29718c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29728c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if (p->num_backward_references) { 29738c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t backward_references\n"); 29748c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29758c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan if (p->backward_references) { 29768c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan /* only dump the first 5 backward references */ 29778c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan for (i = 0; i < p->num_backward_references && i < 5; i++) { 29788c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t backward_references[%d] = 0x%08x\n", i, p->backward_references[i]); 29798c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 29808c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } else { 29818c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan for (i = 0; i < p->num_backward_references && i < 5; i++) { 29828c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, "\t backward_references[%d] = (NULL)\n", i); 29838c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 29848c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 29858c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 29868c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29878c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan /* FIXME: add other info later */ 29888c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29898c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceMsg(trace_ctx, NULL); 29908c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan} 29918c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 29928c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuanstatic void 29938c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuanva_TraceNoneBuf( 29948c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VADisplay dpy, 29958c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VAContextID context, 29968c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VABufferID buffer, 29978c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan VABufferType type, 29988c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan unsigned int size, 29998c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan unsigned int num_elements, 30008c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan void *pbuf 30018c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan) 30028c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan{ 30038c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan DPY2TRACECTX(dpy); 30048c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 30058c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan switch (type) { 30068c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan case VAProcPipelineParameterBufferType: 30078c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceVAProcPipelineParameterBuffer(dpy, context, buffer, type, size, num_elements, pbuf); 30088c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan break; 30098c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan default: 30108c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); 30118c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan break; 30128c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 30138c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan} 30148c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 3015293abef4f8172cc061d26f9d909c281b4190b514Bruce Bearevoid va_TraceRenderPicture( 3016b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 3017a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 3018b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferID *buffers, 3019b0fac498ca4863166252f1268fda83394db54153Fei Jiang int num_buffers 3020b0fac498ca4863166252f1268fda83394db54153Fei Jiang) 3021b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 3022b0fac498ca4863166252f1268fda83394db54153Fei Jiang VABufferType type; 3023b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int size; 3024b0fac498ca4863166252f1268fda83394db54153Fei Jiang unsigned int num_elements; 3025b0fac498ca4863166252f1268fda83394db54153Fei Jiang int i; 3026f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 3027b0fac498ca4863166252f1268fda83394db54153Fei Jiang 302821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan TRACE_FUNCNAME(idx); 302921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 3030f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_buffers = %d\n", num_buffers); 30317d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (buffers == NULL) 30327d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan return; 30337d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 3034b0fac498ca4863166252f1268fda83394db54153Fei Jiang for (i = 0; i < num_buffers; i++) { 30357d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan unsigned char *pbuf = NULL; 303621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int j; 303721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 3038b0fac498ca4863166252f1268fda83394db54153Fei Jiang /* get buffer type information */ 3039b0fac498ca4863166252f1268fda83394db54153Fei Jiang vaBufferInfo(dpy, context, buffers[i], &type, &size, &num_elements); 304072b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 3041f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t---------------------------\n"); 3042f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tbuffers[%d] = 0x%08x\n", i, buffers[i]); 3043f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t type = %s\n", buffer_type_to_string(type)); 3044f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t size = %d\n", size); 3045f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t num_elements = %d\n", num_elements); 3046b0fac498ca4863166252f1268fda83394db54153Fei Jiang 30475b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang vaMapBuffer(dpy, buffers[i], (void **)&pbuf); 30487d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (pbuf == NULL) 30497d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan continue; 30507d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 3051f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun switch (trace_ctx->trace_profile) { 3052b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProfileMPEG2Simple: 3053b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProfileMPEG2Main: 305421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan for (j=0; j<num_elements; j++) { 3055f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\telement[%d] =\n", j); 305621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceMPEG2Buf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j); 305721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 3058b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 3059b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProfileMPEG4Simple: 3060b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProfileMPEG4AdvancedSimple: 3061b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProfileMPEG4Main: 306221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan for (j=0; j<num_elements; j++) { 3063f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\telement[%d] =\n", j); 306421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceMPEG4Buf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j); 306521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 3066b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 3067b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProfileH264Baseline: 3068b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProfileH264Main: 3069b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProfileH264High: 3070cceaa0568f77a7452857559614100b71fb36ee3awangkun case VAProfileH264ConstrainedBaseline: 307121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan for (j=0; j<num_elements; j++) { 3072f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\telement[%d] =\n", j); 307372b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 307421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceH264Buf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j); 307521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 3076b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 3077b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProfileVC1Simple: 3078b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProfileVC1Main: 3079b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProfileVC1Advanced: 308021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan for (j=0; j<num_elements; j++) { 3081f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\telement[%d] =\n", j); 308272b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 308321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceVC1Buf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j); 308421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 3085b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 3086b0fac498ca4863166252f1268fda83394db54153Fei Jiang case VAProfileH263Baseline: 308721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan for (j=0; j<num_elements; j++) { 3088f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\telement[%d] =\n", j); 308972b466b2b0f0ab67f78e9f1b964b0ca86b036292Fei Jiang 3090e742a3c7d8b89b69f65326582ea549c13a75b350Austin Yuan va_TraceH263Buf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j); 309121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan } 309221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan break; 3093cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang case VAProfileJPEGBaseline: 3094cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang for (j=0; j<num_elements; j++) { 3095f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\telement[%d] =\n", j); 3096cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang 3097f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceJPEGBuf (dpy, context, buffers[i], type, size, num_elements, pbuf + size*j); 3098f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun } 3099f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun break; 3100f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun case VAProfileVP8Version0_3: 3101f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun for (j=0; j<num_elements; j++) { 3102c263d6a794e2a50d0f95919ed9f56003caedd492Austin Yuan va_TraceMsg(trace_ctx, "\telement[%d] =\n", j); 3103f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun 3104f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceVP8Buf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j); 3105cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang } 3106cb99e83c12e445ca5b8fc8e56b4c04dbf1719fb4Kun Wang break; 31078c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan case VAProfileNone: 31088c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan for (j=0; j<num_elements; j++) { 3109c263d6a794e2a50d0f95919ed9f56003caedd492Austin Yuan va_TraceMsg(trace_ctx, "\telement[%d] =\n", j); 31108c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan 31118c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan va_TraceNoneBuf(dpy, context, buffers[i], type, size, num_elements, pbuf + size*j); 31128c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan } 31138c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan break; 311421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan default: 3115b0fac498ca4863166252f1268fda83394db54153Fei Jiang break; 3116b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 3117b0fac498ca4863166252f1268fda83394db54153Fei Jiang 3118b0fac498ca4863166252f1268fda83394db54153Fei Jiang vaUnmapBuffer(dpy, buffers[i]); 3119b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 312036bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang 3121f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 3122b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 3123b0fac498ca4863166252f1268fda83394db54153Fei Jiang 3124293abef4f8172cc061d26f9d909c281b4190b514Bruce Bearevoid va_TraceEndPicture( 3125b0fac498ca4863166252f1268fda83394db54153Fei Jiang VADisplay dpy, 3126a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAContextID __maybe_unused context, 3127a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan int __maybe_unused endpic_done 3128b0fac498ca4863166252f1268fda83394db54153Fei Jiang) 3129b0fac498ca4863166252f1268fda83394db54153Fei Jiang{ 31305b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang int encode, decode, jpeg; 3131f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 313221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 313321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan TRACE_FUNCNAME(idx); 3134b0fac498ca4863166252f1268fda83394db54153Fei Jiang 3135f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\trender_targets = 0x%08x\n", trace_ctx->trace_rendertarget); 31365b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 313737667c3bc88b76462b2487a3dc2577260819b3ecElaine Wang /* avoid to create so many empty files */ 3138f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun encode = (trace_ctx->trace_entrypoint == VAEntrypointEncSlice); 3139f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun decode = (trace_ctx->trace_entrypoint == VAEntrypointVLD); 3140f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun jpeg = (trace_ctx->trace_entrypoint == VAEntrypointEncPicture); 3141eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan 3142eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan /* trace encode source surface, can do it before HW completes rendering */ 314337667c3bc88b76462b2487a3dc2577260819b3ecElaine Wang if ((encode && (trace_flag & VA_TRACE_FLAG_SURFACE_ENCODE))|| 31448c4f0e8e0595b1f1951d0299c2be5acf449d6ee5Austin Yuan (jpeg && (trace_flag & VA_TRACE_FLAG_SURFACE_JPEG))) 31455b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang va_TraceSurface(dpy); 31465b3d55a0433b48477823f81821817a78ef53ac2eShuduo Sang 3147eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan /* trace decoded surface, do it after HW completes rendering */ 314837667c3bc88b76462b2487a3dc2577260819b3ecElaine Wang if (decode && ((trace_flag & VA_TRACE_FLAG_SURFACE_DECODE))) { 3149f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun vaSyncSurface(dpy, trace_ctx->trace_rendertarget); 315021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceSurface(dpy); 3151901c77a7aa491f56b63af7b655b67439481e4177Fei Jiang } 3152eb172ee78b4442658da7b4c7df17a9287d638089Austin Yuan 3153f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 315421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 3155b0fac498ca4863166252f1268fda83394db54153Fei Jiang 3156409de6acb4473c973ed2532e340831dc582e5e0eAustin Yuan 3157cceaa0568f77a7452857559614100b71fb36ee3awangkunvoid va_TraceSyncSurface( 3158cceaa0568f77a7452857559614100b71fb36ee3awangkun VADisplay dpy, 3159a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VASurfaceID __maybe_unused render_target 3160cceaa0568f77a7452857559614100b71fb36ee3awangkun) 3161cceaa0568f77a7452857559614100b71fb36ee3awangkun{ 3162f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 3163cceaa0568f77a7452857559614100b71fb36ee3awangkun 3164cceaa0568f77a7452857559614100b71fb36ee3awangkun TRACE_FUNCNAME(idx); 3165cceaa0568f77a7452857559614100b71fb36ee3awangkun 3166f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 3167cceaa0568f77a7452857559614100b71fb36ee3awangkun} 3168cceaa0568f77a7452857559614100b71fb36ee3awangkun 31697d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuanvoid va_TraceQuerySurfaceAttributes( 31707d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan VADisplay dpy, 3171a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VAConfigID __maybe_unused config, 31727d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan VASurfaceAttrib *attrib_list, 31737d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan unsigned int *num_attribs 31747d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan) 31757d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan{ 3176f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 31777d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 31787d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan TRACE_FUNCNAME(idx); 3179f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceSurfaceAttributes(trace_ctx, attrib_list, num_attribs); 31807d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 3181f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 31827d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 31837d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan} 31847d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 3185cceaa0568f77a7452857559614100b71fb36ee3awangkun 3186cceaa0568f77a7452857559614100b71fb36ee3awangkunvoid va_TraceQuerySurfaceStatus( 3187cceaa0568f77a7452857559614100b71fb36ee3awangkun VADisplay dpy, 3188a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan VASurfaceID __maybe_unused render_target, 318936bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang VASurfaceStatus *status /* out */ 3190cceaa0568f77a7452857559614100b71fb36ee3awangkun) 3191cceaa0568f77a7452857559614100b71fb36ee3awangkun{ 3192f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 3193cceaa0568f77a7452857559614100b71fb36ee3awangkun 3194cceaa0568f77a7452857559614100b71fb36ee3awangkun TRACE_FUNCNAME(idx); 3195cceaa0568f77a7452857559614100b71fb36ee3awangkun 31967d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (status) 3197f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tstatus = 0x%08x\n", *status); 3198f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 3199cceaa0568f77a7452857559614100b71fb36ee3awangkun} 3200cceaa0568f77a7452857559614100b71fb36ee3awangkun 3201cceaa0568f77a7452857559614100b71fb36ee3awangkun 3202cceaa0568f77a7452857559614100b71fb36ee3awangkunvoid va_TraceQuerySurfaceError( 320336bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang VADisplay dpy, 320436bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang VASurfaceID surface, 320536bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang VAStatus error_status, 320636bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang void **error_info /*out*/ 3207cceaa0568f77a7452857559614100b71fb36ee3awangkun) 3208cceaa0568f77a7452857559614100b71fb36ee3awangkun{ 3209f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 3210cceaa0568f77a7452857559614100b71fb36ee3awangkun 3211cceaa0568f77a7452857559614100b71fb36ee3awangkun TRACE_FUNCNAME(idx); 3212f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsurface = 0x%08x\n", surface); 3213f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\terror_status = 0x%08x\n", error_status); 32147d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (error_info && (error_status == VA_STATUS_ERROR_DECODING_ERROR)) { 321536bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang VASurfaceDecodeMBErrors *p = *error_info; 32167d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan while (p && (p->status != -1)) { 3217f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\tstatus = %d\n", p->status); 3218f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\tstart_mb = %d\n", p->start_mb); 3219f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t\tend_mb = %d\n", p->end_mb); 322036bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang p++; /* next error record */ 322136bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang } 3222cceaa0568f77a7452857559614100b71fb36ee3awangkun } 3223f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 3224cceaa0568f77a7452857559614100b71fb36ee3awangkun} 3225b0fac498ca4863166252f1268fda83394db54153Fei Jiang 322621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanvoid va_TraceMaxNumDisplayAttributes ( 322721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplay dpy, 322821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan int number 322921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan) 323021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan{ 3231f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 3232b0fac498ca4863166252f1268fda83394db54153Fei Jiang 323321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan TRACE_FUNCNAME(idx); 323421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 3235f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tmax_display_attributes = %d\n", number); 3236f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 323721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 323821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 323921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanvoid va_TraceQueryDisplayAttributes ( 324021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplay dpy, 324136bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang VADisplayAttribute *attr_list, /* out */ 324236bee3ca78947ad82f87473b5d29b9a7177ebaedShuduo Sang int *num_attributes /* out */ 324321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan) 324421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan{ 324521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan int i; 324621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 3247f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 324821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 32497d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (attr_list == NULL || num_attributes == NULL) 32507d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan return; 325121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 3252f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnum_attributes = %d\n", *num_attributes); 32537d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 325421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan for (i=0; i<*num_attributes; i++) { 3255f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tattr_list[%d] =\n"); 3256f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t typ = 0x%08x\n", attr_list[i].type); 3257f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t min_value = %d\n", attr_list[i].min_value); 3258f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t max_value = %d\n", attr_list[i].max_value); 3259f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t value = %d\n", attr_list[i].value); 3260f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t flags = %d\n", attr_list[i].flags); 3261b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 3262f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 326321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 3264b0fac498ca4863166252f1268fda83394db54153Fei Jiang 3265b0fac498ca4863166252f1268fda83394db54153Fei Jiang 326621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanstatic void va_TraceDisplayAttributes ( 326721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplay dpy, 326821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplayAttribute *attr_list, 3269a11b959f9fe7476b4da95fbaf34105e33cfeb0d6ywan int __maybe_unused num_attributes 327021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan) 327121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan{ 327221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan int i; 327321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 3274f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 327521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 32767d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan if (attr_list == NULL) 32777d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan return; 32787d9a3d51091eff4c2c32653ad011ecae99dad4feAustin Yuan 327921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan for (i=0; i<num_attributes; i++) { 3280f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tattr_list[%d] =\n"); 3281f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t typ = 0x%08x\n", attr_list[i].type); 3282f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t min_value = %d\n", attr_list[i].min_value); 3283f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t max_value = %d\n", attr_list[i].max_value); 3284f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t value = %d\n", attr_list[i].value); 3285f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\t flags = %d\n", attr_list[i].flags); 3286b0fac498ca4863166252f1268fda83394db54153Fei Jiang } 3287f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 328821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 328921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 329021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 329121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanvoid va_TraceGetDisplayAttributes ( 329221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplay dpy, 329321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplayAttribute *attr_list, 329421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan int num_attributes 329521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan) 329621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan{ 3297f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 3298901c77a7aa491f56b63af7b655b67439481e4177Fei Jiang 329921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan TRACE_FUNCNAME(idx); 330021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 330121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceDisplayAttributes (dpy, attr_list, num_attributes); 330221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 330321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 330421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanvoid va_TraceSetDisplayAttributes ( 330521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplay dpy, 330621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplayAttribute *attr_list, 330721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan int num_attributes 330821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan) 330921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan{ 3310f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 331121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 331221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan TRACE_FUNCNAME(idx); 331321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 331421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan va_TraceDisplayAttributes (dpy, attr_list, num_attributes); 331521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan} 331621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 331721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 331821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuanvoid va_TracePutSurface ( 331921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VADisplay dpy, 332021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VASurfaceID surface, 332121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan void *draw, /* the target Drawable */ 332221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan short srcx, 332321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan short srcy, 332421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned short srcw, 332521e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned short srch, 332621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan short destx, 332721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan short desty, 332821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned short destw, 332921e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned short desth, 333021e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan VARectangle *cliprects, /* client supplied clip list */ 333121e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int number_cliprects, /* number of clip rects in the clip list */ 333221e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan unsigned int flags /* de-interlacing flags */ 333321e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan) 333421e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan{ 3335f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun DPY2TRACECTX(dpy); 333621e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 333721e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan TRACE_FUNCNAME(idx); 333821e26478769d887b8357289ebb7faa47b8b415aeAustin Yuan 3339f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsurface = 0x%08x\n", surface); 3340f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdraw = 0x%08x\n", draw); 3341f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsrcx = %d\n", srcx); 3342f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsrcy = %d\n", srcy); 3343f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsrcw = %d\n", srcw); 3344f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tsrch = %d\n", srch); 3345f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdestx = %d\n", destx); 3346f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdesty = %d\n", desty); 3347f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdestw = %d\n", destw); 3348f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tdesth = %d\n", desth); 3349f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tcliprects = 0x%08x\n", cliprects); 3350f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tnumber_cliprects = %d\n", number_cliprects); 3351f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, "\tflags = 0x%08x\n", flags); 3352f32d88b4751aa44be38f62dcd25533aec6ca46a2Liu Bolun va_TraceMsg(trace_ctx, NULL); 3353b0fac498ca4863166252f1268fda83394db54153Fei Jiang} 3354