5-1
Appendix A
Debug Trace Support
This appendix explains the Debug Trace support details on encoder. This is to help the application
to get the trace data generated by Encoder from external memory
A.1
Debug Trace design in Encoder
Encoder has “
debugTraceLevel
” interface to select the debug trace level. When
“
debugTraceLevel
” is set to zero then Encoder will not generate any trace data. Otherwise, it will
generate the trace data in external
memory. Encoder has support to log last N frame’s debug trace
data which is controlled by “
lastNFramesToLog
” interface parameter.
If the encoder is requested to generate debug trace data then encoder will request for external
memory to store these trace da
ta. The size of this memory depends on the “lastNFramesToLog”
parameter. Size of the memory can be calculated as below
Total size (X) = (
lastNFramesToLog)*
(SPS_PPS_HEADE Max MBs in frame *
MB_HEADER_SIZE).
Where “SPS_PPS_HEADER_SIZE” is size of SPS PPS data in debug buffer i.e 200 bytes.
“MB_HEADER_SIZE” is Macroblock debug data buffer size i.e. 400 bytes.
Three levels are present in the Debug trace support. Details of each level is explained below
Level 1:
All application input parameters are logged into debug trace buffer
Level 2:
All frame level parameters (SPS, PPS) are logged into debug trace buffer along with Level
1 parameters
Level 3:
All Macroblock level parameters are logged into debug trace buffer along with Level 1 and
Level 2 parameters.
A.2
Steps to utilize debug trace support in H264 High Profile encoder
1)
Encoder need to build with the Macro “
DEBUG_TRACE
” enabled in the
project options.
2)
While creating codec instance specify “
debugTraceLevel
” and
number of frames to log “
lastNFramesToLog
”. Based on this
parameters codec will ask for shared DDR memory.
3)
While encoding to get trace information, call contol API with
GET_STATUS command.
4)
Codec updates “
extMemoryDebugTraceAddr
” and
“
extMemoryDebugTraceSize
” extended parameters in status
strcture.