コード例 #1
0
ファイル: sh_css_sp.c プロジェクト: DanBjorklund/ME302C
enum sh_css_err
sh_css_sp_write_frame_pointers(const struct sh_css_binary_args *args,
				unsigned pipe_num, unsigned stage_num)
{
	enum sh_css_err err = sh_css_success;
	if (args->in_frame)
		err = set_input_frame_buffer(args->in_frame,
						pipe_num, stage_num);
	if (err == sh_css_success && args->in_ref_frame)
		err = set_ref_in_frame_buffer(args->in_ref_frame,
						pipe_num, stage_num);
	if (err == sh_css_success && args->in_tnr_frame)
		err = set_tnr_in_frame_buffer(args->in_tnr_frame,
						pipe_num, stage_num);
	if (err == sh_css_success && args->out_vf_frame)
		err = set_view_finder_buffer(args->out_vf_frame,
						pipe_num, stage_num);
	if (err == sh_css_success && args->extra_frame)
		err = set_capture_pp_frame_buffer(args->extra_frame,
						pipe_num, stage_num);
	if (err == sh_css_success && args->out_ref_frame)
		err = set_ref_out_frame_buffer(args->out_ref_frame,
						pipe_num, stage_num);
	if (err == sh_css_success && args->out_tnr_frame)
		err = set_tnr_out_frame_buffer(args->out_tnr_frame,
						pipe_num, stage_num);
	if (err == sh_css_success && args->out_frame)
		err = set_output_frame_buffer(args->out_frame,
						pipe_num, stage_num);
	return err;
}
コード例 #2
0
enum ia_css_err
sh_css_sp_write_frame_pointers(const struct sh_css_binary_args *args,
				unsigned pipe_num, unsigned stage_num)
{
	enum ia_css_err err = IA_CSS_SUCCESS;
	int i;

	assert(args != NULL);

	if (args->in_frame)
		err = set_input_frame_buffer(args->in_frame,
						pipe_num, stage_num);
	if (err == IA_CSS_SUCCESS && args->out_vf_frame)
		err = set_view_finder_buffer(args->out_vf_frame,
						pipe_num, stage_num);
	if (err == IA_CSS_SUCCESS && args->out_frame)
		err = set_output_frame_buffer(args->out_frame,
						pipe_num, stage_num);
	for (i = 0; i < NUM_VIDEO_REF_FRAMES; i++) {
		if (err == IA_CSS_SUCCESS && args->delay_frames[i]) {
			err = set_video_delay_frame_buffer(
					args->delay_frames[i],
					pipe_num, stage_num, i);
		}
	}

	for (i = 0; i < NUM_VIDEO_TNR_FRAMES; i++) {
		if (err == IA_CSS_SUCCESS && args->tnr_frames[i]) {
			err = set_tnr_frame_buffer(
					args->tnr_frames[i],
					pipe_num, stage_num, i);
		}
	}

	/* we don't pass this error back to the upper layer, so we add a assert here
	   because we actually hit the error here but it still works by accident... */
	if (err != IA_CSS_SUCCESS) assert(false);
	return err;
}