author | minliang.lu <minliang.lu@amlogic.com> | 2020-05-18 08:49:39 (GMT) |
---|---|---|
committer | Hui Zhang <hui.zhang@amlogic.com> | 2020-05-29 13:37:51 (GMT) |
commit | 475e80ac80c2d703590ec82342f24d954fdcbd74 (patch) | |
tree | 247c4a94341a9a3601e9ca511c2a92460e97ef58 | |
parent | 677ab50da749119274325f12855b0f3ac0cfb88b (diff) | |
download | media_modules-475e80ac80c2d703590ec82342f24d954fdcbd74.zip media_modules-475e80ac80c2d703590ec82342f24d954fdcbd74.tar.gz media_modules-475e80ac80c2d703590ec82342f24d954fdcbd74.tar.bz2 |
vdec: use new v4lvideo path without di to support fence [2/3]
PD#SWPL-26962
Problem:
New feature to support decoder output fence, the di
can't be contained in the video path.
Solution:
Use new v4lvideo path without di to support fence.
Verify:
newton
Change-Id: Ic38c84e5c31ff1ca4416f18bfe5453cab54a1feb
Signed-off-by: minliang.lu <minliang.lu@amlogic.com>
-rw-r--r-- | drivers/frame_provider/decoder/utils/vdec.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/frame_provider/decoder/utils/vdec.c b/drivers/frame_provider/decoder/utils/vdec.c index 345d4a2..dc89179 100644 --- a/drivers/frame_provider/decoder/utils/vdec.c +++ b/drivers/frame_provider/decoder/utils/vdec.c @@ -2471,6 +2471,26 @@ s32 vdec_init(struct vdec_s *vdec, int is_4k) } snprintf(vdec->vfm_map_id, VDEC_MAP_NAME_SIZE, "vdec-map-%d", vdec->id); + } else if (p->frame_base_video_path == + FRAME_BASE_PATH_V4LVIDEO) { +#ifdef CONFIG_AMLOGIC_V4L_VIDEO3 + r = v4lvideo_assign_map(&vdec->vf_receiver_name, + &vdec->vf_receiver_inst); +#else + r = -1; +#endif + if (r < 0) { + pr_err("V4lVideo frame receiver allocation failed.\n"); + mutex_lock(&vdec_mutex); + inited_vcodec_num--; + mutex_unlock(&vdec_mutex); + goto error; + } + snprintf(vdec->vfm_map_chain, VDEC_MAP_NAME_SIZE, + "%s %s", vdec->vf_provider_name, + vdec->vf_receiver_name); + snprintf(vdec->vfm_map_id, VDEC_MAP_NAME_SIZE, + "vdec-map-%d", vdec->id); } if (vfm_map_add(vdec->vfm_map_id, |