本帖最后由 一只耳朵怪 于 2018-6-8 11:03 编辑
我们用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