|
@@ -278,7 +278,7 @@ static void mtk_vdec_flush_decoder(struct mtk_vcodec_ctx *ctx)
|
|
|
clean_free_buffer(ctx);
|
|
|
}
|
|
|
|
|
|
-static void mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx)
|
|
|
+static int mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx)
|
|
|
{
|
|
|
unsigned int dpbsize = 0;
|
|
|
int ret;
|
|
@@ -288,7 +288,7 @@ static void mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx)
|
|
|
&ctx->last_decoded_picinfo)) {
|
|
|
mtk_v4l2_err("[%d]Error!! Cannot get param : GET_PARAM_PICTURE_INFO ERR",
|
|
|
ctx->id);
|
|
|
- return;
|
|
|
+ return -EINVAL;
|
|
|
}
|
|
|
|
|
|
if (ctx->last_decoded_picinfo.pic_w == 0 ||
|
|
@@ -296,12 +296,12 @@ static void mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx)
|
|
|
ctx->last_decoded_picinfo.buf_w == 0 ||
|
|
|
ctx->last_decoded_picinfo.buf_h == 0) {
|
|
|
mtk_v4l2_err("Cannot get correct pic info");
|
|
|
- return;
|
|
|
+ return -EINVAL;
|
|
|
}
|
|
|
|
|
|
if ((ctx->last_decoded_picinfo.pic_w == ctx->picinfo.pic_w) ||
|
|
|
(ctx->last_decoded_picinfo.pic_h == ctx->picinfo.pic_h))
|
|
|
- return;
|
|
|
+ return 0;
|
|
|
|
|
|
mtk_v4l2_debug(1,
|
|
|
"[%d]-> new(%d,%d), old(%d,%d), real(%d,%d)",
|
|
@@ -316,6 +316,8 @@ static void mtk_vdec_pic_info_update(struct mtk_vcodec_ctx *ctx)
|
|
|
mtk_v4l2_err("Incorrect dpb size, ret=%d", ret);
|
|
|
|
|
|
ctx->dpb_size = dpbsize;
|
|
|
+
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
static void mtk_vdec_worker(struct work_struct *work)
|