Example #1
0
func Flush() {
	log.Printf("%128s: %02d", "ismd_vidrend_set_flush_policy", C.ismd_vidrend_set_flush_policy(m_video_render, C.ISMD_VIDREND_FLUSH_POLICY_REPEAT_FRAME))
	SetState(C.ISMD_DEV_STATE_PAUSE)

	log.Printf("%128s: %02d", "ismd_dev_flush", C.ismd_dev_flush(m_viddec))
	log.Printf("%128s: %02d", "ismd_dev_flush", C.ismd_dev_flush(m_video_proc))
	log.Printf("%128s: %02d", "ismd_dev_flush", C.ismd_dev_flush(m_video_render))
}
Example #2
0
func Init(codec_type C.ismd_codec_type_t, plane C.gdl_plane_id_t) {

	C.gdl_plane_reset(plane)
	C.gdl_plane_config_begin(plane)

	var policy C.gdl_vid_policy_t = C.GDL_VID_POLICY_RESIZE

	C.gdl_plane_set_attr(C.GDL_PLANE_VID_MISMATCH_POLICY, unsafe.Pointer(&policy))
	C.gdl_plane_config_end(C.GDL_FALSE)

	log.Printf("%128s: %02d", "ismd_clock_alloc", C.ismd_clock_alloc(C.ISMD_CLOCK_TYPE_FIXED, &m_main_clock))
	log.Printf("%128s: %02d", "ismd_clock_make_primary", C.ismd_clock_make_primary(m_main_clock))
	log.Printf("%128s: %02d", "ismd_viddec_open", C.ismd_viddec_open(codec_type, &m_viddec))
	log.Printf("%128s: %02d", "ismd_viddec_get_input_port", C.ismd_viddec_get_input_port(m_viddec, &m_viddec_input_port))
	log.Printf("%128s: %02d", "ismd_viddec_get_output_port", C.ismd_viddec_get_output_port(m_viddec, &m_viddec_output_port))
	log.Printf("%128s: %02d", "ismd_viddec_set_pts_interpolation_policy", C.ismd_viddec_set_pts_interpolation_policy(m_viddec, C.ISMD_VIDDEC_INTERPOLATE_MISSING_PTS, 0))
	log.Printf("%128s: %02d", "ismd_viddec_set_max_frames_to_decode", C.ismd_viddec_set_max_frames_to_decode(m_viddec, C.ISMD_VIDDEC_ALL_FRAMES))
	log.Printf("%128s: %02d", "ismd_vidpproc_open", C.ismd_vidpproc_open(&m_video_proc))
	log.Printf("%128s: %02d", "ismd_vidpproc_set_scaling_policy", C.ismd_vidpproc_set_scaling_policy(m_video_proc, C.SCALE_TO_FIT))
	log.Printf("%128s: %02d", "ismd_vidpproc_get_input_port", C.ismd_vidpproc_get_input_port(m_video_proc, &m_video_input_port_proc))
	log.Printf("%128s: %02d", "ismd_vidpproc_get_output_port", C.ismd_vidpproc_get_output_port(m_video_proc, &m_video_output_port_proc))
	log.Printf("%128s: %02d", "ismd_vidpproc_pan_scan_disable", C.ismd_vidpproc_pan_scan_disable(m_video_proc))
	log.Printf("%128s: %02d", "ismd_vidpproc_gaussian_enable", C.ismd_vidpproc_gaussian_enable(m_video_proc))
	log.Printf("%128s: %02d", "ismd_vidpproc_deringing_enable", C.ismd_vidpproc_deringing_enable(m_video_proc))
	log.Printf("%128s: %02d", "ismd_vidrend_open", C.ismd_vidrend_open(&m_video_render))
	log.Printf("%128s: %02d", "ismd_vidrend_get_input_port", C.ismd_vidrend_get_input_port(m_video_render, &m_video_input_port_renderer))
	log.Printf("%128s: %02d", "ismd_dev_set_clock", C.ismd_dev_set_clock(m_video_render, m_main_clock))
	log.Printf("%128s: %02d", "ismd_clock_set_vsync_pipe", C.ismd_clock_set_vsync_pipe(m_main_clock, 0))

	const width = 1920
	const height = 1080
	log.Printf("%128s: %02d", "ismd_vidpproc_set_dest_params2", C.ismd_vidpproc_set_dest_params(m_video_proc, width, height, width, height))
	log.Printf("%128s: %02d", "ismd_vidrend_set_video_plane", C.ismd_vidrend_set_video_plane(m_video_render, C.uint(plane)))
	log.Printf("%128s: %02d", "ismd_vidrend_set_flush_policy", C.ismd_vidrend_set_flush_policy(m_video_render, C.ISMD_VIDREND_FLUSH_POLICY_REPEAT_FRAME))
	log.Printf("%128s: %02d", "ismd_vidrend_set_stop_policy", C.ismd_vidrend_set_stop_policy(m_video_render, C.ISMD_VIDREND_STOP_POLICY_DISPLAY_BLACK))
	log.Printf("%128s: %02d", "ismd_vidrend_enable_max_hold_time", C.ismd_vidrend_enable_max_hold_time(m_video_render, 30, 1))
	log.Printf("%128s: %02d", "ismd_port_connect", C.ismd_port_connect(m_viddec_output_port, m_video_input_port_proc))
	log.Printf("%128s: %02d", "ismd_port_connect", C.ismd_port_connect(m_video_output_port_proc, m_video_input_port_renderer))

	SetState(C.ISMD_DEV_STATE_PAUSE)
}