chroma_addr = luma_addr + chroma_offset(ctx, dec_params);
        hantro_write_addr(ctx->dev, G2_OUT_CHROMA_ADDR, chroma_addr);
+       dst->vp9.chroma_offset = chroma_offset(ctx, dec_params);
 
        mv_addr = luma_addr + mv_offset(ctx, dec_params);
        hantro_write_addr(ctx->dev, G2_OUT_MV_ADDR, mv_addr);
+       dst->vp9.mv_offset = mv_offset(ctx, dec_params);
 }
 
 struct hantro_vp9_ref_reg {
        luma_addr = hantro_get_dec_buf_addr(ctx, &buf->base.vb.vb2_buf);
        hantro_write_addr(ctx->dev, ref_reg->y_base, luma_addr);
 
-       chroma_addr = luma_addr + chroma_offset(ctx, dec_params);
+       chroma_addr = luma_addr + buf->vp9.chroma_offset;
        hantro_write_addr(ctx->dev, ref_reg->c_base, chroma_addr);
 }
 
        config_ref(ctx, dst, &ref_regs[2], dec_params, dec_params->alt_frame_ts);
 
        mv_addr = hantro_get_dec_buf_addr(ctx, &mv_ref->base.vb.vb2_buf) +
-                 mv_offset(ctx, dec_params);
+                 mv_ref->vp9.mv_offset;
        hantro_write_addr(ctx->dev, G2_REF_MV_ADDR(0), mv_addr);
 
        hantro_reg_write(ctx->dev, &vp9_last_sign_bias,