-rw-r--r-- | drivers/frame_provider/decoder/mjpeg/vmjpeg_multi.c | 8 | ||||
-rw-r--r-- | drivers/frame_provider/decoder/mpeg12/vmpeg12_multi.c | 20 | ||||
-rw-r--r-- | drivers/frame_provider/decoder/mpeg4/vmpeg4_multi.c | 10 |
3 files changed, 31 insertions, 7 deletions
diff --git a/drivers/frame_provider/decoder/mjpeg/vmjpeg_multi.c b/drivers/frame_provider/decoder/mjpeg/vmjpeg_multi.c index 5ec3824..5ebb6be 100644 --- a/drivers/frame_provider/decoder/mjpeg/vmjpeg_multi.c +++ b/drivers/frame_provider/decoder/mjpeg/vmjpeg_multi.c @@ -94,6 +94,7 @@ static int vmjpeg_vf_states(struct vframe_states *states, void *); static int vmjpeg_event_cb(int type, void *data, void *private_data); static void vmjpeg_work(struct work_struct *work); static int pre_decode_buf_level = 0x800; +static int start_decode_buf_level = 0x2000; static u32 without_display_mode; #undef pr_info #define pr_info printk @@ -1396,8 +1397,6 @@ static int ammvdec_mjpeg_probe(struct platform_device *pdev) return -EFAULT; } - hw = (struct vdec_mjpeg_hw_s *)devm_kzalloc(&pdev->dev, - sizeof(struct vdec_mjpeg_hw_s), GFP_KERNEL); hw = vzalloc(sizeof(struct vdec_mjpeg_hw_s)); if (hw == NULL) { pr_info("\nammvdec_mjpeg device data allocation failed\n"); @@ -1455,6 +1454,8 @@ static int ammvdec_mjpeg_probe(struct platform_device *pdev) pdata->dec_status = NULL; return -ENODEV; } + vdec_set_prepare_level(pdata, start_decode_buf_level); + if (pdata->parallel_dec == 1) vdec_core_request(pdata, CORE_MASK_VDEC_1); else { @@ -1563,6 +1564,9 @@ module_param_array(max_process_time, uint, &max_decode_instance_num, 0664); module_param(radr, uint, 0664); MODULE_PARM_DESC(radr, "\nradr\n"); +module_param(start_decode_buf_level, uint, 0664); +MODULE_PARM_DESC(start_decode_buf_level, "\nstart_decode_buf_level\n"); + module_param(rval, uint, 0664); MODULE_PARM_DESC(rval, "\nrval\n"); |