Commit 9fcb242b authored by Alexandre Courbot's avatar Alexandre Courbot Committed by Mauro Carvalho Chehab

media: mtk-vcodec: remove unneeded proxy functions

We were getting the codec interface through a proxy function that does
not bring anything compared to just accessing the interface definition
directly, so just do that. Also make the decoder interfaces const.
Signed-off-by: default avatarAlexandre Courbot <acourbot@chromium.org>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 86aed3f5
...@@ -485,16 +485,9 @@ static int vdec_h264_get_param(void *h_vdec, enum vdec_get_param_type type, ...@@ -485,16 +485,9 @@ static int vdec_h264_get_param(void *h_vdec, enum vdec_get_param_type type,
return 0; return 0;
} }
static struct vdec_common_if vdec_h264_if = { const struct vdec_common_if vdec_h264_if = {
.init = vdec_h264_init, .init = vdec_h264_init,
.decode = vdec_h264_decode, .decode = vdec_h264_decode,
.get_param = vdec_h264_get_param, .get_param = vdec_h264_get_param,
.deinit = vdec_h264_deinit, .deinit = vdec_h264_deinit,
}; };
struct vdec_common_if *get_h264_dec_comm_if(void);
struct vdec_common_if *get_h264_dec_comm_if(void)
{
return &vdec_h264_if;
}
...@@ -610,16 +610,9 @@ static void vdec_vp8_deinit(void *h_vdec) ...@@ -610,16 +610,9 @@ static void vdec_vp8_deinit(void *h_vdec)
kfree(inst); kfree(inst);
} }
static struct vdec_common_if vdec_vp8_if = { const struct vdec_common_if vdec_vp8_if = {
.init = vdec_vp8_init, .init = vdec_vp8_init,
.decode = vdec_vp8_decode, .decode = vdec_vp8_decode,
.get_param = vdec_vp8_get_param, .get_param = vdec_vp8_get_param,
.deinit = vdec_vp8_deinit, .deinit = vdec_vp8_deinit,
}; };
struct vdec_common_if *get_vp8_dec_comm_if(void);
struct vdec_common_if *get_vp8_dec_comm_if(void)
{
return &vdec_vp8_if;
}
...@@ -1000,16 +1000,9 @@ static int vdec_vp9_get_param(void *h_vdec, enum vdec_get_param_type type, ...@@ -1000,16 +1000,9 @@ static int vdec_vp9_get_param(void *h_vdec, enum vdec_get_param_type type,
return ret; return ret;
} }
static struct vdec_common_if vdec_vp9_if = { const struct vdec_common_if vdec_vp9_if = {
.init = vdec_vp9_init, .init = vdec_vp9_init,
.decode = vdec_vp9_decode, .decode = vdec_vp9_decode,
.get_param = vdec_vp9_get_param, .get_param = vdec_vp9_get_param,
.deinit = vdec_vp9_deinit, .deinit = vdec_vp9_deinit,
}; };
struct vdec_common_if *get_vp9_dec_comm_if(void);
struct vdec_common_if *get_vp9_dec_comm_if(void)
{
return &vdec_vp9_if;
}
...@@ -15,23 +15,19 @@ ...@@ -15,23 +15,19 @@
#include "mtk_vcodec_dec_pm.h" #include "mtk_vcodec_dec_pm.h"
#include "mtk_vpu.h" #include "mtk_vpu.h"
const struct vdec_common_if *get_h264_dec_comm_if(void);
const struct vdec_common_if *get_vp8_dec_comm_if(void);
const struct vdec_common_if *get_vp9_dec_comm_if(void);
int vdec_if_init(struct mtk_vcodec_ctx *ctx, unsigned int fourcc) int vdec_if_init(struct mtk_vcodec_ctx *ctx, unsigned int fourcc)
{ {
int ret = 0; int ret = 0;
switch (fourcc) { switch (fourcc) {
case V4L2_PIX_FMT_H264: case V4L2_PIX_FMT_H264:
ctx->dec_if = get_h264_dec_comm_if(); ctx->dec_if = &vdec_h264_if;
break; break;
case V4L2_PIX_FMT_VP8: case V4L2_PIX_FMT_VP8:
ctx->dec_if = get_vp8_dec_comm_if(); ctx->dec_if = &vdec_vp8_if;
break; break;
case V4L2_PIX_FMT_VP9: case V4L2_PIX_FMT_VP9:
ctx->dec_if = get_vp9_dec_comm_if(); ctx->dec_if = &vdec_vp9_if;
break; break;
default: default:
return -EINVAL; return -EINVAL;
......
...@@ -54,6 +54,10 @@ struct vdec_fb_node { ...@@ -54,6 +54,10 @@ struct vdec_fb_node {
struct vdec_fb *fb; struct vdec_fb *fb;
}; };
extern const struct vdec_common_if vdec_h264_if;
extern const struct vdec_common_if vdec_vp8_if;
extern const struct vdec_common_if vdec_vp9_if;
/** /**
* vdec_if_init() - initialize decode driver * vdec_if_init() - initialize decode driver
* @ctx : [in] v4l2 context * @ctx : [in] v4l2 context
......
...@@ -655,16 +655,9 @@ static int h264_enc_deinit(void *handle) ...@@ -655,16 +655,9 @@ static int h264_enc_deinit(void *handle)
return ret; return ret;
} }
static const struct venc_common_if venc_h264_if = { const struct venc_common_if venc_h264_if = {
.init = h264_enc_init, .init = h264_enc_init,
.encode = h264_enc_encode, .encode = h264_enc_encode,
.set_param = h264_enc_set_param, .set_param = h264_enc_set_param,
.deinit = h264_enc_deinit, .deinit = h264_enc_deinit,
}; };
const struct venc_common_if *get_h264_enc_comm_if(void);
const struct venc_common_if *get_h264_enc_comm_if(void)
{
return &venc_h264_if;
}
...@@ -460,16 +460,9 @@ static int vp8_enc_deinit(void *handle) ...@@ -460,16 +460,9 @@ static int vp8_enc_deinit(void *handle)
return ret; return ret;
} }
static const struct venc_common_if venc_vp8_if = { const struct venc_common_if venc_vp8_if = {
.init = vp8_enc_init, .init = vp8_enc_init,
.encode = vp8_enc_encode, .encode = vp8_enc_encode,
.set_param = vp8_enc_set_param, .set_param = vp8_enc_set_param,
.deinit = vp8_enc_deinit, .deinit = vp8_enc_deinit,
}; };
const struct venc_common_if *get_vp8_enc_comm_if(void);
const struct venc_common_if *get_vp8_enc_comm_if(void)
{
return &venc_vp8_if;
}
...@@ -17,19 +17,16 @@ ...@@ -17,19 +17,16 @@
#include "mtk_vcodec_enc_pm.h" #include "mtk_vcodec_enc_pm.h"
#include "mtk_vpu.h" #include "mtk_vpu.h"
const struct venc_common_if *get_h264_enc_comm_if(void);
const struct venc_common_if *get_vp8_enc_comm_if(void);
int venc_if_init(struct mtk_vcodec_ctx *ctx, unsigned int fourcc) int venc_if_init(struct mtk_vcodec_ctx *ctx, unsigned int fourcc)
{ {
int ret = 0; int ret = 0;
switch (fourcc) { switch (fourcc) {
case V4L2_PIX_FMT_VP8: case V4L2_PIX_FMT_VP8:
ctx->enc_if = get_vp8_enc_comm_if(); ctx->enc_if = &venc_vp8_if;
break; break;
case V4L2_PIX_FMT_H264: case V4L2_PIX_FMT_H264:
ctx->enc_if = get_h264_enc_comm_if(); ctx->enc_if = &venc_h264_if;
break; break;
default: default:
return -EINVAL; return -EINVAL;
......
...@@ -110,6 +110,9 @@ struct venc_done_result { ...@@ -110,6 +110,9 @@ struct venc_done_result {
bool is_key_frm; bool is_key_frm;
}; };
extern const struct venc_common_if venc_h264_if;
extern const struct venc_common_if venc_vp8_if;
/* /*
* venc_if_init - Create the driver handle * venc_if_init - Create the driver handle
* @ctx: device context * @ctx: device context
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment