+ va_TraceMsg(trace_ctx, "\tpulldown = %d\n", p->sequence_fields.bits.pulldown);
+ va_TraceMsg(trace_ctx, "\tinterlace = %d\n", p->sequence_fields.bits.interlace);
+ va_TraceMsg(trace_ctx, "\ttfcntrflag = %d\n", p->sequence_fields.bits.tfcntrflag);
+ va_TraceMsg(trace_ctx, "\tfinterpflag = %d\n", p->sequence_fields.bits.finterpflag);
+ va_TraceMsg(trace_ctx, "\tpsf = %d\n", p->sequence_fields.bits.psf);
+ va_TraceMsg(trace_ctx, "\tmultires = %d\n", p->sequence_fields.bits.multires);
+ va_TraceMsg(trace_ctx, "\toverlap = %d\n", p->sequence_fields.bits.overlap);
+ va_TraceMsg(trace_ctx, "\tsyncmarker = %d\n", p->sequence_fields.bits.syncmarker);
+ va_TraceMsg(trace_ctx, "\trangered = %d\n", p->sequence_fields.bits.rangered);
+ va_TraceMsg(trace_ctx, "\tmax_b_frames = %d\n", p->sequence_fields.bits.max_b_frames);
+ va_TraceMsg(trace_ctx, "\tprofile = %d\n", p->sequence_fields.bits.profile);
+ va_TraceMsg(trace_ctx, "\tcoded_width = %d\n", p->coded_width);
+ va_TraceMsg(trace_ctx, "\tcoded_height = %d\n", p->coded_height);
+ va_TraceMsg(trace_ctx, "\tclosed_entry = %d\n", p->entrypoint_fields.bits.closed_entry);
+ va_TraceMsg(trace_ctx, "\tbroken_link = %d\n", p->entrypoint_fields.bits.broken_link);
+ va_TraceMsg(trace_ctx, "\tclosed_entry = %d\n", p->entrypoint_fields.bits.closed_entry);
+ va_TraceMsg(trace_ctx, "\tpanscan_flag = %d\n", p->entrypoint_fields.bits.panscan_flag);
+ va_TraceMsg(trace_ctx, "\tloopfilter = %d\n", p->entrypoint_fields.bits.loopfilter);
+ va_TraceMsg(trace_ctx, "\tconditional_overlap_flag = %d\n", p->conditional_overlap_flag);
+ va_TraceMsg(trace_ctx, "\tfast_uvmc_flag = %d\n", p->fast_uvmc_flag);
+ va_TraceMsg(trace_ctx, "\trange_mapping_luma_flag = %d\n", p->range_mapping_fields.bits.luma_flag);
+ va_TraceMsg(trace_ctx, "\trange_mapping_luma = %d\n", p->range_mapping_fields.bits.luma);
+ va_TraceMsg(trace_ctx, "\trange_mapping_chroma_flag = %d\n", p->range_mapping_fields.bits.chroma_flag);
+ va_TraceMsg(trace_ctx, "\trange_mapping_chroma = %d\n", p->range_mapping_fields.bits.chroma);
+ va_TraceMsg(trace_ctx, "\tb_picture_fraction = %d\n", p->b_picture_fraction);
+ va_TraceMsg(trace_ctx, "\tcbp_table = %d\n", p->cbp_table);
+ va_TraceMsg(trace_ctx, "\tmb_mode_table = %d\n", p->mb_mode_table);
+ va_TraceMsg(trace_ctx, "\trange_reduction_frame = %d\n", p->range_reduction_frame);
+ va_TraceMsg(trace_ctx, "\trounding_control = %d\n", p->rounding_control);
+ va_TraceMsg(trace_ctx, "\tpost_processing = %d\n", p->post_processing);
+ va_TraceMsg(trace_ctx, "\tpicture_resolution_index = %d\n", p->picture_resolution_index);
+ va_TraceMsg(trace_ctx, "\tluma_scale = %d\n", p->luma_scale);
+ va_TraceMsg(trace_ctx, "\tluma_shift = %d\n", p->luma_shift);
+ va_TraceMsg(trace_ctx, "\tpicture_type = %d\n", p->picture_fields.bits.picture_type);
+ va_TraceMsg(trace_ctx, "\tframe_coding_mode = %d\n", p->picture_fields.bits.frame_coding_mode);
+ va_TraceMsg(trace_ctx, "\ttop_field_first = %d\n", p->picture_fields.bits.top_field_first);
+ va_TraceMsg(trace_ctx, "\tis_first_field = %d\n", p->picture_fields.bits.is_first_field);
+ va_TraceMsg(trace_ctx, "\tintensity_compensation = %d\n", p->picture_fields.bits.intensity_compensation);
+ va_TraceMsg(trace_ctx, "\tmv_type_mb = %d\n", p->raw_coding.flags.mv_type_mb);
+ va_TraceMsg(trace_ctx, "\tdirect_mb = %d\n", p->raw_coding.flags.direct_mb);
+ va_TraceMsg(trace_ctx, "\tskip_mb = %d\n", p->raw_coding.flags.skip_mb);
+ va_TraceMsg(trace_ctx, "\tfield_tx = %d\n", p->raw_coding.flags.field_tx);
+ va_TraceMsg(trace_ctx, "\tforward_mb = %d\n", p->raw_coding.flags.forward_mb);
+ va_TraceMsg(trace_ctx, "\tac_pred = %d\n", p->raw_coding.flags.ac_pred);
+ va_TraceMsg(trace_ctx, "\toverflags = %d\n", p->raw_coding.flags.overflags);
+ va_TraceMsg(trace_ctx, "\tbp_mv_type_mb = %d\n", p->bitplane_present.flags.bp_mv_type_mb);
+ va_TraceMsg(trace_ctx, "\tbp_direct_mb = %d\n", p->bitplane_present.flags.bp_direct_mb);
+ va_TraceMsg(trace_ctx, "\tbp_skip_mb = %d\n", p->bitplane_present.flags.bp_skip_mb);
+ va_TraceMsg(trace_ctx, "\tbp_field_tx = %d\n", p->bitplane_present.flags.bp_field_tx);
+ va_TraceMsg(trace_ctx, "\tbp_forward_mb = %d\n", p->bitplane_present.flags.bp_forward_mb);
+ va_TraceMsg(trace_ctx, "\tbp_ac_pred = %d\n", p->bitplane_present.flags.bp_ac_pred);
+ va_TraceMsg(trace_ctx, "\tbp_overflags = %d\n", p->bitplane_present.flags.bp_overflags);
+ va_TraceMsg(trace_ctx, "\treference_distance_flag = %d\n", p->reference_fields.bits.reference_distance_flag);
+ va_TraceMsg(trace_ctx, "\treference_distance = %d\n", p->reference_fields.bits.reference_distance);
+ va_TraceMsg(trace_ctx, "\tnum_reference_pictures = %d\n", p->reference_fields.bits.num_reference_pictures);
+ va_TraceMsg(trace_ctx, "\treference_field_pic_indicator = %d\n", p->reference_fields.bits.reference_field_pic_indicator);
+ va_TraceMsg(trace_ctx, "\tmv_mode = %d\n", p->mv_fields.bits.mv_mode);
+ va_TraceMsg(trace_ctx, "\tmv_mode2 = %d\n", p->mv_fields.bits.mv_mode2);
+ va_TraceMsg(trace_ctx, "\tmv_table = %d\n", p->mv_fields.bits.mv_table);
+ va_TraceMsg(trace_ctx, "\ttwo_mv_block_pattern_table = %d\n", p->mv_fields.bits.two_mv_block_pattern_table);
+ va_TraceMsg(trace_ctx, "\tfour_mv_switch = %d\n", p->mv_fields.bits.four_mv_switch);
+ va_TraceMsg(trace_ctx, "\tfour_mv_block_pattern_table = %d\n", p->mv_fields.bits.four_mv_block_pattern_table);
+ va_TraceMsg(trace_ctx, "\textended_mv_flag = %d\n", p->mv_fields.bits.extended_mv_flag);
+ va_TraceMsg(trace_ctx, "\textended_mv_range = %d\n", p->mv_fields.bits.extended_mv_range);
+ va_TraceMsg(trace_ctx, "\textended_dmv_flag = %d\n", p->mv_fields.bits.extended_dmv_flag);
+ va_TraceMsg(trace_ctx, "\textended_dmv_range = %d\n", p->mv_fields.bits.extended_dmv_range);
+ va_TraceMsg(trace_ctx, "\tdquant = %d\n", p->pic_quantizer_fields.bits.dquant);
+ va_TraceMsg(trace_ctx, "\tquantizer = %d\n", p->pic_quantizer_fields.bits.quantizer);
+ va_TraceMsg(trace_ctx, "\thalf_qp = %d\n", p->pic_quantizer_fields.bits.half_qp);
+ va_TraceMsg(trace_ctx, "\tpic_quantizer_scale = %d\n", p->pic_quantizer_fields.bits.pic_quantizer_scale);
+ va_TraceMsg(trace_ctx, "\tpic_quantizer_type = %d\n", p->pic_quantizer_fields.bits.pic_quantizer_type);
+ va_TraceMsg(trace_ctx, "\tdq_frame = %d\n", p->pic_quantizer_fields.bits.dq_frame);
+ va_TraceMsg(trace_ctx, "\tdq_profile = %d\n", p->pic_quantizer_fields.bits.dq_profile);
+ va_TraceMsg(trace_ctx, "\tdq_sb_edge = %d\n", p->pic_quantizer_fields.bits.dq_sb_edge);
+ va_TraceMsg(trace_ctx, "\tdq_db_edge = %d\n", p->pic_quantizer_fields.bits.dq_db_edge);
+ va_TraceMsg(trace_ctx, "\tdq_binary_level = %d\n", p->pic_quantizer_fields.bits.dq_binary_level);
+ va_TraceMsg(trace_ctx, "\talt_pic_quantizer = %d\n", p->pic_quantizer_fields.bits.alt_pic_quantizer);
+ va_TraceMsg(trace_ctx, "\tvariable_sized_transform_flag = %d\n", p->transform_fields.bits.variable_sized_transform_flag);
+ va_TraceMsg(trace_ctx, "\tmb_level_transform_type_flag = %d\n", p->transform_fields.bits.mb_level_transform_type_flag);
+ va_TraceMsg(trace_ctx, "\tframe_level_transform_type = %d\n", p->transform_fields.bits.frame_level_transform_type);
+ va_TraceMsg(trace_ctx, "\ttransform_ac_codingset_idx1 = %d\n", p->transform_fields.bits.transform_ac_codingset_idx1);
+ va_TraceMsg(trace_ctx, "\ttransform_ac_codingset_idx2 = %d\n", p->transform_fields.bits.transform_ac_codingset_idx2);
+ va_TraceMsg(trace_ctx, "\tintra_transform_dc_table = %d\n", p->transform_fields.bits.intra_transform_dc_table);
+ va_TraceMsg(trace_ctx, NULL);
+}
+
+static void va_TraceVASliceParameterBufferVC1(
+ VADisplay dpy,
+ VAContextID context,
+ VABufferID buffer,
+ VABufferType type,
+ unsigned int size,
+ unsigned int num_elements,
+ void* data
+)
+{
+ VASliceParameterBufferVC1 *p = (VASliceParameterBufferVC1*)data;
+ DPY2TRACECTX(dpy, context, VA_INVALID_ID);
+
+ trace_ctx->trace_slice_no++;
+ trace_ctx->trace_slice_size = p->slice_data_size;
+
+ va_TraceMsg(trace_ctx, "\t--VASliceParameterBufferVC1\n");
+ va_TraceMsg(trace_ctx, "\tslice_data_size = %d\n", p->slice_data_size);
+ va_TraceMsg(trace_ctx, "\tslice_data_offset = %d\n", p->slice_data_offset);
+ va_TraceMsg(trace_ctx, "\tslice_data_flag = %d\n", p->slice_data_flag);
+ va_TraceMsg(trace_ctx, "\tmacroblock_offset = %d\n", p->macroblock_offset);
+ va_TraceMsg(trace_ctx, "\tslice_vertical_position = %d\n", p->slice_vertical_position);
+ va_TraceMsg(trace_ctx, NULL);
+}
+
+static void va_TraceVAPictureParameterBufferVP8(
+ VADisplay dpy,
+ VAContextID context,
+ VABufferID buffer,
+ VABufferType type,
+ unsigned int size,
+ unsigned int num_elements,
+ void *data)
+{
+ char tmp[1024];
+ VAPictureParameterBufferVP8 *p = (VAPictureParameterBufferVP8 *)data;
+ DPY2TRACECTX(dpy, context, VA_INVALID_ID);
+ int i,j;
+
+ va_TraceMsg(trace_ctx, "\t--VAPictureParameterBufferVP8\n");
+
+ va_TraceMsg(trace_ctx, "\tframe_width = %d\n", p->frame_width);
+ va_TraceMsg(trace_ctx, "\tframe_height = %d\n", p->frame_height);
+ va_TraceMsg(trace_ctx, "\tlast_ref_frame = %x\n", p->last_ref_frame);
+ va_TraceMsg(trace_ctx, "\tgolden_ref_frame = %x\n", p->golden_ref_frame);
+ va_TraceMsg(trace_ctx, "\talt_ref_frame = %x\n", p->alt_ref_frame);
+ va_TraceMsg(trace_ctx, "\tout_of_loop_frame = %x\n", p->out_of_loop_frame);
+
+ va_TraceMsg(trace_ctx, "\tkey_frame = %d\n", p->pic_fields.bits.key_frame);
+ va_TraceMsg(trace_ctx, "\tversion = %d\n", p->pic_fields.bits.version);
+ va_TraceMsg(trace_ctx, "\tsegmentation_enabled = %d\n", p->pic_fields.bits.segmentation_enabled);
+ va_TraceMsg(trace_ctx, "\tupdate_mb_segmentation_map = %d\n", p->pic_fields.bits.update_mb_segmentation_map);
+ va_TraceMsg(trace_ctx, "\tupdate_segment_feature_data = %d\n", p->pic_fields.bits.update_segment_feature_data);
+ va_TraceMsg(trace_ctx, "\tfilter_type = %d\n", p->pic_fields.bits.filter_type);
+ va_TraceMsg(trace_ctx, "\tsharpness_level = %d\n", p->pic_fields.bits.sharpness_level);
+ va_TraceMsg(trace_ctx, "\tloop_filter_adj_enable = %d\n", p->pic_fields.bits.loop_filter_adj_enable);
+ va_TraceMsg(trace_ctx, "\tmode_ref_lf_delta_update = %d\n", p->pic_fields.bits.mode_ref_lf_delta_update);
+ va_TraceMsg(trace_ctx, "\tsign_bias_golden = %d\n", p->pic_fields.bits.sign_bias_golden);
+ va_TraceMsg(trace_ctx, "\tsign_bias_alternate = %d\n", p->pic_fields.bits.sign_bias_alternate);
+ va_TraceMsg(trace_ctx, "\tmb_no_coeff_skip = %d\n", p->pic_fields.bits.mb_no_coeff_skip);
+ va_TraceMsg(trace_ctx, "\tloop_filter_disable = %d\n", p->pic_fields.bits.loop_filter_disable);
+
+ va_TraceMsg(trace_ctx, "\tmb_segment_tree_probs: 0x%2x, 0x%2x, 0x%2x\n",
+ p->mb_segment_tree_probs[0], p->mb_segment_tree_probs[1], p->mb_segment_tree_probs[2]);
+
+ va_TraceMsg(trace_ctx, "\tloop_filter_level: %d, %d, %d, %d\n",
+ p->loop_filter_level[0], p->loop_filter_level[1], p->loop_filter_level[2], p->loop_filter_level[3]);
+
+ va_TraceMsg(trace_ctx, "\tloop_filter_deltas_ref_frame: %d, %d, %d, %d\n",
+ 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]);
+
+ va_TraceMsg(trace_ctx, "\tloop_filter_deltas_mode: %d, %d, %d, %d\n",
+ p->loop_filter_deltas_mode[0], p->loop_filter_deltas_mode[1], p->loop_filter_deltas_mode[2], p->loop_filter_deltas_mode[3]);
+
+ va_TraceMsg(trace_ctx, "\tprob_skip_false = %2x\n", p->prob_skip_false);
+ va_TraceMsg(trace_ctx, "\tprob_intra = %2x\n", p->prob_intra);
+ va_TraceMsg(trace_ctx, "\tprob_last = %2x\n", p->prob_last);
+ va_TraceMsg(trace_ctx, "\tprob_gf = %2x\n", p->prob_gf);
+
+ va_TraceMsg(trace_ctx, "\ty_mode_probs: 0x%2x, 0x%2x, 0x%2x, 0x%2x\n",
+ p->y_mode_probs[0], p->y_mode_probs[1], p->y_mode_probs[2], p->y_mode_probs[3]);
+
+ va_TraceMsg(trace_ctx, "\tuv_mode_probs: 0x%2x, 0x%2x, 0x%2x\n",
+ p->uv_mode_probs[0], p->uv_mode_probs[1], p->uv_mode_probs[2]);
+
+ va_TraceMsg(trace_ctx, "\tmv_probs[2][19]:\n");
+ for(i = 0; i<2; ++i) {
+ memset(tmp, 0, sizeof tmp);
+ for (j=0; j<19; j++)
+ sprintf(tmp + strlen(tmp), "%2x ", p->mv_probs[i][j]);
+ va_TraceMsg(trace_ctx,"\t\t[%d] = %s\n", i, tmp);
+ }
+
+ va_TraceMsg(trace_ctx, "\tbool_coder_ctx: range = %02x, value = %02x, count = %d\n",
+ p->bool_coder_ctx.range, p->bool_coder_ctx.value, p->bool_coder_ctx.count);
+
+ va_TraceMsg(trace_ctx, NULL);
+
+ return;
+}
+
+static void va_TraceVASliceParameterBufferVP8(
+ VADisplay dpy,
+ VAContextID context,
+ VABufferID buffer,
+ VABufferType type,
+ unsigned int size,
+ unsigned int num_elements,
+ void *data)
+{
+ VASliceParameterBufferVP8 *p = (VASliceParameterBufferVP8 *)data;
+ DPY2TRACECTX(dpy, context, VA_INVALID_ID);
+ int i;
+
+ va_TraceMsg(trace_ctx, "\t--VASliceParameterBufferVP8\n");
+
+ va_TraceMsg(trace_ctx, "\tslice_data_size = %d\n", p->slice_data_size);
+ va_TraceMsg(trace_ctx, "\tslice_data_offset = %d\n", p->slice_data_offset);
+ va_TraceMsg(trace_ctx, "\tslice_data_flag = %d\n", p->slice_data_flag);
+ va_TraceMsg(trace_ctx, "\tmacroblock_offset = %d\n", p->macroblock_offset);
+ va_TraceMsg(trace_ctx, "\tnum_of_partitions = %d\n", p->num_of_partitions);
+
+ for(i = 0; i<9; ++i)
+ va_TraceMsg(trace_ctx, "\tpartition_size[%d] = %d\n", i, p->partition_size[i]);
+
+ va_TraceMsg(trace_ctx, NULL);
+
+ return;
+}
+
+static void va_TraceVAIQMatrixBufferVP8(
+ VADisplay dpy,
+ VAContextID context,
+ VABufferID buffer,
+ VABufferType type,
+ unsigned int size,
+ unsigned int num_elements,
+ void *data)
+{
+ char tmp[1024];
+ VAIQMatrixBufferVP8 *p = (VAIQMatrixBufferVP8 *)data;
+ DPY2TRACECTX(dpy, context, VA_INVALID_ID);
+ int i,j;
+
+ va_TraceMsg(trace_ctx, "\t--VAIQMatrixBufferVP8\n");
+
+ va_TraceMsg(trace_ctx, "\tquantization_index[4][6]=\n");
+ for (i = 0; i < 4; i++) {
+ memset(tmp, 0, sizeof tmp);
+ for (j = 0; j < 6; j++)
+ sprintf(tmp + strlen(tmp), "%4x, ", p->quantization_index[i][j]);
+ va_TraceMsg(trace_ctx,"\t\t[%d] = %s\n", i, tmp);
+ }
+
+ va_TraceMsg(trace_ctx, NULL);
+
+ return;
+}
+static void va_TraceVAProbabilityBufferVP8(
+ VADisplay dpy,
+ VAContextID context,
+ VABufferID buffer,
+ VABufferType type,
+ unsigned int size,
+ unsigned int num_elements,
+ void *data)
+{
+ char tmp[1024];
+ VAProbabilityDataBufferVP8 *p = (VAProbabilityDataBufferVP8 *)data;
+ DPY2TRACECTX(dpy, context, VA_INVALID_ID);
+ int i,j,k,l;
+
+ va_TraceMsg(trace_ctx, "\t--VAProbabilityDataBufferVP8\n");
+
+ for (i = 0; i < 4; i++)
+ for (j = 0; j < 8; j++) {
+ memset(tmp, 0, sizeof tmp);
+ for (k=0; k<3; k++)
+ for (l=0; l<11; l++)
+ sprintf(tmp + strlen(tmp), "%2x, ", p->dct_coeff_probs[i][j][k][l]);
+ va_TraceMsg(trace_ctx,"\t\t[%d, %d] = %s\n", i, j, tmp);
+ }
+
+ va_TraceMsg(trace_ctx, NULL);
+
+ return;
+}
+
+static void va_TraceVAEncSequenceParameterBufferVP8(
+ VADisplay dpy,
+ VAContextID context,
+ VABufferID buffer,
+ VABufferType type,
+ unsigned int size,
+ unsigned int num_elements,
+ void *data)
+{
+ VAEncSequenceParameterBufferVP8 *p = (VAEncSequenceParameterBufferVP8 *)data;
+ DPY2TRACECTX(dpy, context, VA_INVALID_ID);
+ int i;
+
+ va_TraceMsg(trace_ctx, "\t--VAEncSequenceParameterBufferVP8\n");
+
+ va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second);
+ va_TraceMsg(trace_ctx, "\terror_resilient = %d\n", p->error_resilient);
+ va_TraceMsg(trace_ctx, "\tframe_height = %d\n", p->frame_height);
+ va_TraceMsg(trace_ctx, "\tframe_width = %d\n", p->frame_width);
+ va_TraceMsg(trace_ctx, "\tframe_height_scale = %d\n", p->frame_height_scale);
+ va_TraceMsg(trace_ctx, "\tframe_width_scale = %d\n", p->frame_width_scale);
+ va_TraceMsg(trace_ctx, "\tkf_auto = %d\n", p->kf_auto);
+ va_TraceMsg(trace_ctx, "\tkf_max_dist = %d\n", p->kf_max_dist);
+ va_TraceMsg(trace_ctx, "\tkf_min_dist = %d\n", p->kf_min_dist);
+ va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period);
+
+ for(i = 0; i<4; ++i)
+ va_TraceMsg(trace_ctx, "\treference_frames[%d] = 0x%08x\n", i, p->reference_frames[i]);
+
+ va_TraceMsg(trace_ctx, NULL);
+
+ return;
+}
+
+static void va_TraceVAEncSequenceParameterBufferVP9(
+ VADisplay dpy,
+ VAContextID context,
+ VABufferID buffer,
+ VABufferType type,
+ unsigned int size,
+ unsigned int num_elements,
+ void *data)
+{
+ VAEncSequenceParameterBufferVP9 *p = (VAEncSequenceParameterBufferVP9 *)data;
+ DPY2TRACECTX(dpy, context, VA_INVALID_ID);
+ int i;
+
+ va_TraceMsg(trace_ctx, "\t--VAEncSequenceParameterBufferVP9\n");
+
+ va_TraceMsg(trace_ctx, "\tmax_frame_height = %d\n", p->max_frame_height);
+ va_TraceMsg(trace_ctx, "\tmax_frame_width = %d\n", p->max_frame_width);
+ va_TraceMsg(trace_ctx, "\tkf_auto = %d\n", p->kf_auto);
+ va_TraceMsg(trace_ctx, "\tkf_min_dist = %d\n", p->kf_min_dist);
+ va_TraceMsg(trace_ctx, "\tkf_max_dist = %d\n", p->kf_max_dist);
+ va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second);
+ va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period);
+
+ va_TraceMsg(trace_ctx, NULL);
+