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.

OSD buffer alloc size

hi all. i want to know if i use the following function to alloc osd buffer,the max size of the buffer is how many?

whether it depend on the memory configure?

Vsys_allocBuf(OSD_BUF_HEAP_SR_ID, *osdParam->osdBufSize, bufAlign, &bufInfo)

  • I use RGB way to filled the osd buffer.my problem is that when i alloc buff size is much bigger,for example the OSD content is "abcdefghijklmnopqrstuvwxyz",but when i Vsys_freeBuf the buffer ,it will stop down after the function Vsys_freeBuf ,

    however when the OSD content is "abcde",it is litter length ,it will be free memory normally,and exit normally?

    so that is why?

  • i found that when i alloc the buffer size is bigger than about 44928B,then the whole system will be down.

    but my memory configure is following, i think 16MB is enough .why?

    i just change the /dvr_rdk/mcfw/src_bios6/cfg/ti816x/config_1G_256MLinux.bld

    SR1_SIZE                   = 199*MB;  // (- 2 MB)

     

    DSP_DATA_SIZE              = 16*MB + 100*KB; // (+ 2 MB)

    and the osd win parameter is about following:

    chWinPrm->winPrm[winId].startX = osdParam->startX;//DEMO_OSD_WIN0_STARTX//100 ;
    chWinPrm->winPrm[winId].startY = osdParam->startY;//DEMO_OSD_WIN0_STARTY + (DEMO_OSD_WIN_HEIGHT+DEMO_OSD_WIN0_STARTY)*winId;

    chWinPrm->winPrm[winId].width = winWidth;
    chWinPrm->winPrm[winId].height = winHeight;

    chWinPrm->winPrm[winId].lineOffset = winWidth;

    chWinPrm->winPrm[winId].globalAlpha = osdParam->globalAlpha;

    chWinPrm->winPrm[winId].transperencyEnable = 1;//DEMO_OSD_TRANSPARENCY
    chWinPrm->winPrm[winId].enableWin = osdParam->osdEnable;//DEMO_OSD_ENABLE_WIN;
    chWinPrm->winPrm[winId].format = SYSTEM_DF_RGB24_888;

  • i do some othe test .whether the win width can not be over 320,so somewhere can change the max width vaulue,

    i just find the macro

    #define DEMO_OSD_WIN_MAX_WIDTH   (320)

    but i can not find where it is used

  • billy david said:

    I use RGB way to filled the osd buffer.my problem is that when i alloc buff size is much bigger,for example the OSD content is "abcdefghijklmnopqrstuvwxyz",but when i Vsys_freeBuf the buffer ,it will stop down after the function Vsys_freeBuf

    This indicates you are corrupting the SharedRegion heap by writing beyond the allocated memory size

  • but when i create multiple the window width <= 320 ,it can be successful,so i think it is not memory enough.my every osd content will not be over 3K,but my memory configure is following:

    i just change the /dvr_rdk/mcfw/src_bios6/cfg/ti816x/config_1G_256MLinux.bld

    SR1_SIZE                   = 199*MB;  // (- 2 MB)

     

    DSP_DATA_SIZE              = 16*MB + 100*KB; // (+ 2 MB)

  • i want to know how should set the osd window width parameters.because i do some test .when i set DEMO_OSD_WIN_WIDTH and the DEMO_OSD_WIN_PITCH_H to be both 720 or 224

    they can run normally

    but i set them to be 480 ,that can not run normally?

    so why

  • i find  that i should  set the following parameters:

    // set osd window max width and height
    dspAlgPrm[0].osdChCreateParams[chId].maxWidth = EXAMPLE_OSD_WIN_MAX_WIDTH;
    dspAlgPrm[0].osdChCreateParams[chId].maxHeight = EXAMPLE_OSD_WIN_MAX_HEIGHT;


    but  when set the EXAMPLE_OSD_WIN_MAX_WIDTH = 1920,that video will be stop down.i want to know the max value of the both parameter?


    tks

  • i found that i can set the max value of the EXAMPLE_OSD_WIN_MAX_WIDTH is just 720.then if over the max value,the system will stop following.In my opition the max value may be to 1920,so why? 

    [host] HDMI Ctrl :Initializing
    [host] HDMI Ctrl :Initialized
    [host] HDMI Ctrl :Sink Connected
    [m3vpss ] 81907: IPC_IN_M3 : Create in progress !!!
    [m3video] DECLINK_H264:HEAPID:0 USED:2368
    [m3vpss ] 81907: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_0] ...
    [m3video] DECLINK_H264:HEAPID:3 USED:9363456
    [m3vpss ] 81908: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_0] ...
    [m3video] 81899: DECODE: Creating CH1 of 1920 x 1080 [PROGRESSIVE] [TILED ],target bitrate = 2000 Kbps ...
    [m3vpss ] 81910: IPC_IN_M3 : Create Done !!!
    [m3video] 81901: DECODE: All CH Create ... DONE !!!
    [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS faileddue to invalid cfg
    [m3vpss ] Config:DisplayID[0],ChID[0]
    [m3vpss ] 81911: MERGE : Create Done !!!
    [m3video] DECLINK:HEAPID:0 USED:4856
    [m3vpss ] 81916: DUP : Create Done !!!
    [m3video] DECLINK:HEAPID:3 USED:18726912
    [m3vpss ] 81917: SWMS: Create in progress !!!
    [m3video] 81904: DECODE: Create ... DONE !!!
    [m3video] 81904: IPC_OUT_M3 : Create in progress !!!
    [m3video] 81905: IPC_OUT_M3 : Create Done !!!
    [m3vpss ] UTILS: DMA: Allocated CH (TCC) = 59 (59)
    [m3vpss ] UTILS: DMA: 0 of 1: Allocated PaRAM = 59 (0x49004760)
    [m3vpss ] SWMS: instance 0, sc id 5, start win 0 end win 15
    [m3vpss ] SWMS: instance 1, sc id 7, start win 16 end win 33
    [m3vpss ] 82023: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ...
    [m3vpss ] 82023: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ...
    [m3vpss ] 82023: SWMS : Co-effs Loading ... DONE !!!
    [m3vpss ] 82023: SWMS : VipScReq is FALSE!!!
    [c6xdsp ] 80580: IPC_FRAMES_IN : Create in progress !!!
    [m3vpss ] 82027: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ...
    [c6xdsp ] 80580: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_19] ...
    [m3vpss ] 82027: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ...
    [c6xdsp ] 80580: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_19] ...
    [m3vpss ] 82027: SWMS : Co-effs Loading ... DONE !!!
    [m3vpss ] 82027: SWMS : ******* Configuring clock 15 secs...
    [m3vpss ] 82027: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ...
    [c6xdsp ] IPC_FRAMES_IN:HEAPID:0 USED:304
    [m3vpss ] 82027: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ...
    [c6xdsp ] 80581: IPC_FRAMES_IN : Create Done !!!
    [m3vpss ] 82028: SWMS : Co-effs Loading ... DONE !!!
    [c6xdsp ] 80581: ALG : Create in progress !!!
    [m3vpss ] 82028: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ...
    [m3vpss ] 82028: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ...
    [m3vpss ] 82028: SWMS : Co-effs Loading ... DONE !!!
    [m3vpss ]
    [m3vpss ] *** [SWMS0] Mosaic Parameters ***
    [m3vpss ]
    [m3vpss ] Output FPS: 60
    [m3vpss ]
    [m3vpss ] Win | Ch | Input | Input | Input | Input | Output | Output | Output | Output | Low Cost | SWMS | Data | Blank |
    [m3vpss ] Num | Num | Start X, Y | Width x Height | Pitch Y / C | Memory Type | Start X, Y | Width x Height | Pitch Y / C | Memory Type | ON / OFF | Inst | Format| Frame |
    [m3vpss ] ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
    [m3vpss ] 0 | 0 | 0, 0 | 1920 x 1080 | 16384 / 32768 | TILED | 0, 0 | 1920 x 1080 | 3840 / 0 | NON-TILED | OFF | 0 | 420SP | OFF |
    [m3vpss ]
    [m3vpss ] SWMS:HEAPID:0 USED:288
    [c6xdsp ] 80592: ALG : Create Done !!!
    [m3vpss ] SWMS:HEAPID:1 USED:64352
    [m3vpss ] SWMS:HEAPID:4 USED:20736000
    [m3vpss ] 82029: SWMS: Create Done !!!
    [m3vpss ] 82029: IPC_FRAMES_OUT : Create in progress !!!
    [m3vpss ] 82031: IPC_FRAMES_OUT : Create Done !!!
    [m3vpss ] 82046: DISPLAY: Create in progress !!!
    [m3vpss ] 82047: DISPLAY: Create Done !!!
    [m3vpss ] 82047: DISPLAY: Start in progress !!!
    [m3vpss ] 82107: DISPLAY: Start Done !!!
    [m3vpss ] 82107: DISPLAY: HDDAC(BP0) : 33 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) DropCount:0 DispLatency (Min / Max) = ( 7811 / 0 ) !!!
    [m3vpss ] 82107: DISPLAY DRV: HDDAC(BP0) : Q:[2] Display:[2], Repeat:[1], DQ:[0]
    [m3vpss ] 82107: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 12, HDDAC(BP0) 12, DVO2(BP1) 12, SDDAC(SEC1) 12
    [m3vpss ] 82107: SYSTEM : FREE SPACE : System Heap = 66976 B, Mbx = 10238 msgs)
    [m3vpss ] 82107: SYSTEM : FREE SPACE : SR0 Heap = 8712320 B (8 MB)
    [m3vpss ] 82107: SYSTEM : FREE SPACE : Frame Buffer = 42019712 B (40 MB)
    [m3vpss ] 82108: SYSTEM : FREE SPACE : Bitstream Buffer = 175488896 B (167 MB)
    [m3vpss ] 82108: SWMS: Start in Progress !!!
    [m3vpss ] 82108: SWMS: Start Done !!!
    [m3vpss ] TILER_STATS: CNT :8BIT
    [m3vpss ] TILER_STATS: CNT RESOLUTION: 16384 x 8192
    [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 16384 x 8188
    [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 0
    [m3vpss ] TILER_STATS: NUM USED BUCKETS: 1
    [m3vpss ] TILER_STATS: TOTAL FREE AREA: 110067712 (82 %)
    [m3vpss ] TILER_STATS: TOTAL USED AREA: 24084480 (17 %)
    [m3vpss ] TILER_STATS: TOTAL WASTE AREA: 0 (0 %)
    [m3vpss ] TILER_STATS: MAX WIDTH RECT: 16384 x 5836
    [m3vpss ] TILER_STATS: MAX HEIGHT RECT: 16384 x 5836
    [m3vpss ] TILER_STATS: RES ALLOC COUNT [1080P] : 10
    [m3vpss ] TILER_STATS: CNT :16BIT
    [m3vpss ] TILER_STATS: CNT RESOLUTION: 32768 x 3072
    [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 3072
    [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 0
    [m3vpss ] TILER_STATS: NUM USED BUCKETS: 1
    [m3vpss ] TILER_STATS: TOTAL FREE AREA: 88621056 (88 %)
    [m3vpss ] TILER_STATS: TOTAL USED AREA: 12042240 (11 %)
    [m3vpss ] TILER_STATS: TOTAL WASTE AREA: 0 (0 %)
    [m3vpss ] TILER_STATS: MAX WIDTH RECT: 32768 x 2484
    [m3vpss ] TILER_STATS: MAX HEIGHT RECT: 32768 x 2484
    [m3vpss ] TILER_STATS: RES ALLOC COUNT [1080P] : 10
    [m3vpss ] 82110: SYSTEM : FREE SPACE : Tiler 8-bit = 110067712 B (104 MB) - TILER ON
    [m3vpss ] 82110: SYSTEM : FREE SPACE : Tiler 16-bit = 88621056 B (84 MB) - TILER ON