-rw-r--r-- | drivers/frame_provider/decoder/h264_multi/vmh264.c | 226 | ||||
-rw-r--r-- | drivers/frame_provider/decoder/h265/vh265.c | 7 | ||||
-rw-r--r-- | drivers/frame_provider/decoder/vp9/vvp9.c | 4 |
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); |