t_jit_err jit_gl_videoplane_recalc(t_jit_gl_videoplane *x) { if (x->chunk&&x->chunk->m_vertex) { calc_plane(x); } return JIT_ERR_NONE; }
void hevc_dec_calc_dpb_size(struct hevc_ctx *ctx) { struct hevc_dev *dev; struct hevc_dec *dec; struct hevc_raw_info *raw; int i; if (!ctx) { hevc_err("no hevc context to run\n"); return; } dev = ctx->dev; raw = &ctx->raw_buf; dec = ctx->dec_priv; ctx->buf_width = ALIGN(ctx->img_width, 16); ctx->buf_height = ALIGN(ctx->img_height, 16); hevc_info("SEQ Done: Movie dimensions %dx%d, " "buffer dimensions: %dx%d\n", ctx->img_width, ctx->img_height, ctx->buf_width, ctx->buf_height); switch (ctx->dst_fmt->fourcc) { case V4L2_PIX_FMT_NV12M: case V4L2_PIX_FMT_NV21M: raw->plane_size[0] = ctx->buf_width*ctx->img_height; raw->plane_size[1] = ctx->buf_width*(ctx->img_height >> 1); raw->plane_size[2] = 0; break; case V4L2_PIX_FMT_YUV420M: case V4L2_PIX_FMT_YVU420M: raw->plane_size[0] = calc_plane(ctx->img_width, ctx->img_height, 0); raw->plane_size[1] = calc_plane(ctx->img_width >> 1, ctx->img_height >> 1, 0); raw->plane_size[2] = calc_plane(ctx->img_width >> 1, ctx->img_height >> 1, 0); break; default: raw->plane_size[0] = 0; raw->plane_size[1] = 0; raw->plane_size[2] = 0; hevc_err("Invalid pixelformat : %s\n", ctx->dst_fmt->name); break; } set_linear_stride_size(ctx, ctx->dst_fmt); for (i = 0; i < raw->num_planes; i++) hevc_debug(2, "Plane[%d] size = %d, stride = %d\n", i, raw->plane_size[i], raw->stride[i]); switch (ctx->dst_fmt->fourcc) { case V4L2_PIX_FMT_NV12M: case V4L2_PIX_FMT_NV21M: raw->plane_size[0] += 64; raw->plane_size[1] += 64; break; case V4L2_PIX_FMT_YUV420M: case V4L2_PIX_FMT_YVU420M: raw->plane_size[0] += 64; raw->plane_size[1] += 64; raw->plane_size[2] += 64; break; default: break; } hevc_info("codec mode : %d\n", ctx->codec_mode); if (ctx->codec_mode == EXYNOS_CODEC_HEVC_DEC) { ctx->mv_size = hevc_dec_mv_size(ctx->img_width, ctx->img_height); ctx->mv_size = ALIGN(ctx->mv_size, 32); } else { ctx->mv_size = 0; } }