mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-05 17:16:50 +08:00
[MppBuffer]: Fix block error on Linux
When decoding in internal buffer mode and source is field mode the decoder need 3 buffer to continue decoding. But mpp_buffer_group_unused function only return 1 by default. This patch return correct value considering the buffer limit count and buffer group mode. Change-Id: I4331ca026708037f1d9bace090299315d41f4829 Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
@@ -297,7 +297,17 @@ RK_S32 mpp_buffer_group_unused(MppBufferGroup group)
|
||||
}
|
||||
|
||||
MppBufferGroupImpl *p = (MppBufferGroupImpl *)group;
|
||||
return (p->mode == MPP_BUFFER_INTERNAL ? 1 : p->count_unused);
|
||||
RK_S32 unused = 0;
|
||||
|
||||
if (p->mode == MPP_BUFFER_INTERNAL) {
|
||||
if (p->limit_count)
|
||||
unused = p->limit_count - p->count_used;
|
||||
else
|
||||
unused = 3; /* NOTE: 3 for 1 decoding 2 deinterlace buffer */
|
||||
} else
|
||||
unused = p->count_unused;
|
||||
|
||||
return unused;
|
||||
}
|
||||
|
||||
MppBufferMode mpp_buffer_group_mode(MppBufferGroup group)
|
||||
|
Reference in New Issue
Block a user