MTK USB CAMERA (中芯微Z0301调试)

来源:互联网 发布:网络传销公司名单2016 编辑:程序博客网 时间:2024/05/10 03:23

MTK USB CAMERA (中芯微Z0301调试)

  1. 驱动的部分:难点在于 mtk 不支持原生的 menuconfig, 需要以下方法来配置:
    保证kernel new 过,
    将 /out/.config 拷贝到kernel文件夹,
    TARGET_PRODUCT=projectnamemakeO=outmenuconfig/../mediatek/build/kernel/MakefileTARGETPRODUCT={project name} KBUILD_OUTPUT_SUPPORT=yes make O=out menuconfig
    配置完成后,将.config 拷贝到mediatek文件夹, 然后重命名 platform ,重新 编译 kernel 即可。
    Dev/下出现 video0/1 等设备就表示内核配置OK了。
    用开源的 simplewebcam 来测试,发现花屏。此时在 native 层将一帧帧的图像dump到文件里面,发现时 jpeg 格式,原生的软件只支持YUV. 需要自己解码。

  2. 原生的代码 external 下的 libjpeg库 是老版本的,只支持文件的编解码,不支持 memory 编解码, 需要移植新版本。

  3. Ndk 编译新版本库, 编译成静态库。当然动态库也可以。 Ndk建议大家用服务器上的,win 下的设计到文件加密的问题,也让我郁闷了好久,最后放弃了。
  4. 将生产的静态库和头文件拷贝到工程 jni目录下,编写 jni android.mk
    以下是范本:

    LOCAL_PATH := $(call my-dir)  # test lib, write by meinclude $(CLEAR_VARS)  LOCAL_MODULE := first LOCAL_SRC_FILES := first.c  LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/first.h include $(BUILD_SHARED_LIBRARY) ## third party so lib#include $(CLEAR_VARS)  #LOCAL_MODULE := myjpeg #LOCAL_SRC_FILES := libmtkjpeg.so  #LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include/mtkjpeg #include $(PREBUILT_SHARED_LIBRARY) ## prebuilt the static libs   include $(CLEAR_VARS)LOCAL_MODULE := jpeg  LOCAL_SRC_FILES := libjpeg.a  include $(PREBUILT_STATIC_LIBRARY)  include $(CLEAR_VARS)LOCAL_MODULE:= ImageProcLOCAL_SRC_FILES := ImageProc.cLOCAL_LDLIBS:= -llog -ljnigraphics#LOCAL_SHARED_LIBRARIES := myjpeg firstLOCAL_SHARED_LIBRARIES :=  firstLOCAL_STATIC_LIBRARIES += jpeg  include $(BUILD_SHARED_LIBRARY)

然后 在 jni 里调用 jpeg解码函数即可 实现功能。基本上就OK了。

0 0
原创粉丝点击