diff options
author | ManojGuptaBonda <mbonda@nvidia.com> | 2020-07-27 17:26:11 +0530 |
---|---|---|
committer | ManojGuptaBonda <mbonda@nvidia.com> | 2020-07-29 11:57:01 +0530 |
commit | e82dc4bdbb0db3ffa8c78275902738eb63aa5ca8 (patch) | |
tree | bc019f8a95f820f744154338c354b0e366ab7a37 | |
parent | c5a8e7c6c8b4b36a0e4c9a4369404519262a3256 (diff) |
Add tracing for HEVCRangeExt picture info
-rw-r--r-- | trace/vdpau_trace.cpp | 281 |
1 files changed, 280 insertions, 1 deletions
diff --git a/trace/vdpau_trace.cpp b/trace/vdpau_trace.cpp index 3479e05..c399801 100644 --- a/trace/vdpau_trace.cpp +++ b/trace/vdpau_trace.cpp @@ -488,15 +488,252 @@ static void _vdp_cap_dump_picture_info( case VDP_DECODER_PROFILE_HEVC_MAIN: case VDP_DECODER_PROFILE_HEVC_MAIN_10: case VDP_DECODER_PROFILE_HEVC_MAIN_STILL: + { + VdpPictureInfoHEVC const * picture_info_hevc = + (VdpPictureInfoHEVC const *)picture_info; + + fprintf( + _vdp_cap_data.fp, + "{%u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, {", + (uint32_t)picture_info_hevc->chroma_format_idc, + (uint32_t)picture_info_hevc->separate_colour_plane_flag, + (uint32_t)picture_info_hevc->pic_width_in_luma_samples, + (uint32_t)picture_info_hevc->pic_height_in_luma_samples, + (uint32_t)picture_info_hevc->bit_depth_luma_minus8, + (uint32_t)picture_info_hevc->bit_depth_chroma_minus8, + (uint32_t)picture_info_hevc->log2_max_pic_order_cnt_lsb_minus4, + (uint32_t)picture_info_hevc->sps_max_dec_pic_buffering_minus1, + (uint32_t)picture_info_hevc->log2_min_luma_coding_block_size_minus3, + (uint32_t)picture_info_hevc->log2_diff_max_min_luma_coding_block_size, + (uint32_t)picture_info_hevc->log2_min_transform_block_size_minus2, + (uint32_t)picture_info_hevc->log2_diff_max_min_transform_block_size, + (uint32_t)picture_info_hevc->max_transform_hierarchy_depth_inter, + (uint32_t)picture_info_hevc->max_transform_hierarchy_depth_intra, + (uint32_t)picture_info_hevc->scaling_list_enabled_flag + ); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList4x4); ++i) { + fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp); + for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList4x4[0]); ++j) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (j == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->ScalingList4x4[i][j] + ); + } + } + fputs("}}, {", _vdp_cap_data.fp); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList8x8); ++i) { + fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp); + for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList8x8[0]); ++j) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (j == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->ScalingList8x8[i][j] + ); + } + } + fputs("}}, {", _vdp_cap_data.fp); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList16x16); ++i) { + fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp); + for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList16x16[0]); ++j) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (j == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->ScalingList16x16[i][j] + ); + } + } + fputs("}}, {", _vdp_cap_data.fp); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList32x32); ++i) { + fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp); + for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList32x32[0]); ++j) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (j == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->ScalingList32x32[i][j] + ); + } + } + fputs("}}, {", _vdp_cap_data.fp); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingListDCCoeff16x16); ++i) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (i == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->ScalingListDCCoeff16x16[i] + ); + } + fputs("}, {", _vdp_cap_data.fp); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingListDCCoeff32x32); ++i) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (i == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->ScalingListDCCoeff32x32[i] + ); + } + fputs("}, ", _vdp_cap_data.fp); + fprintf( + _vdp_cap_data.fp, + "%u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %d, %u, %u, %u, %u, %d, %d, %u, %u, %u, %u, %u, %u, %u, %u, %u, {", + (uint32_t)picture_info_hevc->amp_enabled_flag, + (uint32_t)picture_info_hevc->sample_adaptive_offset_enabled_flag, + (uint32_t)picture_info_hevc->pcm_enabled_flag, + (uint32_t)picture_info_hevc->pcm_sample_bit_depth_luma_minus1, + (uint32_t)picture_info_hevc->pcm_sample_bit_depth_chroma_minus1, + (uint32_t)picture_info_hevc->log2_min_pcm_luma_coding_block_size_minus3, + (uint32_t)picture_info_hevc->log2_diff_max_min_pcm_luma_coding_block_size, + (uint32_t)picture_info_hevc->pcm_loop_filter_disabled_flag, + (uint32_t)picture_info_hevc->num_short_term_ref_pic_sets, + (uint32_t)picture_info_hevc->long_term_ref_pics_present_flag, + (uint32_t)picture_info_hevc->num_long_term_ref_pics_sps, + (uint32_t)picture_info_hevc->sps_temporal_mvp_enabled_flag, + (uint32_t)picture_info_hevc->strong_intra_smoothing_enabled_flag, + (uint32_t)picture_info_hevc->dependent_slice_segments_enabled_flag, + (uint32_t)picture_info_hevc->output_flag_present_flag, + (uint32_t)picture_info_hevc->num_extra_slice_header_bits, + (uint32_t)picture_info_hevc->sign_data_hiding_enabled_flag, + (uint32_t)picture_info_hevc->cabac_init_present_flag, + (uint32_t)picture_info_hevc->num_ref_idx_l0_default_active_minus1, + (uint32_t)picture_info_hevc->num_ref_idx_l1_default_active_minus1, + (int32_t)picture_info_hevc->init_qp_minus26, + (uint32_t)picture_info_hevc->constrained_intra_pred_flag, + (uint32_t)picture_info_hevc->transform_skip_enabled_flag, + (uint32_t)picture_info_hevc->cu_qp_delta_enabled_flag, + (uint32_t)picture_info_hevc->diff_cu_qp_delta_depth, + (int32_t)picture_info_hevc->pps_cb_qp_offset, + (int32_t)picture_info_hevc->pps_cr_qp_offset, + (uint32_t)picture_info_hevc->pps_slice_chroma_qp_offsets_present_flag, + (uint32_t)picture_info_hevc->weighted_pred_flag, + (uint32_t)picture_info_hevc->weighted_bipred_flag, + (uint32_t)picture_info_hevc->transquant_bypass_enabled_flag, + (uint32_t)picture_info_hevc->tiles_enabled_flag, + (uint32_t)picture_info_hevc->entropy_coding_sync_enabled_flag, + (uint32_t)picture_info_hevc->num_tile_columns_minus1, + (uint32_t)picture_info_hevc->num_tile_rows_minus1, + (uint32_t)picture_info_hevc->uniform_spacing_flag + ); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->column_width_minus1); ++i) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (i == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->column_width_minus1[i] + ); + } + fputs("}, {", _vdp_cap_data.fp); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->row_height_minus1); ++i) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (i == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->row_height_minus1[i] + ); + } + fputs("}, ", _vdp_cap_data.fp); + fprintf( + _vdp_cap_data.fp, + "%u, %u, %u, %u, %u, %d, %d, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %d, {", + (uint32_t)picture_info_hevc->loop_filter_across_tiles_enabled_flag, + (uint32_t)picture_info_hevc->pps_loop_filter_across_slices_enabled_flag, + (uint32_t)picture_info_hevc->deblocking_filter_control_present_flag, + (uint32_t)picture_info_hevc->deblocking_filter_override_enabled_flag, + (uint32_t)picture_info_hevc->pps_deblocking_filter_disabled_flag, + (int32_t)picture_info_hevc->pps_beta_offset_div2, + (int32_t)picture_info_hevc->pps_tc_offset_div2, + (uint32_t)picture_info_hevc->lists_modification_present_flag, + (uint32_t)picture_info_hevc->log2_parallel_merge_level_minus2, + (uint32_t)picture_info_hevc->slice_segment_header_extension_present_flag, + (uint32_t)picture_info_hevc->IDRPicFlag, + (uint32_t)picture_info_hevc->RAPPicFlag, + (uint32_t)picture_info_hevc->CurrRpsIdx, + (uint32_t)picture_info_hevc->NumPocTotalCurr, + (uint32_t)picture_info_hevc->NumDeltaPocsOfRefRpsIdx, + (uint32_t)picture_info_hevc->NumShortTermPictureSliceHeaderBits, + (uint32_t)picture_info_hevc->NumLongTermPictureSliceHeaderBits, + (int32_t)picture_info_hevc->CurrPicOrderCntVal + ); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->RefPics); ++i) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (i == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->RefPics[i] + ); + } + fputs("}, {", _vdp_cap_data.fp); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->PicOrderCntVal); ++i) { + fprintf( + _vdp_cap_data.fp, + "%s%d", + (i == 0) ? "" : ", ", + (int32_t)picture_info_hevc->PicOrderCntVal[i] + ); + } + fputs("}, {", _vdp_cap_data.fp); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->IsLongTerm); ++i) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (i == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->IsLongTerm[i] + ); + } + fputs("}, ", _vdp_cap_data.fp); + fprintf( + _vdp_cap_data.fp, + "%u, %u, %u, {", + (uint32_t)picture_info_hevc->NumPocStCurrBefore, + (uint32_t)picture_info_hevc->NumPocStCurrAfter, + (uint32_t)picture_info_hevc->NumPocLtCurr + ); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->RefPicSetStCurrBefore); ++i) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (i == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->RefPicSetStCurrBefore[i] + ); + } + fputs("}, {", _vdp_cap_data.fp); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->RefPicSetStCurrAfter); ++i) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (i == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->RefPicSetStCurrAfter[i] + ); + } + fputs("}, {", _vdp_cap_data.fp); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->RefPicSetLtCurr); ++i) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (i == 0) ? "" : ", ", + (uint32_t)picture_info_hevc->RefPicSetLtCurr[i] + ); + } + fputs("}}", _vdp_cap_data.fp); + } + break; case VDP_DECODER_PROFILE_HEVC_MAIN_12: case VDP_DECODER_PROFILE_HEVC_MAIN_444: + case VDP_DECODER_PROFILE_HEVC_MAIN_444_10: + case VDP_DECODER_PROFILE_HEVC_MAIN_444_12: { VdpPictureInfoHEVC const * picture_info_hevc = (VdpPictureInfoHEVC const *)picture_info; + VdpPictureInfoHEVCRangeExt const * picture_info_hevc_rxt = + (VdpPictureInfoHEVCRangeExt const *)picture_info; + fprintf( _vdp_cap_data.fp, - "{%u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, {", + "{{%u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, {", (uint32_t)picture_info_hevc->chroma_format_idc, (uint32_t)picture_info_hevc->separate_colour_plane_flag, (uint32_t)picture_info_hevc->pic_width_in_luma_samples, @@ -720,6 +957,48 @@ static void _vdp_cap_dump_picture_info( ); } fputs("}}", _vdp_cap_data.fp); + fprintf( + _vdp_cap_data.fp, + "%u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, {", + (uint32_t)picture_info_hevc_rxt->sps_range_extension_flag, + (uint32_t)picture_info_hevc_rxt->transformSkipRotationEnableFlag, + (uint32_t)picture_info_hevc_rxt->transformSkipContextEnableFlag, + (uint32_t)picture_info_hevc_rxt->implicitRdpcmEnableFlag, + (uint32_t)picture_info_hevc_rxt->explicitRdpcmEnableFlag, + (uint32_t)picture_info_hevc_rxt->extendedPrecisionProcessingFlag, + (uint32_t)picture_info_hevc_rxt->intraSmoothingDisabledFlag, + (uint32_t)picture_info_hevc_rxt->highPrecisionOffsetsEnableFlag, + (uint32_t)picture_info_hevc_rxt->persistentRiceAdaptationEnableFlag, + (uint32_t)picture_info_hevc_rxt->cabacBypassAlignmentEnableFlag, + (uint32_t)picture_info_hevc_rxt->intraBlockCopyEnableFlag, + (uint32_t)picture_info_hevc_rxt->pps_range_extension_flag, + (uint32_t)picture_info_hevc_rxt->log2MaxTransformSkipSize, + (uint32_t)picture_info_hevc_rxt->crossComponentPredictionEnableFlag, + (uint32_t)picture_info_hevc_rxt->chromaQpAdjustmentEnableFlag, + (uint32_t)picture_info_hevc_rxt->diffCuChromaQpAdjustmentDepth, + (uint32_t)picture_info_hevc_rxt->chromaQpAdjustmentTableSize, + (uint32_t)picture_info_hevc_rxt->log2SaoOffsetScaleLuma, + (uint32_t)picture_info_hevc_rxt->log2SaoOffsetScaleChroma + ); + fputs("}, {", _vdp_cap_data.fp); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc_rxt->cb_qp_adjustment); ++i) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (i == 0) ? "" : ", ", + (uint32_t)picture_info_hevc_rxt->cb_qp_adjustment[i] + ); + } + fputs("}, {", _vdp_cap_data.fp); + for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc_rxt->cr_qp_adjustment); ++i) { + fprintf( + _vdp_cap_data.fp, + "%s%u", + (i == 0) ? "" : ", ", + (uint32_t)picture_info_hevc_rxt->cr_qp_adjustment[i] + ); + } + fputs("}}", _vdp_cap_data.fp); } break; case VDP_DECODER_PROFILE_VP9_PROFILE_0: |