summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManojGuptaBonda <mbonda@nvidia.com>2020-07-22 15:41:08 +0530
committerManojGuptaBonda <mbonda@nvidia.com>2020-07-29 11:56:54 +0530
commitc5a8e7c6c8b4b36a0e4c9a4369404519262a3256 (patch)
tree5ae863f443dd9090974a023ace6ce8f4e48ef0b6
parent1db6650d4290b5c04dd56c17d36c7689322044d5 (diff)
Add tracing for VP9 picture info
-rw-r--r--trace/vdpau_trace.cpp154
1 files changed, 154 insertions, 0 deletions
diff --git a/trace/vdpau_trace.cpp b/trace/vdpau_trace.cpp
index 11e227c..3479e05 100644
--- a/trace/vdpau_trace.cpp
+++ b/trace/vdpau_trace.cpp
@@ -722,6 +722,160 @@ static void _vdp_cap_dump_picture_info(
fputs("}}", _vdp_cap_data.fp);
}
break;
+ case VDP_DECODER_PROFILE_VP9_PROFILE_0:
+ case VDP_DECODER_PROFILE_VP9_PROFILE_1:
+ case VDP_DECODER_PROFILE_VP9_PROFILE_2:
+ case VDP_DECODER_PROFILE_VP9_PROFILE_3:
+ {
+ VdpPictureInfoVP9 const * picture_info_vp9 =
+ (VdpPictureInfoVP9 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 {",
+ (uint32_t)picture_info_vp9->width,
+ (uint32_t)picture_info_vp9->height,
+ picture_info_vp9->lastReference,
+ picture_info_vp9->goldenReference,
+ picture_info_vp9->altReference,
+ (uint32_t)picture_info_vp9->colorSpace,
+ (uint32_t)picture_info_vp9->profile,
+ (uint32_t)picture_info_vp9->frameContextIdx,
+ (uint32_t)picture_info_vp9->keyFrame,
+ (uint32_t)picture_info_vp9->showFrame,
+ (uint32_t)picture_info_vp9->errorResilient,
+ (uint32_t)picture_info_vp9->frameParallelDecoding,
+ (uint32_t)picture_info_vp9->subSamplingX,
+ (uint32_t)picture_info_vp9->subSamplingY,
+ (uint32_t)picture_info_vp9->intraOnly,
+ (uint32_t)picture_info_vp9->allowHighPrecisionMv,
+ (uint32_t)picture_info_vp9->refreshEntropyProbs
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_vp9->refFrameSignBias); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_vp9->refFrameSignBias[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, {",
+ (uint32_t)picture_info_vp9->bitDepthMinus8Luma,
+ (uint32_t)picture_info_vp9->bitDepthMinus8Chroma,
+ (uint32_t)picture_info_vp9->loopFilterLevel,
+ (uint32_t)picture_info_vp9->loopFilterSharpness,
+ (uint32_t)picture_info_vp9->modeRefLfEnabled,
+ (uint32_t)picture_info_vp9->log2TileColumns,
+ (uint32_t)picture_info_vp9->log2TileRows,
+ (uint32_t)picture_info_vp9->segmentEnabled,
+ (uint32_t)picture_info_vp9->segmentMapUpdate,
+ (uint32_t)picture_info_vp9->segmentMapTemporalUpdate,
+ (uint32_t)picture_info_vp9->segmentFeatureMode
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_vp9->segmentFeatureEnable); ++i) {
+ fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp);
+ for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_vp9->segmentFeatureEnable[0]); ++j) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (j == 0) ? "" : ", ",
+ (uint32_t)picture_info_vp9->segmentFeatureEnable[i][j]
+ );
+ }
+ }
+ fputs("}}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_vp9->segmentFeatureData); ++i) {
+ fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp);
+ for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_vp9->segmentFeatureData[0]); ++j) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (j == 0) ? "" : ", ",
+ (int32_t)picture_info_vp9->segmentFeatureData[i][j]
+ );
+ }
+ }
+ fputs("}}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_vp9->mbSegmentTreeProbs); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_vp9->mbSegmentTreeProbs[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_vp9->segmentPredProbs); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_vp9->segmentPredProbs[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_vp9->reservedSegment16Bits); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_vp9->reservedSegment16Bits[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%d, %d, %d, %d, {",
+ (int32_t)picture_info_vp9->qpYAc,
+ (int32_t)picture_info_vp9->qpYDc,
+ (int32_t)picture_info_vp9->qpChDc,
+ (int32_t)picture_info_vp9->qpChAc
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_vp9->activeRefIdx); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_vp9->activeRefIdx[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, {",
+ (uint32_t)picture_info_vp9->resetFrameContext,
+ (uint32_t)picture_info_vp9->mcompFilterType
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_vp9->mbRefLfDelta); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_vp9->mbRefLfDelta[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_vp9->mbModeLfDelta); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (i == 0) ? "" : ", ",
+ (int32_t)picture_info_vp9->mbModeLfDelta[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, {",
+ (uint32_t)picture_info_vp9->uncompressedHeaderSize,
+ (uint32_t)picture_info_vp9->compressedHeaderSize
+ );
+ fputs("}", _vdp_cap_data.fp);
+ }
+ break;
default:
fputs("{...}", _vdp_cap_data.fp);
break;