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.

Need more LINUX_MEM in DM8107 dvr

Other Parts Discussed in Thread: DM8107

Im using DM8107 DVR, 16-channel usecase is running, memory mapping is like this

var TOTAL_MEM_SIZE             = 512*MB;

/* first 256MB */
var LINUX_SIZE                 = 128*MB;
var SR1_SIZE                   =  90*MB;
var VIDEO_M3_CODE_SIZE         =   3*MB;
var VIDEO_M3_DATA_SIZE         =   5*MB;
var VIDEO_M3_BSS_SIZE          =  11*MB;
var DSS_M3_CODE_SIZE           =   2*MB;
var DSS_M3_DATA_SIZE           =   5*MB;
var DSS_M3_BSS_SIZE            =  12*MB;

/* second 256MB */
var TILER_SIZE                 = 100*MB;
var SR2_FRAME_BUFFER_SIZE      = 147*MB + 320*KB;
var SR0_SIZE                   = 6*MB   - 256*KB;
var VIDEO_M3_EXCEPTION_CTX_SIZE= 128*KB;
var VPSS_M3_EXCEPTION_CTX_SIZE = 128*KB;
var HDVPSS_DESC_SIZE           = 2*MB;
var HDVPSS_SHARED_SIZE         = 512*KB;
var NOTIFY_SHARED_SIZE         = 128*KB;
var REMOTE_DEBUG_SIZE          = 64*KB;

free memory usage is like this

FREE SPACE : 16 channel
System Heap 185592 B, Mbx
SR0 Heap 1267200 B (1 MB)
SR2.Frame Buffer 6905600 B (6 MB)
SR1.Bitstream Buffer 27479424 B (26 MB)
Tiler 8-bit 6766592 B (6 MB) - TILER ON
Tiler 16-bit 13344768 B (12 MB) - TILER ON

How to get more memory free from SR0,SR1,SR2? Also how the memory is exactly allocated?

I#define UTILS_ENCDEC_GET_BITBUF_SIZE(width,height,bitrate,framerate)
\
((width) * (height))

by changing this macro i can very SR1, how other shared memory regions can be changed?

  • Is any way to reduce SR0,SR1,SR2 shared memory sizes?

  • How much linux memor are you looking to have. It is very difficult to increase Linux memory size for the 16 channel usecase as you have seen the used memory in the logs and they indicate all memory is fully used. Which DVR RDK release are you using  ? In DVR RDK 4.0 ipcBitsOut link uses RingIo which uses memory more efficiently and some SR1 memory can be potentially reduced but not  by much.It is better you go in for greater than 512MB if you want more Linux memory + 16 channel usecase