This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM6467的VDCE模块与编码模块的性能冲突问题



 

      我们用DM6467的VDCE模块来进行图像的 YUV422->YUV420的转换,用 TI 的 H264 编码库进行视频编码,为了提高效率,采用了pingpong buffer,在2个线程中并行使用 VDCE 与 encode ,经测试发现,将 VDCE模块与 encode 并行处理的时候,两者的编码效率都降低了很多,不知道大家是否遇到过这样的问题?

      我写了一个测试程序,一个线程是 encode 线程,负责通过code engine 调用 TI 的 H264 编码算法对某块内存(720*576*2)进行编码,另外一个线程是 convert 线程,负责通过 VDCE 模块对另一块内存(720*576*2)进行422->420的转换。encode线程打印出编码一帧耗时(encode time),转换线程打印出转换一帧的耗时(convert time)

 

    测试平台: DM6467-729MHZ,DVSDK3.0

 

    测试结果:

 

    如果 只开启 encode 线程,则 encode time = 8.5ms

 

    如果只开启  convert 线程,则 convert time = 3.7ms

 

    如果同时开启 encode 和 convert 线程,则:

 

    encode time:11.1 ms

 

    convert time:   5.3 ms

 
    这个性能影响很关键,加上视频采集以后,导致编码一帧耗时超过13ms了,直接导致最终无法满足项目的性能要求。希望大伙能够给予一些思路,谢谢!