dm8148 jpeg编解码器测试
测试过程:
1)于A8将jpeg传送到videoM3解码,然后,videoM3编码。在编译jpeg图像传输到A8,主要是测试jpeg编码的图像需要多少时间;
1000w像素:  编码时间:43ms。
800w像素:   编码时间:35ms
1080P:       编码时间:10ms
1600w像素: 编码时间:73ms
当測试到1600w像素时,解码link报错,内存不够。
在utils_mem.c的utils_memFrameAlloc函数中报错,内存分配错误;
4096*4096分辨率下。declink分配的内存为:
memory alloc failed,size=26560512,numFrames=4,file=utils/src/utils_mem.c,line=185
将建立解码link时,原来是4个buff,改为2个buff
改动完后,videoM3又报例如以下错误。
[m3video] 58133: Assertion @ Line: 99 in utils/src/utils_ringbuffer.c: status == 0 : failed !!!
将编码link的buff内存个数改动成3
encPrm.numBufPerCh[i] = 3;
改动完后,1600w像素编码成功。
我看ti的编解码文档最大支持的分辨率就是4096*4096了。我測试了更高分辨率,5120*5120,解码器报错;
MA: ChannelID allocated:4
 [m3video]  523256: IPC_BITS_IN   : Create in progress !!!
 [m3video]  523256: SYSTEM: Opening ListMP [HOST_IPC_OUT_28] ...
 [m3video]  523257: SYSTEM: Opening ListMP [HOST_IPC_IN_28] ...
 [m3video]  523258: SYSTEM: Opening MsgQ [HOST_MSGQ] ...
 [m3video]  523261: IPC_BITS_IN   : Create Done !!!
 [m3video]  523261: DECODE: Create in progress ... !!!
 [m3video]  523521: DECODE: Creating CH0 of 5120 x 5120 [PROGRESSIVE] [NON-TILED  ],target bitrate = 8000 Kbps ... 
 [m3video] DECLINK_JPEG:HEAPID:0        USED:14512
 [m3video]  523523: DECODE: All CH Create ... DONE !!!
 [m3video] DECLINK:HEAPID:0     USED:14552
 [m3video]  523524: DECODE: Create ... DONE !!!
 [m3video]  523525: ENCODE: Create in progress ... !!!
 [m3video] prevLinkQueId=0,numQue=1
 [m3video]  EncLink_codecCreateOutObj BitBuf Q Status
 [m3video] Empty Q 0 -> count 1, wrPtr 1, rdPtr 0
 [m3video] Full Q -> count 0, wrPtr 0, rdPtr 0
 [m3video]  523609: ENCODE: Creating CH0 of 5120 x 5120, pitch = (5248, 5248) [PROGRESSIVE] [NON-TILED  ], bitrate = 24000 Kbps ... 
 [m3video] ENCLINK_JPEG:HEAPID:0        USED:4432
 [m3video]  523610: ENCODE: All CH Create ... DONE !!!
 [m3video] ENCLINK:HEAPID:0     USED:4672
 [m3video]  523613: ENCODE: Create ... DONE !!!
 [m3video]  523614: IPC_BITS_OUT   : Create in progress !!!
 [m3video]  523617: IPC_BITS_OUT   : Create Done !!!
 [m3video] 528461:DECLINK::links_m3video/iva_dec/decLink_jpeg.c:[203]::INTERNAL ERROR:-1
 [m3video] ALGPROCESS FAILED:STATUS
 [m3video] 528461:WARN
 [m3video] DECLINK:ERROR in Declink_jpegDecodeFrameBatch.Status[-1]
 [m3video] 530875:DECLINK::links_m3video/iva_dec/decLink_jpeg.c:[203]::INTERNAL ERROR:-1
 [m3video] ALGPROCESS FAILED:STATUS
 [m3video] 530875:WARN
 [m3video] DECLINK:ERROR in Declink_jpegDecodeFrameBatch.Status[-1]
错误码:
JPEG Extended error 20008000
查看错误码:http://www.doc88.com/p-3965543592868.html
第15位为1表示一个致命的错误。第29位为1。表示不支持的分辨率。width/height;
错误码:200000 第21位为1表示 :Not supported output chroma format set by the application to the codec
測试完后。看到一个ti的网页,也有这些性能的測试。
http://processors.wiki.ti.com/index.php/Latency_Measurement_on_Capture_Encode_Decode_Display_Demo
http://processors.wiki.ti.com/index.php/QualiTI
Latency Measurement on Capture Encode Decode Display Demo
Contents
[hide]
Latency Measurement for Capture Encode/Decode Display application
This is the latency measurements performed on the sample Capture encode/decode display demo delivered along with the EZSDK 5.x for DM816x and DM814x devices from TI. The demo is created with the chain VFCC->DEI->VENC->VDEC->VFPC-SC->VFDC .
 This demo is validated on EZSDK 5.03.01.15 and OMX components 5.02.00.30.
