summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--drivers/frame_provider/decoder/h264_multi/vmh264.c226
-rw-r--r--drivers/frame_provider/decoder/h265/vh265.c7
-rw-r--r--drivers/frame_provider/decoder/vp9/vvp9.c4
3 files changed, 155 insertions, 82 deletions
diff --git a/drivers/frame_provider/decoder/vp9/vvp9.c b/drivers/frame_provider/decoder/vp9/vvp9.c
index d227e15..a24a596 100644
--- a/drivers/frame_provider/decoder/vp9/vvp9.c
+++ b/drivers/frame_provider/decoder/vp9/vvp9.c
@@ -2174,14 +2174,14 @@ static int v4l_get_free_fb(struct VP9Decoder_s *pbi)
struct VP9_Common_s *const cm = &pbi->common;
struct RefCntBuffer_s *const frame_bufs = cm->buffer_pool->frame_bufs;
struct aml_vcodec_ctx * v4l = pbi->v4l2_ctx;
+ struct v4l_buff_pool *pool = &v4l->cap_pool;
struct PIC_BUFFER_CONFIG_s *pic = NULL;
int i, idx = INVALID_IDX;
ulong flags;
lock_buffer_pool(cm->buffer_pool, flags);
- for (i = 0; i < pbi->used_buf_num; ++i) {
- struct v4l_buff_pool *pool = &v4l->cap_pool;
+ for (i = 0; i < pool->in; ++i) {
u32 state = (pool->seq[i] >> 16);
u32 index = (pool->seq[i] & 0xffff);