multi-decoding issues

Hi there.

I asked about multi-decoding few days ago.
https://devtalk.nvidia.com/default/topic/1069645/jetson-tx2/tx2-encoding-decoding-performance-issue/post/5418902/#5418902.

after I got your answer, I want to know more detail about how it works.(how tasks are divided into eleven).
so I printed out debug message.

and I got

omx gstomx.c:1695:gst_omx_port_allocate_buffers_unlocked:e[00m Allocating 10 buffers of size 1572864 for decode port 0
omx gstomx.c:1744:gst_omx_port_allocate_buffers_unlocked:e[00m decode: allocated buffer 0x7f90023280 (0x7fb0635010)
omx gstomx.c:1744:gst_omx_port_allocate_buffers_unlocked:e[00m decode: allocated buffer 0x55cfb24800 (0x7fb04b4010)
omx gstomx.c:1744:gst_omx_port_allocate_buffers_unlocked:e[00m decode: allocated buffer 0x55cfb24780 (0x7fb0333010)
omx gstomx.c:1744:gst_omx_port_allocate_buffers_unlocked:e[00m decode: allocated buffer 0x55cfb24840 (0x7fb01b2010)
omx gstomx.c:1744:gst_omx_port_allocate_buffers_unlocked:e[00m decode: allocated buffer 0x7f90023240 (0x7fb0031010)
omx gstomx.c:1744:gst_omx_port_allocate_buffers_unlocked:e[00m decode: allocated buffer 0x7f90023200 (0x7f98e79010)
omx gstomx.c:1744:gst_omx_port_allocate_buffers_unlocked:e[00m decode: allocated buffer 0x7f900231c0 (0x7f98cf8010)
omx gstomx.c:1744:gst_omx_port_allocate_buffers_unlocked:e[00m decode: allocated buffer 0x7f90023180 (0x7f98b77010)
omx gstomx.c:1744:gst_omx_port_allocate_buffers_unlocked:e[00m decode: allocated buffer 0x7f90023940 (0x7f989f6010)
omx gstomx.c:1744:gst_omx_port_allocate_buffers_unlocked:e[00m decode: allocated buffer 0x7f90023980 (0x7f98875010)

I thought there are 11 buffers would be made,

Because you answered “1024x768 (x 11) means eleven 1024x768 buffers are created for decoding task.” last time

but there are only 10 buffers in the debug message.

My question is "Are the two buffers different?? "

then where can I find eleven 1024x768 buffers for decoding tasks??

Thank you.

Hi,
There is one extra buffer in low-level for corner case conditions. Since it is implementation in low-level and not open for public, my apology that I am not able to give more detail.

Thank you for the reply.

But there are still questions.

NvMMLiteOpen : Block : BlockType = 278
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 278
<b>Allocating new output: 1024x768 (x 11)</b>, ThumbnailMode = 0
OPENMAX: HandleNewStreamFormat: 3605: Send OMX_EventPortSettingsChanged: nFrameWidth = 1024, nFrameHeight = 768

In the above message that appears when you run the omx decoder,
the " Allocating new output: 1024x768 (x 11), ThumbnailMode = 0" part appears as x11 in the vp8 decoder,
and the
“omx gstomx.c:1695:gst_omx_port_allocate_buffers_unlocked: [00m Allocating 10 buffers of size 1572864 for decode port 0” debug message I asked in this forum is that 10 buffers are allocated, so there is one difference in the number of buffers.

However, when using the vp9 decoder,
“Allocating new output: 1024x768 (x 16), ThumbnailMode = 0” is displayed as x16,
and the number of buffers allocated in the debug message is 10 buffers.
In vp9, the difference in number is 6, is this difference still equal to the extra buffer you told me?

Hi,
Yes, for different video codec, the required buffer number is also different.