The latency numbers are measured for the following resolutions:
- 1080p60 (Capture, Encode, Decode and Display @ 1080p60)
 - 1080p30 (Capture, Encode, Decode and Display @ 1080p30)
 - 1080p60-30 ( Capture Display @ 1080p60. Encode Decoder @ 1080p30)
 - 720p60 (Capture, Encode, Decode and Display @ 720p60)
 
Usecase Description
The video data is captured by VFCC component from a HD camera source via HDMI . The captured data is fed to DEI.The DEI output is then encoded by VENC and decoded by VDEC component. The decoded frame is passed to Scalar component
 ( VFPC Sc) , which does chroma conversion from YUV 420 to YUV 422 format. The scalar ouput is passed to VFDC and the output is displayed on the TV via via on-chip HDMI interface. The IL Client source code is available hereMedia:capture_encode_decode_display.tar.gz

Setup Details
DM816x Base EVM DM816x Rev-C with DDR3 attached with a Video Conferencing Expansion IO (EIO) Card interface. A video source (Tandberg 1080p60 Camera / Sony PS3) is connected to the daughter card via a HDMI interface. The on-chip
 HDMI out from the DM816x Base EVM is connected to a TV.
OMX Components Details
Following are the list of OMX components used in the usecase:
- VFCC (Video Frame Capture Component)
 - VFPC-DEI (Video Frame Processing Component - Deinterlacer)
 - VENC (Video Encode Component)
 - VDEC (Video Decode Component)
 - VFPC-SC (Video Frame Processing Component - Scalar)
 - VFDC (Video Frame Display Component)
 
Measurement Procedure
- The IL-client is executed on ARM side and the corresponding firmware binaries are loaded on the Video and VPSS media controller cores.
 - The HD camera is focused on a running stop watch video. Glass-to-Glass latency is measured by measuring the time difference between the source time stamp and the time stamp displayed on the TV display.
 - Timestamps corresponding to various OMX component events for consecutive frames are logged for latency measurements
 - T0 - Start of capture. (start time for encode path)
 - T1 - Timestamp when capture of frame is complete
 - T2 - Timestamp when DEI processing is done
 - T3 - Timestamp when VENC finish encoding the frame
 - T4 - Timestamp when VDEC starts decoding the frame
 - T5 - Timestamp when VDEC finish decoding the frame .
 - T6 - Timestamp when VFPC scaling is done
 - T7 - Timestamp when VFDC send the frame to HDMI output for display
 - T8 - Timestamp when the frame is displayed on TV
 - From the above timestamps, Running average of various latency values are measured
 
- Running average: Series of averages is calculated for a fixed window period (8 Frames) of different subsets of the full data set and final average is calculated from the average series
 
Results
- Detailed latency performance results are available here Media:DM816x_Capture_Encode_Decode_Display_latency_performance_consolidated.zip
 
Summary
Metrics
- Glass to Glass Latency T8–T0 - Total delay observed in the system including TV delay
 - Capture-Encode Latency = Capture-Encode Path delay + Buffers in Capture Driver
 - Decode-Display Latency = Decode delay + Scalar delay + Display delay
 
Breakup
- Buffers in Capture Driver - Delay due to buffers held in capure driver. Range is from 0.5 to 1 frame
 - Capture-Encode Path delay- T3–T1
 - Buffer Hand Off to Decoder - Delay due to buffers held between VENC and VDEC components. Range is from 1 to 1.5 frames
 - Decode Delay T5–T4
 - Scalar Delay T6–T5
 - Scale/Chroma Con. Display Delay T7–T5 - Cummulative delay for scaling, chroma conversion and display
 - TV/Monitor Delay - Delay due to the internal processing in the TV/monitor (8ms delay is observed in Samsung LCD TV)
 

Download the Latest EZSDK
The latest EZSDK is available for download from http://software-dl.ti.com/dsps/dsps_public_sw/ezsdk/latest/index_FDS.html.
The current version is 5.05.02.00. The supported platforms are DM816x and DM814x.
版权声明:本文博主原创文章。博客,未经同意不得转载。
dm8148 jpeg编解码器测试的更多相关文章
- 在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库
		
在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库 根据调查,普通人产生的1.2万亿张图像可以通过电话或数码相机捕获.这样的图像的存储,尤其是以高分辨率的原始格式, ...
 - NVIDIA A100 GPUs上硬件JPEG解码器和NVIDIA nvJPEG库
		
