Esempio n. 1
0
void govw_set_framebuffer(vdo_framebuf_t *fb)
{
	vpp_clock_t tmr;

    govw_set_fb_addr(fb->y_addr, fb->c_addr);
	govw_set_color_format(fb->col_fmt);
	govw_set_width(fb->img_w, fb->fb_w);
	govw_set_csc_mode(p_govw->fb_p->csc_mode);

	// govw TG
	g_vpp.govr->get_tg(&tmr);
	if( g_vpp.vpp_path == VPP_VPATH_GOVW_SCL ){
		int tmp;

		tmp = tmr.total_pixel_of_line - tmr.end_pixel_of_active;
		tmr.end_pixel_of_active = tmr.begin_pixel_of_active + p_govw->fb_p->fb.img_w;
		tmr.total_pixel_of_line = tmr.end_pixel_of_active + tmp;

		tmp = tmr.total_line_of_frame - tmr.end_line_of_active;
		tmr.end_line_of_active = tmr.begin_line_of_active + p_govw->fb_p->fb.img_h;
		tmr.total_line_of_frame = tmr.end_line_of_active + tmp;
	}
	if( tmr.total_line_of_frame ){
		vpp_calculate_timing(VPP_MOD_GOVW,p_govw->fb_p->framerate,&tmr);
		p_govw->set_tg(&tmr,0);
	}
	
	// govm
	govm_set_disp_coordinate(fb->img_w,fb->img_h);
}
Esempio n. 2
0
void govw_set_hd_framebuffer(vdo_framebuf_t *fb)
{
	vpp_clock_t tmr;

    govw_set_hd_fb_addr(fb->y_addr, fb->c_addr);
	govw_set_hd_color_format(fb->col_fmt);
	govw_set_hd_width(fb->img_w, fb->fb_w);
	govw_set_csc_mode(p_govw->fb_p->csc_mode);

	// govw TG
	g_vpp.govr->get_tg(&tmr);
	if( tmr.total_line_of_frame ){
		vpp_calculate_timing(VPP_MOD_GOVW,p_govw->fb_p->framerate,&tmr);
		p_govw->set_tg(&tmr,0);
	}

	// govm
	govm_set_disp_coordinate(fb->img_w,fb->img_h);
}