Пример #1
0
u32 vid_enc_flush(struct video_client_ctx *client_ctx,
		struct venc_bufferflush *bufferflush)
{
	u32 status = TRUE, n_mode, vcd_status;

	if (!client_ctx || !bufferflush)
		return FALSE;

	switch (bufferflush->flush_mode) {
	case VEN_FLUSH_INPUT:
		n_mode = VCD_FLUSH_INPUT;
		break;
	case VEN_FLUSH_OUTPUT:
		n_mode = VCD_FLUSH_OUTPUT;
		break;
	case VEN_FLUSH_ALL:
		n_mode = VCD_FLUSH_ALL;
		break;
	default:
		status = FALSE;
		break;
	}
	if (status) {
		vcd_status = vcd_flush(client_ctx->vcd_handle, n_mode);
		if (vcd_status)
			status = FALSE;
	}
	return status;
}
Пример #2
0
static u32 vid_dec_flush(struct video_client_ctx *client_ctx,
			 enum vdec_bufferflush flush_dir)
{
	u32 vcd_status = VCD_ERR_FAIL;

	INFO("\n msm_vidc_dec: %s() called with dir = %u", __func__,
		 flush_dir);
	if (!client_ctx) {
		ERR("\n Invalid client_ctx");
		return FALSE;
	}

	switch (flush_dir) {
	case VDEC_FLUSH_TYPE_INPUT:
		vcd_status = vcd_flush(client_ctx->vcd_handle, VCD_FLUSH_INPUT);
		break;
	case VDEC_FLUSH_TYPE_OUTPUT:
		vcd_status = vcd_flush(client_ctx->vcd_handle,
				       VCD_FLUSH_OUTPUT);
		break;
	case VDEC_FLUSH_TYPE_ALL:
		vcd_status = vcd_flush(client_ctx->vcd_handle, VCD_FLUSH_ALL);
		break;
	default:
		ERR("%s(): Inavlid flush cmd. flush_dir = %u\n", __func__,
		    flush_dir);
		return FALSE;
		break;
	}

	if (!vcd_status)
		return TRUE;
	else {
		ERR("%s(): vcd_flush failed. vcd_status = %u "
		    " flush_dir = %u\n", __func__, vcd_status, flush_dir);
		return FALSE;
	}
}