您的位置:首页 > 移动开发 > Android开发

[RK3288][Android6.0] JPEG软硬件编解码整理

2016-12-08 17:10 2851 查看
Platform: ROCKCHIP

OS: Android 6.0

Kernel: 3.10.92

硬解:

rk3288的VPU提供了JPEG的硬件编解码功能.



对应的so路径:

rk3288/vendor/rockchip/common/vpu/lib/arm/libjpeghwenc.so

rk3288/vendor/rockchip/common/vpu/lib/arm/libjpeghwdec.so

头文件:

rk3288/hardware/rockchip/jpeghw/release/encode_release/hw_jpegenc.h

rk3288/hardware/rockchip/jpeghw/release/decoder_release/hw_jpegdecapi.h

编码会在Camera模块拍照被用到:

hardware/rockchip/camera/CameraHal/AppMsgNotifier.cpp

int AppMsgNotifier::captureEncProcessPicture(FramInfo_s* frame){

    ......

    err = hw_jpeg_encode(&JpegInInfo, &JpegOutInfo);

    ......

}

Android.mk

LOCAL_SHARED_LIBRARIES:= \

    ......

    libjpeghwenc\

解码调用处:

rk3288/external/skia/src/images/SkImageDecoder_libjpeg.cpp

bool SkJPEGImageDecoder::onDecode(SkStream* stream, SkBitmap* bm, Mode mode) {

    ......

    if(hw_jpeg_decode(&hwInfo,&outInfo, &reuseBitmap, bm->width(), bm->height()) >= 0)

    ......

}

Android.mk

#ifeq ($(HAVE_LIBRKVPU), true)

LOCAL_CFLAGS += -DUSE_HW_JPEG

LOCAL_SRC_FILES += src/images/SkHwJpegUtility.cpp

LOCAL_SHARED_LIBRARIES += libjpeghwdec

LOCAL_C_INCLUDES += hardware/rockchip/jpeghw/release/decoder_release \

        hardware/rockchip/librkvpu

#endif

软解:

Android自带软解库位于:

rk3288/external/jpeg

Android.mk:

LOCAL_MODULE := libjpeg
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: