Qualcomm MSM8974 JPEG编码器硬件内核驱动程序

时间:2017-09-25 16:01:17

标签: linux-kernel jpeg qualcomm

我正在尝试在Samsung S5上使用硬件JPEG解码器来安装我的Android应用程序。这背后的原因是Androids BitmapFactory或NDK libjpeg-turbo不够快,无法以所需的帧速率处理图像。

由于缺乏数据表,很难确定该平台是否具有硬件解码器。我发现的唯一一条是系统中存在字符设备(/dev/jpeg0/dev/jpeg1/dev/jpeg2)。

我已经跟踪到内核驱动程序(这是Lineage14.1代码库)kernel/samsung/klte/drivers/media/platform/msm/camera_v2/jpeg_10/。在启用调试的情况下重新编译后,得到(dmesg | grep jpeg):

[    0.413878] msm_iommu_v1 fda64000.qcom,iommu: device jpeg_iommu mapped at c4fe0000, with 3 ctx banks
[    0.419962] msm_iommu_ctx_v1 fda6c000.qcom,iommu-ctx: context jpeg_enc0 using bank 0
[    0.420093] msm_iommu_ctx_v1 fda6d000.qcom,iommu-ctx: context jpeg_enc1 using bank 1
[    0.420218] msm_iommu_ctx_v1 fda6e000.qcom,iommu-ctx: context jpeg_dec using bank 2
[    1.550260] __msm_jpeg_init:908] Jpeg Device id 0
[    1.550317] msm_jpeg_q_init:32] evt_q
[    1.550370] msm_jpeg_q_init:32] output_rtn_q
[    1.550374] msm_jpeg_q_init:32] output_buf_q
[    1.550377] msm_jpeg_q_init:32] input_rtn_q
[    1.550382] msm_jpeg_q_init:32] input_buf_q
[    1.550395] __msm_jpeg_init:925] name jpeg_enc0
[    1.550399] __msm_jpeg_init:927] ctx 0xea6dd608
[    1.550434] __msm_jpeg_init:937] dom_num 0x7
[    1.550439] __msm_jpeg_init:944] dom 0xe9ae75c0
[    1.550443] msm_jpeg_init_dev: msm_jpeg_device_p 0xe9afec00
[    1.550487] msm_jpeg_init_dev jpeg0: success
[    1.550502] __msm_jpeg_init:908] Jpeg Device id 1
[    1.550557] msm_jpeg_q_init:32] evt_q
[    1.550611] msm_jpeg_q_init:32] output_rtn_q
[    1.550614] msm_jpeg_q_init:32] output_buf_q
[    1.550617] msm_jpeg_q_init:32] input_rtn_q
[    1.550621] msm_jpeg_q_init:32] input_buf_q
[    1.550633] __msm_jpeg_init:925] name jpeg_enc1
[    1.550636] __msm_jpeg_init:927] ctx 0xea6dd808
[    1.550664] __msm_jpeg_init:937] dom_num 0x8
[    1.550668] __msm_jpeg_init:944] dom 0xe9ae7f40
[    1.550672] msm_jpeg_init_dev: msm_jpeg_device_p 0xe9aff000
[    1.550720] msm_jpeg_init_dev jpeg1: success
[    1.550735] __msm_jpeg_init:908] Jpeg Device id 2
[    1.550835] msm_jpeg_q_init:32] evt_q
[    1.550890] msm_jpeg_q_init:32] output_rtn_q
[    1.550893] msm_jpeg_q_init:32] output_buf_q
[    1.550897] msm_jpeg_q_init:32] input_rtn_q
[    1.550900] msm_jpeg_q_init:32] input_buf_q
[    1.550912] __msm_jpeg_init:925] name jpeg_dec
[    1.550916] __msm_jpeg_init:927] ctx 0xea6dda08
[    1.550947] __msm_jpeg_init:937] dom_num 0x9
[    1.550952] __msm_jpeg_init:944] dom 0xe9b0a8c0
[    1.550955] msm_jpeg_init_dev: msm_jpeg_device_p 0xe9aff400
[    1.550997] msm_jpeg_init_dev jpeg2: success

所以它看起来很有希望。但...

没有文档如何使用它。提交消息声称某处应该是用户空间驱动程序。

msm: camera: JPEG Encoder driver

Add support for the new JPEG 1.0 encoder hardware.This
is the kernel driver and takes input from the corresponding
userspace driver.The new encoder hardware supports
formats H2V2, H2V1, H1V2 and H1V1. It also has support for
upscaling and downscaling.

但是我已经在整个Android项目中寻找与JPEG相关的任何内容,而我却找不到它。与谷歌搜索相同。

所以,我很感激回答有关如何使用此驱动程序进行JPEG硬件解码的信息。

0 个答案:

没有答案