Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a42c4821 authored by Maheshwar Ajja's avatar Maheshwar Ajja Committed by Stephen Boyd
Browse files

vidc:720p: Fix first buffer with EOS flag in video decoder



The video driver is throwing error for erronious header
input buffer with EOS flag enabled. This commit will
fix the error case by amending the EOS handling for the
first buffer.

CRs-fixed: 370048
Change-Id: I8917aa288d6547319e8b1df54e27afd69ab36162
Signed-off-by: default avatarMaheshwar Ajja <majja@codeaurora.org>
parent 9291d531
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -391,8 +391,10 @@ static u32 ddl_handle_core_recoverable_errors(struct ddl_context \
		ddl->decoding &&
		!ddl->codec_data.decoder.header_in_start &&
		!ddl->codec_data.decoder.dec_disp_info.img_size_x &&
		!ddl->codec_data.decoder.dec_disp_info.img_size_y
		) {
		!ddl->codec_data.decoder.dec_disp_info.img_size_y &&
		!eos) {
		DBG("Treat header in start error %u as success",
			vcd_status);
		/* this is first frame seq. header only case */
		vcd_status = VCD_S_SUCCESS;
		ddl->input_frame.vcd_frm.flags |=
@@ -426,9 +428,10 @@ static u32 ddl_handle_core_recoverable_errors(struct ddl_context \
	}

	/* if it is decoder EOS case */
	if (ddl->decoding && eos)
	if (ddl->decoding && eos) {
		DBG("DEC-EOS_RUN");
		ddl_decode_eos_run(ddl);
	else
	} else
		DDL_IDLE(ddl_context);

	return true;
+4 −2
Original line number Diff line number Diff line
@@ -2045,11 +2045,13 @@ u32 vcd_handle_input_done_in_eos(
		transc->in_use = true;
		if ((codec_config &&
			 (status != VCD_ERR_BITSTREAM_ERR)) ||
			((status == VCD_ERR_BITSTREAM_ERR) &&
			(codec_config && (status == VCD_ERR_BITSTREAM_ERR) &&
			 !(cctxt->status.mask & VCD_FIRST_IP_DONE) &&
			 (core_type == VCD_CORE_720P)))
			(core_type == VCD_CORE_720P))) {
			VCD_MSG_HIGH("handle EOS for codec config");
			vcd_handle_eos_done(cctxt, transc, VCD_S_SUCCESS);
		}
	}
	return rc;
}