[mpp_dec]: increase fbc ver_stride

Change-Id: Id56ee95567ea869624f783602e0a9e10ec5dc367
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
Herman Chen
2022-03-31 19:42:18 +08:00
parent 14f3ef4a7c
commit c2f3236d3b
3 changed files with 9 additions and 2 deletions

View File

@@ -612,6 +612,7 @@ static MPP_RET get_current_frame(Av1CodecContext *ctx)
mpp_frame_set_fmt(frame->f, ctx->pix_fmt | ((s->cfg->base.out_fmt & (MPP_FRAME_FBC_MASK))));
mpp_frame_set_offset_x(frame->f, 0);
mpp_frame_set_offset_y(frame->f, 8);
mpp_frame_set_ver_stride(frame->f, MPP_ALIGN(ctx->height, 8) + 16);
} else
mpp_frame_set_fmt(frame->f, ctx->pix_fmt);

View File

@@ -438,8 +438,6 @@ static MPP_RET dpb_mark_malloc(H264dVideoCtx_t *p_Vid, H264_StorePic_t *dec_pic)
*/
if (p_Vid->frame_mbs_only_flag || p_Vid->bit_depth_luma == 10) {
mpp_slots_set_prop(p_Dec->frame_slots, SLOTS_HOR_ALIGN, hor_align_64);
impl->offset_x = 0;
impl->offset_y = 4;
fmt |= (out_fmt & MPP_FRAME_FBC_MASK);
}
p_Dec->cfg->base.out_fmt = fmt;
@@ -451,6 +449,13 @@ static MPP_RET dpb_mark_malloc(H264dVideoCtx_t *p_Vid, H264_StorePic_t *dec_pic)
/* Before cropping */
impl->hor_stride = hor_stride;
impl->ver_stride = ver_stride;
if (MPP_FRAME_FMT_IS_FBC(out_fmt)) {
impl->offset_x = 0;
impl->offset_y = 4;
impl->ver_stride += 16;
}
/* After cropped */
impl->width = p_Vid->width_after_crop;
impl->height = p_Vid->height_after_crop;

View File

@@ -98,6 +98,7 @@ static HEVCFrame *alloc_frame(HEVCContext *s)
mpp_slots_set_prop(s->slots, SLOTS_HOR_ALIGN, hor_align_64);
mpp_frame_set_offset_x(frame->frame, 0);
mpp_frame_set_offset_y(frame->frame, 4);
mpp_frame_set_ver_stride(frame->frame, s->h265dctx->coded_height + 16);
}
mpp_frame_set_errinfo(frame->frame, 0);