mirror of
https://github.com/nyanmisaka/mpp.git
synced 2026-01-24 01:20:40 +01:00
fix[mpp_sys_cfg]: Fix stride issue on resolution change
Platform: General Spec: vp8/vp9/mpeg2 Error case: Stride information persists incorrectly across resolution changes, leading to errors. Solution: When the stride is not set externally, it needs to be set to 0 to avoid the stride not being updated in time when the resolution of the same source changes. For example, the source: VP9_crowd_run_2048X1088_60fps_bd8_frm_resize_l41.webm contains two resolutions: 2048x1088 and 1365x725 Source: VP9_crowd_run_2048X1088_60fps_bd8_frm_resize_l41.webm Reported-by: redmine #552464 Change-Id: I0e8f7c77736dbba31ccd98e559e3d7eeac240d97 Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
This commit is contained in:
parent
6fc495af49
commit
3507338fa6
3 changed files with 6 additions and 0 deletions
|
|
@ -1283,6 +1283,8 @@ static MPP_RET m2vd_alloc_frame(M2VDParserContext *ctx)
|
|||
|
||||
mpp_frame_set_width(ctx->frame_cur->f, ctx->display_width);
|
||||
mpp_frame_set_height(ctx->frame_cur->f, ctx->display_height);
|
||||
mpp_frame_set_hor_stride(ctx->frame_cur->f, 0);
|
||||
mpp_frame_set_ver_stride(ctx->frame_cur->f, 0);
|
||||
mpp_frame_set_errinfo(ctx->frame_cur->f, 0);
|
||||
mpp_frame_set_pts(ctx->frame_cur->f, frm_pts);
|
||||
ctx->frame_cur->flags = M2V_OUT_FLAG;
|
||||
|
|
|
|||
|
|
@ -626,6 +626,8 @@ static MPP_RET vp8d_alloc_frame(VP8DParserContext_t *p)
|
|||
if (p->frame_out->slot_index == 0xff) {
|
||||
mpp_frame_set_width(p->frame_out->f, p->width);
|
||||
mpp_frame_set_height(p->frame_out->f, p->height);
|
||||
mpp_frame_set_hor_stride(p->frame_out->f, 0);
|
||||
mpp_frame_set_ver_stride(p->frame_out->f, 0);
|
||||
mpp_frame_set_errinfo(p->frame_out->f, 0);
|
||||
mpp_frame_set_pts(p->frame_out->f, p->pts);
|
||||
ret = mpp_buf_slot_get_unused(p->frame_slots,
|
||||
|
|
|
|||
|
|
@ -387,6 +387,8 @@ static RK_S32 vp9_alloc_frame(Vp9CodecContext *ctx, VP9Frame *frame)
|
|||
mpp_frame_set_width(frame->f, ctx->width);
|
||||
mpp_frame_set_height(frame->f, ctx->height);
|
||||
|
||||
mpp_frame_set_hor_stride(frame->f, 0);
|
||||
mpp_frame_set_ver_stride(frame->f, 0);
|
||||
mpp_frame_set_errinfo(frame->f, 0);
|
||||
mpp_frame_set_discard(frame->f, 0);
|
||||
mpp_frame_set_pts(frame->f, s->pts);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue