media: mtk-vcodec: don't check return val of mtk_venc_get_q_data
The function mtk_venc_get_q_data always returns a reference so there is no need to check if the return value is null. In addition move the q_data initialization to the declaration Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
Родитель
ba0b00e793
Коммит
b808115464
|
@ -400,7 +400,7 @@ static int vidioc_venc_s_fmt_cap(struct file *file, void *priv,
|
||||||
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
|
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
|
||||||
const struct mtk_vcodec_enc_pdata *pdata = ctx->dev->venc_pdata;
|
const struct mtk_vcodec_enc_pdata *pdata = ctx->dev->venc_pdata;
|
||||||
struct vb2_queue *vq;
|
struct vb2_queue *vq;
|
||||||
struct mtk_q_data *q_data;
|
struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, f->type);
|
||||||
int i, ret;
|
int i, ret;
|
||||||
const struct mtk_video_fmt *fmt;
|
const struct mtk_video_fmt *fmt;
|
||||||
|
|
||||||
|
@ -415,12 +415,6 @@ static int vidioc_venc_s_fmt_cap(struct file *file, void *priv,
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
|
||||||
q_data = mtk_venc_get_q_data(ctx, f->type);
|
|
||||||
if (!q_data) {
|
|
||||||
mtk_v4l2_err("fail to get q data");
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt = mtk_venc_find_format(f->fmt.pix.pixelformat, pdata);
|
fmt = mtk_venc_find_format(f->fmt.pix.pixelformat, pdata);
|
||||||
if (!fmt) {
|
if (!fmt) {
|
||||||
fmt = &ctx->dev->venc_pdata->capture_formats[0];
|
fmt = &ctx->dev->venc_pdata->capture_formats[0];
|
||||||
|
@ -461,7 +455,7 @@ static int vidioc_venc_s_fmt_out(struct file *file, void *priv,
|
||||||
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
|
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
|
||||||
const struct mtk_vcodec_enc_pdata *pdata = ctx->dev->venc_pdata;
|
const struct mtk_vcodec_enc_pdata *pdata = ctx->dev->venc_pdata;
|
||||||
struct vb2_queue *vq;
|
struct vb2_queue *vq;
|
||||||
struct mtk_q_data *q_data;
|
struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, f->type);
|
||||||
int ret, i;
|
int ret, i;
|
||||||
const struct mtk_video_fmt *fmt;
|
const struct mtk_video_fmt *fmt;
|
||||||
|
|
||||||
|
@ -476,12 +470,6 @@ static int vidioc_venc_s_fmt_out(struct file *file, void *priv,
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
|
||||||
q_data = mtk_venc_get_q_data(ctx, f->type);
|
|
||||||
if (!q_data) {
|
|
||||||
mtk_v4l2_err("fail to get q data");
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt = mtk_venc_find_format(f->fmt.pix.pixelformat, pdata);
|
fmt = mtk_venc_find_format(f->fmt.pix.pixelformat, pdata);
|
||||||
if (!fmt) {
|
if (!fmt) {
|
||||||
fmt = &ctx->dev->venc_pdata->output_formats[0];
|
fmt = &ctx->dev->venc_pdata->output_formats[0];
|
||||||
|
@ -521,14 +509,13 @@ static int vidioc_venc_g_fmt(struct file *file, void *priv,
|
||||||
struct v4l2_pix_format_mplane *pix = &f->fmt.pix_mp;
|
struct v4l2_pix_format_mplane *pix = &f->fmt.pix_mp;
|
||||||
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
|
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
|
||||||
struct vb2_queue *vq;
|
struct vb2_queue *vq;
|
||||||
struct mtk_q_data *q_data;
|
struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, f->type);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type);
|
vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type);
|
||||||
if (!vq)
|
if (!vq)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
q_data = mtk_venc_get_q_data(ctx, f->type);
|
|
||||||
|
|
||||||
pix->width = q_data->coded_width;
|
pix->width = q_data->coded_width;
|
||||||
pix->height = q_data->coded_height;
|
pix->height = q_data->coded_height;
|
||||||
|
@ -597,15 +584,11 @@ static int vidioc_venc_g_selection(struct file *file, void *priv,
|
||||||
struct v4l2_selection *s)
|
struct v4l2_selection *s)
|
||||||
{
|
{
|
||||||
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
|
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
|
||||||
struct mtk_q_data *q_data;
|
struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, s->type);
|
||||||
|
|
||||||
if (s->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
|
if (s->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
q_data = mtk_venc_get_q_data(ctx, s->type);
|
|
||||||
if (!q_data)
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
switch (s->target) {
|
switch (s->target) {
|
||||||
case V4L2_SEL_TGT_CROP_DEFAULT:
|
case V4L2_SEL_TGT_CROP_DEFAULT:
|
||||||
case V4L2_SEL_TGT_CROP_BOUNDS:
|
case V4L2_SEL_TGT_CROP_BOUNDS:
|
||||||
|
@ -631,15 +614,11 @@ static int vidioc_venc_s_selection(struct file *file, void *priv,
|
||||||
struct v4l2_selection *s)
|
struct v4l2_selection *s)
|
||||||
{
|
{
|
||||||
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
|
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
|
||||||
struct mtk_q_data *q_data;
|
struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, s->type);
|
||||||
|
|
||||||
if (s->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
|
if (s->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
q_data = mtk_venc_get_q_data(ctx, s->type);
|
|
||||||
if (!q_data)
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
switch (s->target) {
|
switch (s->target) {
|
||||||
case V4L2_SEL_TGT_CROP:
|
case V4L2_SEL_TGT_CROP:
|
||||||
/* Only support crop from (0,0) */
|
/* Only support crop from (0,0) */
|
||||||
|
@ -806,11 +785,9 @@ static int vb2ops_venc_queue_setup(struct vb2_queue *vq,
|
||||||
struct device *alloc_devs[])
|
struct device *alloc_devs[])
|
||||||
{
|
{
|
||||||
struct mtk_vcodec_ctx *ctx = vb2_get_drv_priv(vq);
|
struct mtk_vcodec_ctx *ctx = vb2_get_drv_priv(vq);
|
||||||
struct mtk_q_data *q_data;
|
struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, vq->type);
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
q_data = mtk_venc_get_q_data(ctx, vq->type);
|
|
||||||
|
|
||||||
if (q_data == NULL)
|
if (q_data == NULL)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
@ -830,11 +807,9 @@ static int vb2ops_venc_queue_setup(struct vb2_queue *vq,
|
||||||
static int vb2ops_venc_buf_prepare(struct vb2_buffer *vb)
|
static int vb2ops_venc_buf_prepare(struct vb2_buffer *vb)
|
||||||
{
|
{
|
||||||
struct mtk_vcodec_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue);
|
struct mtk_vcodec_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue);
|
||||||
struct mtk_q_data *q_data;
|
struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, vb->vb2_queue->type);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
q_data = mtk_venc_get_q_data(ctx, vb->vb2_queue->type);
|
|
||||||
|
|
||||||
for (i = 0; i < q_data->fmt->num_planes; i++) {
|
for (i = 0; i < q_data->fmt->num_planes; i++) {
|
||||||
if (vb2_plane_size(vb, i) < q_data->sizeimage[i]) {
|
if (vb2_plane_size(vb, i) < q_data->sizeimage[i]) {
|
||||||
mtk_v4l2_err("data will not fit into plane %d (%lu < %d)",
|
mtk_v4l2_err("data will not fit into plane %d (%lu < %d)",
|
||||||
|
|
Загрузка…
Ссылка в новой задаче