【imx6】libipu.so.0说明

时间:2021-10-26 09:21:58

代码位置

在目录fsl-release-bsp/build-fb/tmp/work/imx6qsabresd-poky-linux-gnueabi/imx-lib/1_3.14.28-1.0.0-r0/imx-lib-3.14.28-1.0.0/ipu中
编译完成后有如下文件列表

ipu$ ls 
Android.mk  libipu.so    Makefile          mxc_ipu_hl_lib_dummy.c  mxc_ipu_hl_lib.h
ipu.h       libipu.so.0  mxc_ipu_hl_lib.c  mxc_ipu_hl_lib_dummy.o  mxc_ipu_lib.c

libipu.so说明

我用的是imxq所以编译链接的是mxc_ipu_hl_lib_dummy.o。mxc_ipu_hl_lib_dummy.c文件内容如下:

int mxc_ipu_lib_task_init(ipu_lib_input_param_t * input,
        ipu_lib_overlay_param_t * overlay,
        ipu_lib_output_param_t * output,
        int mode, ipu_lib_handle_t * ipu_handle)
{
    return 0;
}

void mxc_ipu_lib_task_uninit(ipu_lib_handle_t * ipu_handle)
{
    return;
}

int mxc_ipu_lib_task_buf_update(ipu_lib_handle_t * ipu_handle,
    dma_addr_t new_inbuf_paddr, dma_addr_t new_ovbuf_paddr,
    dma_addr_t new_ovbuf_alpha_paddr, void (output_callback)(void *, int),
    void * output_cb_arg)
{
    return 0;
}

int mxc_ipu_lib_task_control(int ctl_cmd, void * arg, ipu_lib_handle_t * ipu_handle)
{
    return 0;
}

int mxc_ipu_lib_ipc_init(void)
{
    return 0;
}

全部为空函数,对与imx6q操作ipu,需要使用内核提供的接口

#define IPU_CHECK_TASK _IOWR('I', 0x1, struct ipu_task)
#define IPU_QUEUE_TASK _IOW('I', 0x2, struct ipu_task)
#define IPU_ALLOC _IOWR('I', 0x3, int)
#define IPU_FREE _IOW('I', 0x4, int)