Hi,
I want to test the max channels that H.264 encoder could support on DM8168. I use fileread->encode->filewrite data flow. I met some strange situation. When the channels are beyond 13, the encoder channels could be created successfully. But the last a few channels(channel number larger than 13) do not process any data. The following is the console output messages.
[m3video] 113889: HDVICP-ID:0
[m3video] All percentage figures are based off totalElapsedTime
[m3video] totalAcquire2wait :1 %
[m3video] totalWait2Isr :21 %
[m3video] totalIsr2Done :0 %
[m3video] totalWait2Done :21 %
[m3video] totalDone2Release :0 %
[m3video] totalAcquire2Release :23 %
[m3video] totalAcq2acqDelay :76 %
[m3video] totalElapsedTime in msec : 10166
[m3video] numAccessCnt: 950
[m3video] IVA-FPS : 95
[m3video] Average time spent per frame in microsec: 2247
[m3video] 113889: HDVICP-ID:1
[m3video] All percentage figures are based off totalElapsedTime
[m3video] totalAcquire2wait :1 %
[m3video] totalWait2Isr :21 %
[m3video] totalIsr2Done :0 %
[m3video] totalWait2Done :21 %
[m3video] totalDone2Release :0 %
[m3video] totalAcquire2Release :24 %
[m3video] totalAcq2acqDelay :75 %
[m3video] totalElapsedTime in msec : 10165
[m3video] numAccessCnt: 950
[m3video] IVA-FPS : 95
[m3video] Average time spent per frame in microsec: 2247
[m3video] 113890: HDVICP-ID:2
[m3video] All percentage figures are based off totalElapsedTime
[m3video] totalAcquire2wait :0 %
[m3video] totalWait2Isr :17 %
[m3video] totalIsr2Done :0 %
[m3video] totalWait2Done :17 %
[m3video] totalDone2Release :0 %
[m3video] totalAcquire2Release :20 %
[m3video] totalAcq2acqDelay :79 %
[m3video] totalElapsedTime in msec : 10163
[m3video] numAccessCnt: 760
[m3video] IVA-FPS : 76
[m3video] Average time spent per frame in microsec: 2273
[m3video]
[m3video] *** ENCODE Statistics ***
[m3video]
[m3video] Elasped Time : 9 secs
[m3video]
[m3video]
[m3video] CH | In Recv In Skip In User Out Latency
[m3video] Num | FPS FPS Skip FPS FPS Min / Max
[m3video] --------------------------------------------
[m3video] 0 | 20 0 0 20 4 / 5
[m3video] 1 | 20 0 0 20 4 / 5
[m3video] 2 | 20 0 0 20 4 / 5
[m3video] 3 | 20 0 0 20 12 / 13
[m3video] 4 | 20 0 0 20 12 / 14
[m3video] 5 | 20 0 0 20 11 / 12
[m3video] 6 | 20 0 0 20 12 / 13
[m3video] 7 | 20 0 0 20 12 / 14
[m3video] 8 | 20 0 0 20 11 / 12
[m3video] 9 | 20 0 0 20 12 / 13
[m3video] 10 | 20 0 0 20 12 / 14
[m3video] 11 | 20 0 0 20 11 / 12
[m3video] 12 | 20 0 0 20 12 / 13
[m3video] 13 | 20 0 0 20 12 / 14
[m3video] 14 | 0 0 0 0 255 / 0
[m3video] 15 | 0 0 0 0 255 / 0
[m3video]
[m3video] Multi Channel Encode Average Submit Batch Size
[m3video] Max Submit Batch Size : 24
[m3video] IVAHD_0 Average Batch Size : 2
[m3video] IVAHD_0 Max achieved Batch Size : 4
[m3video] IVAHD_1 Average Batch Size : 2
[m3video] IVAHD_1 Max achieved Batch Size : 4
[m3video] IVAHD_2 Average Batch Size : 2
[m3video] IVAHD_2 Max achieved Batch Size : 3
[m3video]
[m3video] Multi Channel Encode Batch break Stats
[m3video] Total Number of Batches created: 372
[m3video] All numbers are based off total number of Batches created
[m3video] Batch breaks due to batch sizeexceeding limit: 0 %
[m3video] Batch breaks due to ReqObj Que being empty: 100 %
[m3video] Batch breaks due to changed resolution class: 0 %
[m3video] Batch breaks due to interlace and progressivecontent mix: 0 %
[m3video] Batch breaks due to channel repeat: 0 %
[m3video] Batch breaks due to different codec: 0 %
[m3video] Total Number of Batches created: 372
[m3video] All numbers are based off total number of Batches created
[m3video] Batch breaks due to batch sizeexceeding limit: 0 %
[m3video] Batch breaks due to ReqObj Que being empty: 100 %
[m3video] Batch breaks due to changed resolution class: 0 %
[m3video] Batch breaks due to interlace and progressivecontent mix: 0 %
[m3video] Batch breaks due to channel repeat: 0 %
[m3video] Batch breaks due to different codec: 0 %
[m3video] Total Number of Batches created: 372
[m3video] All numbers are based off total number of Batches created
[m3video] Batch breaks due to batch sizeexceeding limit: 0 %
[m3video] Batch breaks due to ReqObj Que being empty: 100 %
[m3video] Batch breaks due to changed resolution class: 0 %
[m3video] Batch breaks due to interlace and progressivecontent mix: 0 %
[m3video] Batch breaks due to channel repeat: 0 %
[m3video] Batch breaks due to different codec: 0 %
I don't know why. In my codes, I read yuv data from input file and use DMA to copy the data to other input buffers of the encoder. The codes are attached in the end.
Could someone know the reason? Thanks in advance! Appreciate for your reply!