v2 - reduce the min buffers count There is a timestamp manager in firmware, so in previous, driver will pass the timestamp to firmware, and when a frame is decoded or encoded, firmware will pass the timestamp to driver, then driver set the timestamp to the capture vb2_buffer. But there is problem that the timestamp manager will ensure that the timestamps are monotonically increasing. So if there are reorder frames, the capture buffer's timestamp is inconsistent with the timestamp of the corresponding output buffer. It goes against the description of V4L2_BUF_FLAG_TIMESTAMP_COPY in the specification In order to comply with the specification, driver should copy timestamp from output buffer to capture buffer, and there is an helper function v4l2_m2m_buf_copy_metadata to handle it. Ming Qian (2): media: amphion: decoder copy timestamp from output to capture media: amphion: encoder copy timestamp from output to capture drivers/media/platform/amphion/vdec.c | 89 ++++++++++------------- drivers/media/platform/amphion/venc.c | 47 ++++-------- drivers/media/platform/amphion/vpu_v4l2.c | 13 ++++ drivers/media/platform/amphion/vpu_v4l2.h | 1 + 4 files changed, 70 insertions(+), 80 deletions(-) -- 2.35.1