NVIDIA A100 GPUs上硬件JPEG解码器和NVIDIA nvJPEG库 Leveraging the Hardware JPEG Decoder and NVIDIA nvJPEG Lib ...
 - iOS中app的分发测试
		
知识的学习在于分享.分享出来才能共同进步. 关于测试 有几种方式 1.开发人员直接在电脑上 用模拟器 2. 真机调试,测试人员可以拿着测试机找开发人员在电脑上跑真机测试 3. 公司和个人账号 直接 ...
 - 移动应用开发测试工具Bugtags集成和使用教程【转载】
		
前段时间,有很多APP突然走红,最终却都是樱花一现.作为一个创业团队,突然爆红是非常难得的机会.然并卵,由于没有经过充分的测试,再加上用户的激增,APP闪退.服务器数据异常等问题就被暴露出来,用户的流 ...
 - 从WinCE到Linux
		
到新的公司已经快两个月了,新的工作主要方向是Linux驱动移植和Android系统定制.由于项目还在立项的阶段,并没有分配具体的工作任务,所以找来一个Linux的开发板先玩一玩.它采用的处理器NUC9 ...
 - Java生成验证码小工具
		
无意中看到一个生成简易验证码的小工具类(保存学习): 工具类代码: import java.awt.BasicStroke; import java.awt.Color; import java.aw ...
 - [Compression] Hadoop 压缩
		
0. 说明 Hadoop 压缩介绍 && 压缩格式总结 && 压缩编解码器测试 1. 介绍 [文件压缩的好处] 文件压缩的好处如下: 减少存储文件所需要的磁盘空间 加速 ...
 - 基于html5 canvas 的客户端异步上传图片的插件,支持客户端压缩图片尺寸
		
/** * Created by xx on 15-05-28. * 基于html5 canvas 的客户端异步上传画片的插件 * 在实际应用中,常常要用于上传图片的功能.在现在越来越多的手机weba ...
 - Linux系统——Nginx反向代理与负载均衡
		
集群集群是指一组(若干个)相互独立的计算机,利用高速通信网路组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运用各自服务的独立服务器.这些服务器之间可以彼此通信,协同向用户提供 ...
 
随机推荐
- C语言中scanf/fscanf 的%[]和%n说明符的使用方法
			
标准输入输出函数%[]和%n说明符的使用方法 scanf fscanf,均从第一个非空格的可显示字符开始读起! 标准输入输出函数scanf具有相对较多的转换说明符,它常常作为入 ...
 - Ubuntu下实现双屏独立切换
			
在编码时,总觉得屏幕大小不够,要是能多个屏多好,可以这样 把你的显示器连接到你的电脑,然后开启一个终端 输入:xrandr 显示如下: LVDS1 connected 1366x768+1024+0 ...
 - Indiegogo: An International Crowdfunding Platform to Raise Money
			
Indiegogo: An International Crowdfunding Platform to Raise Money The world's funding platform. Fund ...
 - linux centos 卸载jdk
			
1.先看看OpenJDK的安装包 $ rpm -qa |grep java tzdata-java-2013b-1.el6.noarch java-1.6.0-openjdk-1.6.0.0-1.61 ...
 - Hermes和开源Solr、ElasticSearch
不同
			
Hermes和开源Solr.ElasticSearch不同 谈到Hermes的索引技术.相信非常多同学都会想到Solr.ElasticSearch.Solr.ElasticSearc ...
 - C#的百度地图开发(三)依据坐标获取位置、商圈及周边信息
			
原文:C#的百度地图开发(三)依据坐标获取位置.商圈及周边信息 我们得到了百度坐标,现在依据这一坐标来获取相应的信息.下面是相应的代码 public class BaiduMap { /// < ...
 - Java与C/C++有什么区别
			
JDK包含JRE, 1-08: Helloworld: 01-08:classpath配置: 运行其它目录下的class文件: classpath一般不加分号,只找classpath下的文件: 后面加 ...
 - 【Java】运用JDBC实现一个注册、登录系统的编写
			
数据库的建立 首先,建立一个数据库,存储注册成功的账户信息. 其SQL的DDL语句如下: CREATE TABLE `jdbctest` ( `id` int(10) NOT NULL auto_in ...
 - Codeforces 4A-Watermelon(意甲冠军)
			
A. Watermelon time limit per test 1 second memory limit per test 64 megabytes input standard input o ...
 - Mongodb数据备份恢复
			
Mongodb数据备份恢复 一.MongoDB数据库导入导出操作 1.导出数据库 twangback为备份的文件夹 命令: mongodump -h 127.0.0.1[服务器IP] -d advie ...