-
Notifications
You must be signed in to change notification settings - Fork 190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
用mpi_dec_test解码jpg图片失败 #79
Comments
麻烦提供一下测试源 |
测试图片 (下载解压即可): 解压后图片的md5: cdd6ccc6e346a1ced102a42ad24fee4b |
在命令行指定下 -f 4 的输出格式可以正常,具体问题还在处理中。 |
tmp.zip |
加了 patch 之后,在新版本内核上解码正常,估计是内核版本问题 |
麻烦更新最新的kernel测试 |
目前我们用的板子是定制的, 更新kernel有一些麻烦. 在当前的系统下, 解码jpeg图片还是有问题. 我往前找了几个commit, 比如 9月5号的这个commit: 15e357f 请问您能提供一个简单的在我们当前系统下能运行的demo么? 或者给一些建议我试着自己实现以下? |
https://github.com/HermanChen/mpp/ |
还是不行, 和上面一样卡在这一句出不去了: |
我在手上的 3228 平台(和 3399 一样的 vpu硬件)上做测试,会出现解码花的情况,但是不会卡死,现象有不同啊 |
export jpegd_debug=255,然后再跑一下看看 |
版本: https://github.com/HermanChen/mpp/ , 加上export jpegd_debug=255之后, 输出: 0x02,0x01,0x01,0x01,0x01,0x01,0x02,0x01, jpegd_parser: qscale[0]: 0 0x02,0x02,0x02,0x02,0x02,0x02,0x05,0x03, jpegd_parser: qscale[1]: 1 |
如果您愿意的话, 我们可以寄一块板子过去给您测试. |
产品支持最好走公司的 redmine 来提交问题单,在 github 不合适做正规的客户支持 |
mpp解码jpeg图像,结果提示可能是png图像。请问这个是什么问题? :~/mpp$ ./test/mpi_dec_test -i ./1080.jpg -t 8 -w 1920 -h 1080 |
只是 warning,没事,有客户把 png 当 jpeg 送进来过,于是加了这个打印 |
但是,后面size大小 assert信息,包括 test success max memory 0.00 MB也是正常的嘛? |
正常,jpeg 解码使用的是 mpp 外部提供的 buffer,mpp 内部本身不分配新 buffer,所以使用量为 0 |
额、我再结文档看看代码,mpp buffer的三种管理模式不是清楚。谢谢 |
MPP 开发参考_v0.3.pdf |
我看mpp_dec_test.cpp测试对MJPEG的解码单独做了处理,这个原因是啥,还有我用此测试程序解码MJPEG,发现耗时达60ms,720p像素,请解答下 |
1 similar comment
我看mpp_dec_test.cpp测试对MJPEG的解码单独做了处理,这个原因是啥,还有我用此测试程序解码MJPEG,发现耗时达60ms,720p像素,请解答下 |
mjpeg 解码是单次解码,buffer 是外部应用提供的,与一般的解码器不同 |
发现 ####mpi_dec time7 将近40ms。####sencond memcpy time 为20ms。所以导致硬解差不多60ms。请帮忙分析下。代码如下:
#else
#endif
#if 0
} |
@HermanChen 你好,请问如何做流水处理?简单地加一个while循环就可以了?我需要进行解码再编码,做了流水后,发现解码和编码的耗时都增加了,难道不能同时进行解码和编码吗?还是需要注意哪里代码的使用? |
你好,我在rk3288平台4.4.55内核上面运行最新的mpp解码,也会遇到上面那个问题,卡在以下部分: |
流水是说做多线程处理。不过,jpeg 解码和编码使用的的同一个硬件,多线程处理没什么收益。 |
遇到这种情况,先运行下 mpp_platform_test 和 mpp_runtime_test 看一下。 |
我在4.4.55和4.4.154上面都运行了,结果是正常的,下面是打印输出: |
@HermanChen 你好,我安装了一下firefly-rk3288最新的ubuntu16.04镜像,内核版本也是4.4.154。我发现系统自带的mpp是可以正常解码的,不会报如上VPU错误,另外循环解码也没有问题。系统自带的mpp版本是:mpi: mpp version: 10c9a2d author: Herman Chen [jpegd]: Add vpu jpegd stream patch。而会报错的版本是:mpi: mpp version: Without VCS info,这个是我下载的最新的mpp编译出来的。 |
Without VCS info 这个说明没有版本管理信息,可能是非标版本? |
下最新 mpp 的话,应该是会带有 git 信息的 |
我重新下载编译了一下,还是会报错,版本信息是:mpi: mpp version: 3d35398 author: Johnson Ding [jpege]: Fix jpeg encoder stride problem |
你好 我使用这个demo 做循环解码jpg图片 运行不到一分钟出现了这个错误 请问是什么原因 |
我想用mpp解码单个jpg图片, 操作过程为:
git clone -b release https://github.com/rockchip-linux/mpp.git
cmake -DRKPLATFORM=ON -DHAVE_DRM=ON && make
./test/mpi_dec_test -i test.jpg -w 1280 -h 720 -t 8
报错:
mpi_dec_test: cmd parse result:
mpi_dec_test: input file name: test.jpg
mpi_dec_test: output file name:
mpi_dec_test: config file name:
mpi_dec_test: width : 1280
mpi_dec_test: height : 720
mpi_dec_test: type : 8
mpi_dec_test: debug flag : 0
mpi_dec_test: max frames : 0
mpi_dec_test: mpi_dec_test start
mpi_dec_test: input file size 290872
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
mpi_dec_test: mpi_dec_test decoder test start w 1280 h 720 type 8
mpi: mpp version: 10c9a2d author: Herman Chen [jpegd]: Add vpu jpegd stream patch
mpp_log: can not found match soc name: rockchip,android 9tripod,x3399-development-board rockchip,rk339
mpp_dec: mpp_dec_advanced_thread slot size 1843200 is not equal to buffer size 3686400
mpp_dec: Assertion slot_size == buffer_size failed at mpp_dec_advanced_thread:1086
然后程序就卡在这里不动了....
我所用的系统:
Linux X3399 4.4.83 #7 SMP PREEMPT Wed Nov 21 17:49:40 CST 2018 aarch64 aarch64 aarch64 GNU/Linux
请问该如何解决? 谢谢.
The text was updated successfully, but these errors were encountered: