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

Commit 3fff6169 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: vidc: Introduce ETB flag for Enc Superframe handling"

parents 5a88cde4 4b9b7337
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -4373,6 +4373,7 @@ static int msm_comm_qbuf_superframe_to_hfi(struct msm_vidc_inst *inst,
	frames[0].flags &= ~HAL_BUFFERFLAG_EXTRADATA;
	frames[0].flags &= ~HAL_BUFFERFLAG_EOS;
	frames[0].flags &= ~HAL_BUFFERFLAG_CVPMETADATA_SKIP;
	frames[0].flags &= ~HAL_BUFFERFLAG_ENDOFSUBFRAME;
	if (frames[0].flags)
		s_vpr_e(inst->sid, "%s: invalid flags %#x\n",
			__func__, frames[0].flags);
@@ -4394,10 +4395,20 @@ static int msm_comm_qbuf_superframe_to_hfi(struct msm_vidc_inst *inst,
			/* first frame */
			if (frames[0].extradata_addr)
				frames[0].flags |= HAL_BUFFERFLAG_EXTRADATA;

			/* Add work incomplete flag for all etb's except the
			 * last one. For last frame, flag is cleared at the
			 * last frame iteration.
			 */
			frames[0].flags |= HAL_BUFFERFLAG_ENDOFSUBFRAME;
		} else if (i == superframe_count - 1) {
			/* last frame */
			if (mbuf->vvb.flags & V4L2_BUF_FLAG_EOS)
				frames[i].flags |= HAL_BUFFERFLAG_EOS;
			/* Clear Subframe flag just for the last frame to
			 * indicate the end of SuperFrame.
			 */
			frames[i].flags &= ~HAL_BUFFERFLAG_ENDOFSUBFRAME;
		}
		num_etbs++;
	}