int onwaitendframe;
static u32 vpp_hold_line = 8;
+static u32 stop_update;
struct video_dev_s video_dev[2] = {
{0x1d00 - 0x1d00, 0x1a50 - 0x1a50},
#endif
}
}
+ if (stop_update)
+ frame_par_ready_to_set = 0;
}
static void viu_set_dcu(struct vpp_frame_par_s *frame_par, struct vframe_s *vf)
u32 zoom_start_y, zoom_end_y;
correct_vd1_mif_size_for_DV(cur_frame_par);
if (cur_dispbuf->type & VIDTYPE_INTERLACE) {
- if (cur_dispbuf->type & VIDTYPE_VIU_FIELD) {
+ if (cur_dispbuf->type
+ & VIDTYPE_COMPRESS) {
+ /* for vdin afbc and interlace case */
+ zoom_start_y =
+ cur_frame_par->VPP_vd_start_lines_;
+ zoom_end_y =
+ cur_frame_par->VPP_vd_end_lines_;
+ } else if (cur_dispbuf->type
+ & VIDTYPE_VIU_FIELD) {
zoom_start_y =
cur_frame_par->VPP_vd_start_lines_
>> 1;
MODULE_PARM_DESC(vpp_hold_line, "\n vpp_hold_line\n");
module_param(vpp_hold_line, uint, 0664);
+MODULE_PARM_DESC(stop_update, "\n stop_update\n");
+module_param(stop_update, uint, 0664);
+
MODULE_PARM_DESC(reference_zorder, "\n reference_zorder\n");
module_param(reference_zorder, uint, 0664);
aspect_ratio = (vf->ratio_control & DISP_RATIO_ASPECT_RATIO_MASK)
>> DISP_RATIO_ASPECT_RATIO_BIT;
- if (vf->type & VIDTYPE_INTERLACE)
+ /* the height from vdin afbc will be half */
+ /* so need no interlace in */
+ if ((vf->type & VIDTYPE_INTERLACE)
+ && !(vf->type & VIDTYPE_COMPRESS))
vpp_flags = VPP_FLAG_INTERLACE_IN;
if (vf->ratio_control & DISP_RATIO_PORTRAIT_MODE)