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.

Memory leak in DM365 multiple H.264 encoder instances?

I found that there may be memory leaks when creating/destroying multiple H.264 encoder instances.

The version of DVSDK is 4.0 and the H.264 encoder is 02_10_00_06.

I attached the /proc/cmem log file.

cmem_step0_nothing.txt :           Application started. No encoder is created

cmem_step1_D1_created.txt:     After A D1 H.264 encoder is created.

cmem_step2_D1_destroyed.txt: After the D1  H.264 encoder is destroyed. Comparing step0/step2, we can see no memory leaks for single instance.

cmem_step3_D1_CIF_created.txt: First a CIF H.264 encoder, then a D1 H.264 encoder created.

cmem_step4_D1_CIF_destroyed.txt: First the  D1 H.264 encoder , then the CIF H.264 encoder is destroyed. Comparing step0/step4, we can see many pools in cmem is NOT freed for multiple instances.

After several times for creating/destorying multiple encoders, at last we got failure to create encoder with error message:

CMEM Error: getPool: Failed to get a pool fitting a size 56

The h.264 encoder is created by calling DMAI function Engine_open/Venc1_create, and destroyed by calling Venc1_detele/Engine_close.

 

Regards.

lcj

cmem_log.zip