In the channel.c driver , we’re using the tegra_channel_buffer_prepare()
function to manage buffers and track the framecount
variable. I believe this function is invoked when a buffer is being enqueued. Can anyone confirm if tegra_channel_buffer_prepare()
is specifically triggered during the enqueue process, and if it’s the correct place to capture and track the current frame count?
hello abraham.s,
tegra_channel_buffer_prepare()
it means this buffer has been prepared.
may I know what’s the real use-case? you may tracking the vbuf->sequence
as following.
note, vb2_buffer_done
is the function call for sending a frame to user-space.
for instance, $public_sources/kernel_src/kernel/nvidia/drivers/media/platform/tegra/camera/vi/vi5_fops.c
static void vi5_release_buffer(...)
{
vbuf->sequence = chan->sequence++;
vb2_buffer_done(&vbuf->vb2_buf, buf->vb2_state);
I want to obtain the frame id from the embedded metadata and that to from enqueue buffer. Is it possible to obtain that value during the enqueuing process