测试过程:

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

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

  1. The IL-client is executed on ARM side and the corresponding firmware binaries are loaded on the Video and VPSS media controller cores.
  2. 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.
  3. Timestamps corresponding to various OMX component events for consecutive frames are logged for latency measurements
  4. T0 - Start of capture. (start time for encode path)
  5. T1 - Timestamp when capture of frame is complete
  6. T2 - Timestamp when DEI processing is done
  7. T3 - Timestamp when VENC finish encoding the frame
  8. T4 - Timestamp when VDEC starts decoding the frame
  9. T5 - Timestamp when VDEC finish decoding the frame .
  10. T6 - Timestamp when VFPC scaling is done
  11. T7 - Timestamp when VFDC send the frame to HDMI output for display
  12. T8 - Timestamp when the frame is displayed on TV
  13. 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

Summary

Metrics

  1. Glass to Glass Latency T8–T0 - Total delay observed in the system including TV delay
  2. Capture-Encode Latency = Capture-Encode Path delay + Buffers in Capture Driver
  3. Decode-Display Latency = Decode delay + Scalar delay + Display delay

Breakup

  1. Buffers in Capture Driver - Delay due to buffers held in capure driver. Range is from 0.5 to 1 frame
  2. Capture-Encode Path delay- T3–T1
  3. Buffer Hand Off to Decoder - Delay due to buffers held between VENC and VDEC components. Range is from 1 to 1.5 frames
  4. Decode Delay T5–T4
  5. Scalar Delay T6–T5
  6. Scale/Chroma Con. Display Delay T7–T5 - Cummulative delay for scaling, chroma conversion and display
  7. 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编解码器测试的更多相关文章

  1. 在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库

    在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库 根据调查,普通人产生的1.2万亿张图像可以通过电话或数码相机捕获.这样的图像的存储,尤其是以高分辨率的原始格式, ...

  2. NVIDIA A100 GPUs上硬件JPEG解码器和NVIDIA nvJPEG库

    NVIDIA A100 GPUs上硬件JPEG解码器和NVIDIA nvJPEG库 Leveraging the Hardware JPEG Decoder and NVIDIA nvJPEG Lib ...

  3. iOS中app的分发测试

    知识的学习在于分享.分享出来才能共同进步. 关于测试 有几种方式 1.开发人员直接在电脑上 用模拟器 2. 真机调试,测试人员可以拿着测试机找开发人员在电脑上跑真机测试 3. 公司和个人账号  直接 ...

  4. 移动应用开发测试工具Bugtags集成和使用教程【转载】

    前段时间,有很多APP突然走红,最终却都是樱花一现.作为一个创业团队,突然爆红是非常难得的机会.然并卵,由于没有经过充分的测试,再加上用户的激增,APP闪退.服务器数据异常等问题就被暴露出来,用户的流 ...

  5. 从WinCE到Linux

    到新的公司已经快两个月了,新的工作主要方向是Linux驱动移植和Android系统定制.由于项目还在立项的阶段,并没有分配具体的工作任务,所以找来一个Linux的开发板先玩一玩.它采用的处理器NUC9 ...

  6. Java生成验证码小工具

    无意中看到一个生成简易验证码的小工具类(保存学习): 工具类代码: import java.awt.BasicStroke; import java.awt.Color; import java.aw ...

  7. [Compression] Hadoop 压缩

    0. 说明 Hadoop 压缩介绍 && 压缩格式总结 && 压缩编解码器测试 1. 介绍 [文件压缩的好处] 文件压缩的好处如下: 减少存储文件所需要的磁盘空间 加速 ...

  8. 基于html5 canvas 的客户端异步上传图片的插件,支持客户端压缩图片尺寸

    /** * Created by xx on 15-05-28. * 基于html5 canvas 的客户端异步上传画片的插件 * 在实际应用中,常常要用于上传图片的功能.在现在越来越多的手机weba ...

  9. Linux系统——Nginx反向代理与负载均衡

    集群集群是指一组(若干个)相互独立的计算机,利用高速通信网路组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运用各自服务的独立服务器.这些服务器之间可以彼此通信,协同向用户提供 ...

随机推荐

  1. Java程序员们最常犯的10个错误(转)

    1.将数组转化为列表 将数组转化为一个列表时,程序员们经常这样做: 1 List<String> list = Arrays.asList(arr); Arrays.asList(&quo ...

  2. sql,nosql

    1. 关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成 ...

  3. c#超时锁定

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. Python使用cx_Oracle模块连接操作Oracle数据库

    1. 简单介绍 cx_Oracle 是一个用来连接并操作 Oracle 数据库的 Python 扩展模块, 支持包含 Oracle 9.2 10.2 以及 11.1 等版本号 2.安装 最好是去官网h ...

  5. jquery ajax协调SpringMVCD实现局部刷新IV

    feedback.jsp: <%@ page language="java" import="java.util.*" pageEncoding=&quo ...

  6. HDU 4814 Golden Radio Base 模拟

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4814 题目大意: 把一个正整数表示为φ进制, φ = (1+√5)/2 . 且已知: 1. φ + 1 ...

  7. VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式

    原文:VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式 Excel包含很多公式,如数学.日期.文本.逻辑等公式,非常方便,可以灵活快捷的对数据进行处理,达到我们想要的效果.Exce ...

  8. 在CodeBlocks 开发环境中配置使用OpenCV (ubuntu系统)

    CodeBlocks是一个开放源代码的全功能的跨平台C/C++集成开发环境.CodeBlocks由纯粹的C++语言开发完毕,它使用了蓍名的图形界面库wxWidgets.对于追求完美的C++程序猿,再也 ...

  9. Wix打包系列 (六)制作升级和补丁包

    原文:Wix打包系列 (六)制作升级和补丁包 前面我们已经知道怎么制作一个完整安装包了,但我们的软件往往不能一次性就满足客户的需要,当客户需要我们给软件进行升级的时候,我们应该怎么做呢? 在这之前,我 ...

  10. 单片机实验: 三轴磁场模块 GY-271

    最近买了一块三轴磁场模块进行实验 名称:HMC5883L模块(三轴磁场模块) 型号:GY-271 使用芯片:HMC5883L 供电电源:3-5v 通信方式:IIC通信协议 测量范围:±1.3-8 高斯 ...