Esempio n. 1
0
void shutdown(Context *ctx)
{
	unsigned int i;

	imx_vpu_dec_close(ctx->vpudec);

	free(ctx->framebuffers);
	for (i = 0; i < ctx->num_framebuffers; ++i)
		imx_vpu_dma_buffer_deallocate(ctx->fb_dmabuffers[i]);
	free(ctx->fb_dmabuffers);
	imx_vpu_dma_buffer_deallocate(ctx->bitstream_buffer);

	imx_vpu_dec_unload();

	free(ctx);
}
Esempio n. 2
0
ImxVpuDecReturnCodes imx_vpu_jpeg_dec_close(ImxVpuJPEGDecoder *jpeg_decoder)
{
	assert(jpeg_decoder != NULL);
	assert(jpeg_decoder->decoder != NULL);

	imx_vpu_dec_close(jpeg_decoder->decoder);

	imx_vpu_jpeg_dec_deallocate_framebuffers(jpeg_decoder);

	if (jpeg_decoder->bitstream_buffer != NULL)
		imx_vpu_dma_buffer_deallocate(jpeg_decoder->bitstream_buffer);

	IMX_VPU_FREE(jpeg_decoder, sizeof(ImxVpuJPEGDecoder));

	return IMX_VPU_DEC_RETURN_CODE_OK;
}