Queues can only store up to VB2_MAX_FRAME (32) vb2 buffers. Some use cases like VP9 dynamic resolution change may require to have more than 32 buffers in use at the same time. The goal of this series is to prepare queues for these use cases by replacing bufs array by a list a vb2 buffers. For the same VP9 use case we will need to be able to delete buffers from the queue to limit memory usage so this series add a bitmap to manage buffer indexes. This should permit to avoid creating holes in vb2 index range. I test these patches with Fluster test suite on Hantro video decoder (VP9 and HEVC). I notice no performances issues and no regressions. Despite carefully checking if removing bufs array doesn't break the compilation of any media driver, I may have miss some so one of the goal of this RFC is also to trig compilation robots. Benjamin Gaignard (4): media: videobuf2: Use vb2_get_buffer() as helper everywhere media: videobuf2: Replace bufs array by a list media: videobuf2: Use bitmap to manage vb2 index media: videobuf2: Stop define VB2_MAX_FRAME as global .../media/common/videobuf2/videobuf2-core.c | 107 +++++++++++------- .../media/common/videobuf2/videobuf2-v4l2.c | 17 +-- drivers/media/platform/amphion/vdec.c | 1 + drivers/media/platform/amphion/vpu_dbg.c | 4 +- .../platform/mediatek/jpeg/mtk_jpeg_core.c | 2 +- .../vcodec/vdec/vdec_vp9_req_lat_if.c | 4 +- drivers/media/platform/qcom/venus/hfi.h | 2 + .../media/platform/verisilicon/hantro_hw.h | 2 + drivers/media/test-drivers/visl/visl-dec.c | 16 +-- include/media/videobuf2-core.h | 42 ++++++- include/media/videobuf2-v4l2.h | 4 - 11 files changed, 130 insertions(+), 71 deletions(-) -- 2.34.1