mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-11-02 05:24:15 +08:00
[vp9d]: fix case when split error
tips: when split error, and consumed lager than input length, it will be wrong. Change-Id: I43ca99f55cb379b93ff08028ed368ce21e6b3611 Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
This commit is contained in:
@@ -172,11 +172,12 @@ MPP_RET vp9d_prepare(void *ctx, MppPacket pkt, HalDecTask *task)
|
|||||||
length = (RK_S32)mpp_packet_get_length(pkt);
|
length = (RK_S32)mpp_packet_get_length(pkt);
|
||||||
|
|
||||||
consumed = vp9d_split_frame(ps, &out_data, &out_size, buf, length);
|
consumed = vp9d_split_frame(ps, &out_data, &out_size, buf, length);
|
||||||
pos += consumed;
|
pos += (consumed >= 0) ? consumed : length;
|
||||||
|
|
||||||
mpp_packet_set_pos(pkt, pos);
|
mpp_packet_set_pos(pkt, pos);
|
||||||
vp9d_dbg(VP9D_DBG_STRMIN, "pkt_len=%d, pts=%lld\n", length, pts);
|
vp9d_dbg(VP9D_DBG_STRMIN, "pkt_len=%d, pts=%lld\n", length, pts);
|
||||||
vp9d_get_frame_stream(vp9_ctx, out_data, out_size);
|
|
||||||
if (out_size > 0) {
|
if (out_size > 0) {
|
||||||
|
vp9d_get_frame_stream(vp9_ctx, out_data, out_size);
|
||||||
task->input_packet = vp9_ctx->pkt;
|
task->input_packet = vp9_ctx->pkt;
|
||||||
task->valid = 1;
|
task->valid = 1;
|
||||||
mpp_packet_set_pts(vp9_ctx->pkt, pts);
|
mpp_packet_set_pts(vp9_ctx->pkt, pts);
|
||||||
|
|||||||
Reference in New Issue
Block a user