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.

multichannel osd dec_dis

Other Parts Discussed in Thread: SYSBIOS

hi all . now i use my construct link general like that vdec->swms->osd->vdis.

the source code is general like following,when the chId = 0 ,i can see the osd window.

but when i changed the chId = 1,i can not see the osd window. so why? thanks !!!

{
        int chId = 0;
        printf("\r\n@@@@@@@-----numCh----%d@@@@@@@\r\n",numCh);
        AlgLink_OsdChWinParams * chWinPrm = &g_osdChParam[chId];//chId

        chWinPrm->chId = chId;

        chWinPrm->numWindows = 10;//max = 10

        //for(winId=0; winId < chWinPrm->numWindows; winId++)
        // {
        //winId = osdParam->osdwinId;//one
        printf("\r\n$$$$$$$$$$$$$$-----winId----%d@@@@@@@\r\n",winId);

        chWinPrm->winPrm[winId].addr[0][0] = bufInfo.physAddr;
        //curVirtAddr = bufInfo.virtAddr;
        osdParam->osdVirAddr = bufInfo.virtAddr;

        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;//DEMO_OSD_WIN_WIDTH
        chWinPrm->winPrm[winId].height             = winHeight;//DEMO_OSD_WIN_HEIGHT

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

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

        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;

        osdDrawText(osdParam,(char *) osdParam->osdVirAddr);//curVirtAddr
    }
    
    System_linkControl(
            SYSTEM_LINK_ID_ALG_0,
            ALG_LINK_OSD_CMD_SET_CHANNEL_WIN_PRM,
            &g_osdChParam[chId],//chId
            sizeof(AlgLink_OsdChWinParams),
            TRUE
        );

  • Output of SwMs has only one channel channel 0 so you wont see anything if you try to apply OSD on channel 1

  • hi Badri.thanks for your answer. so like you say that if i want to see over 10 osd window in the screen for multichannel ,whether i have to change my link structure?

  • You can have multiple OSD windows on a single channel at different coordinates. Refer the mcfw demo for example

  • i mean whether i can change the macro ALG_LINK_OSD_MAX_WINDOWS value to greater than 10 .for example 20?

  • i change the macro ALG_LINK_OSD_MAX_WINDOWS is 20

    then i use the make dvr_rdk_bios6_all to rebuild the DSP firmware dvr_rdk_fw_c6xdsp.xe674 like the app note said

    but there are some errors like following :

    so how should i build?

    "/opt/DVRRDK_04.00.00.03.app/dvr_rdk/../dvr_rdk/build/dvr_rdk/obj/ti816x-evm/c6xdsp/debug/dvr_rdk_configuro/linker_mod.cmd", line 242: error #10099-D:
       placement fails for object ".const", size 0x22dd4 (page 0).  Available
       ranges:
       DDR3_DSP     size: 0xe19000     unused: 0xc          max hole: 0x4       
    "/opt/DVRRDK_04.00.00.03.app/dvr_rdk/../dvr_rdk/build/dvr_rdk/obj/ti816x-evm/c6xdsp/debug/dvr_rdk_configuro/linker_mod.cmd", line 244: error #10099-D:
       placement fails for object ".fardata", size 0x30af (page 0).  Available
       ranges:
       DDR3_DSP     size: 0xe19000     unused: 0xc          max hole: 0x4       
    "/opt/DVRRDK_04.00.00.03.app/dvr_rdk/../dvr_rdk/build/dvr_rdk/obj/ti816x-evm/c6xdsp/debug/dvr_rdk_configuro/linker_mod.cmd", line 232: error #10099-D:
       run placement fails for object ".stack", size 0x4000 (page 0).  Available
       ranges:
       DDR3_DSP     size: 0xe19000     unused: 0xc          max hole: 0x4       
    "/opt/DVRRDK_04.00.00.03.app/dvr_rdk/../dvr_rdk/build/dvr_rdk/obj/ti816x-evm/c6xdsp/debug/dvr_rdk_configuro/linker_mod.cmd", line 253: error #10099-D:
       placement fails for object ".vecs", size 0x5ff (page 0).  Available ranges:

       DDR3_DSP     size: 0xe19000     unused: 0xc          max hole: 0x4       
    "/opt/DVRRDK_04.00.00.03.app/dvr_rdk/../dvr_rdk/build/dvr_rdk/obj/ti816x-evm/c6xdsp/debug/dvr_rdk_configuro/linker_mod.cmd", line 257: error #10099-D:
       placement fails for object "ti_sdo_ipc_init", size 0x44b (page 0).
       Available ranges:
       DDR3_DSP     size: 0xe19000     unused: 0xc          max hole: 0x4       
    "/opt/DVRRDK_04.00.00.03.app/dvr_rdk/../dvr_rdk/build/dvr_rdk/obj/ti816x-evm/c6xdsp/debug/dvr_rdk_configuro/linker_mod.cmd", line 245: error #10099-D:
       placement fails for object ".switch", size 0x3e7 (page 0).  Available
       ranges:
       DDR3_DSP     size: 0xe19000     unused: 0xc          max hole: 0x4       
    "/opt/DVRRDK_04.00.00.03.app/dvr_rdk/../dvr_rdk/build/dvr_rdk/obj/ti816x-evm/c6xdsp/debug/dvr_rdk_configuro/linker_mod.cmd", line 249: error #10099-D:
       placement fails for object ".cio", size 0x3c2 (page 0).  Available ranges:
       DDR3_DSP     size: 0xe19000     unused: 0xc          max hole: 0x4       
    "/opt/DVRRDK_04.00.00.03.app/dvr_rdk/../dvr_rdk/build/dvr_rdk/obj/ti816x-evm/c6xdsp/debug/dvr_rdk_configuro/linker_mod.cmd", line 233: error #10099-D:
       placement fails for object "GROUP_1", size 0x160 (page 0).  Available
       ranges:
       DDR3_DSP     size: 0xe19000     unused: 0xc          max hole: 0x4       
    warning #10063-D: entry-point symbol other than "_c_int00" specified:
       "ti_sysbios_family_c64p_Hwi0"
    error #10010: errors encountered during linking;

  • Which memory map are you using ? Can you try 2G build ? Or if you are trying 1G + 256M Linux configuration

    change /dvr_rdk/mcfw/src_bios6/cfg/ti816x/config_1G_256MLinux.bld

     

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

     

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

  • yes ,i used the 1G + 256M

    i will changed that like you say and try again .

    thank you

  • i changed the /dvr_rdk/mcfw/src_bios6/cfg/ti816x/config_1G_256MLinux.bld like you said and try again . but when i run the app,there is following error:

     [m3vpss ]  1458608: CAPTURE: Create in progress !!!
     [m3vpss ]  1458638: CAPTURE: VIP0 PortA capture mode is [16-bit, Non-mux Discrete Sync - ACTVID_VSYNC] !!!
     [m3vpss ]  1458927: CAPTURE: 0: 0xb0ba9480, 1920 x 1080, 003f4800 B --> Extra Frames
     [m3vpss ]  1458927: CAPTURE: 1: 0xb0f9dc80, 1920 x 1080, 003f4800 B --> Extra Frames
     [m3vpss ]  1458927: CAPTURE: 2: 0xb1392480, 1920 x 1080, 003f4800 B --> Extra Frames
     [m3vpss ]  1458927: CAPTURE: 3: 0xb1786c80, 1920 x 1080, 003f4800 B --> Extra Frames
     [m3vpss ]  1458927: CAPTURE: 4: 0xb1b7b480, 1920 x 1080, 003f4800 B --> Extra Frames
     [m3vpss ]  1458927: CAPTURE: 5: 0xb1f6fc80, 1920 x 1080, 003f4800 B --> Extra Frames
     [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 58 (58)
     [m3vpss ]  UTILS: DMA: 0 of 4: Allocated PaRAM = 58 (0x49004740)
     [m3vpss ]  UTILS: DMA: 1 of 4: Allocated PaRAM = 64 (0x49004800)
     [m3vpss ]  UTILS: DMA: 2 of 4: Allocated PaRAM = 65 (0x49004820)
     [m3vpss ]  UTILS: DMA: 3 of 4: Allocated PaRAM = 66 (0x49004840)
     [m3vpss ] CAPTURE::HEAPID:0    USED:328
     [m3vpss ] CAPTURE::HEAPID:4    USED:66355200
     [m3vpss ]  1458928: CAPTURE: Create Done !!!
     [m3vpss ]  1458928: NSF: Create in progress !!!
     [m3vpss ] NSF::HEAPID:0        USED:128
     [m3vpss ] NSF::HEAPID:1        USED:4928
     [m3vpss ] NSF::HEAPID:4        USED:6266880
     [m3vpss ]  1458959: NSF: Create Done !!!
     [m3vpss ]  1458959: SWMS: Create in progress !!!
     [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 17
     ASSERT (system_ipc_msgq.c|System_ipcMsgQSendMsg|446)
     [c6xdsp ]  1457663: IPC_FRAMES_IN   : Create in progress !!!
     [m3vpss ]  1459043: SWMS0    : Loading Vertical Co-effs (UPSCALE)x ...
     [c6xdsp ]  1457663: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_19] ...
     [m3vpss ]  1459043: SWMS0    : Loading Horizontal Co-effs (UPSCALE)x ...
     [c6xdsp ]  1457663: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_19] ...
     [m3vpss ]  1459044: SWMS    : Co-effs Loading ... DONE !!!
     [m3vpss ]  1459044: SWMS    : ******* Configuring clock 15 secs...
     [m3vpss ]  1459044: SWMS0    : Loading Vertical Co-effs (UPSCALE)x ...
     [c6xdsp ] IPC_FRAMES_IN:HEAPID:0       USED:304
     [m3vpss ]  1459044: SWMS0    : Loading Horizontal Co-effs (UPSCALE)x ...
     [c6xdsp ]  1457665: IPC_FRAMES_IN   : Create Done !!!
     [m3vpss ]  1459044: 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 |  1920 /  1920 | NON-TILED   |    0,    0 |  1920 x   1080 |  3840 /      0 | NON-TILED   |      OFF |    0 |  420SP |   OFF |
     [m3vpss ]  
     [m3vpss ] SWMS:HEAPID:0        USED:224
     [m3vpss ] SWMS:HEAPID:1        USED:47296
     [m3vpss ] SWMS:HEAPID:4        USED:16588800
     [m3vpss ]  1459046: SWMS: Create Done !!!
     [m3vpss ]  1459046: IPC_FRAMES_OUT   : Create in progress !!!
     [m3vpss ]  1459048: IPC_FRAMES_OUT   : Create Done !!!

  • i see the SYSTEM_IPC_MSGQ_MSG_SIZE_MAX is 96*1024.

    whether because i change that ALG_LINK_OSD_MAX_WINDOWS to 20 ,so the prmSize is expanded to 113816

    if it is like that .so whether i should expand the value of the  SYSTEM_IPC_MSGQ_MSG_SIZE_MAX

  • i expand the SYSTEM_IPC_MSGQ_MSG_SIZE_MAX to 120*1024.

    and then once i set the osd window paramter chWinPrm->numWindows>10,just as

    chWinPrm->numWindows = 11

    when i run the app ,that will like following :

     [m3vpss ]  140978: DISPLAY: Start Done !!!
     [m3vpss ]  140978: DISPLAY: HDDAC(BP0) : 32 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) DropCount:0 DispLatency (Min / Max) = ( 7811 / 0 ) !!!
     [m3vpss ]  140978: DISPLAY DRV: HDDAC(BP0) : Q:[2] Display:[2], Repeat:[1], DQ:[0]
     [m3vpss ]  140978: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 0, HDDAC(BP0) 0, DVO2(BP1) 0, SDDAC(SEC1) 0
     [m3vpss ]  140978: SYSTEM  : FREE SPACE : System Heap      = 67696 B, Mbx = 10238 msgs)
     [m3vpss ]  140978: SYSTEM  : FREE SPACE : SR0 Heap         = 8705408 B (8 MB)
     [m3vpss ]  140979: SYSTEM  : FREE SPACE : Frame Buffer     = 185138048 B (176 MB)
     [m3vpss ]  140979: SYSTEM  : FREE SPACE : Bitstream Buffer = 210763648 B (200 MB)
     [m3vpss ] TILER_STATS: CNT :8BIT
     [m3vpss ]  140979: SWMS: Start in Progress !!!
     [m3vpss ]  140979: SWMS: Start Done !!!
     [m3vpss ] TILER_STATS: CNT RESOLUTION:    16384 x 8192
     [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 16384 x 8188
     [m3vpss ] TILER_STATS: NUM FREE BUCKETS:  1
     [m3vpss ] TILER_STATS: NUM USED BUCKETS:  0
     [m3vpss ] TILER_STATS: TOTAL FREE AREA:   134152192 (99 %)
     [m3vpss ] TILER_STATS: TOTAL USED AREA:   0 (0 %)
     [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:  1
     [m3vpss ] TILER_STATS: NUM USED BUCKETS:  0
     [m3vpss ] TILER_STATS: TOTAL FREE AREA:   100663296 (100 %)
     [m3vpss ] TILER_STATS: TOTAL USED AREA:   0 (0 %)
     [m3vpss ]  140981: SYSTEM  : FREE SPACE : Tiler 8-bit      = 134152192 B (127 MB)  - TILER ON
     [m3vpss ]  140981: SYSTEM  : FREE SPACE : Tiler 16-bit     = 100663296 B (96 MB)  - TILER ON

     [host] IpcBitsInLink_tskMain:Entered

    it will stop at here

    so how to fix that

  • i also test like that

    the ALG_LINK_OSD_MAX_WINDOWS is still default 10

    but i change the parameter chWinPrm->numWindows = 11

    the result is still like up

    it will still stop there,so i want to know whether i changed the ALG_LINK_OSD_MAX_WINDOWS that is not builded 

     [m3vpss ]  140978: DISPLAY: Start Done !!!
     [m3vpss ]  140978: DISPLAY: HDDAC(BP0) : 32 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) DropCount:0 DispLatency (Min / Max) = ( 7811 / 0 ) !!!
     [m3vpss ]  140978: DISPLAY DRV: HDDAC(BP0) : Q:[2] Display:[2], Repeat:[1], DQ:[0]
     [m3vpss ]  140978: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 0, HDDAC(BP0) 0, DVO2(BP1) 0, SDDAC(SEC1) 0
     [m3vpss ]  140978: SYSTEM  : FREE SPACE : System Heap      = 67696 B, Mbx = 10238 msgs)
     [m3vpss ]  140978: SYSTEM  : FREE SPACE : SR0 Heap         = 8705408 B (8 MB)
     [m3vpss ]  140979: SYSTEM  : FREE SPACE : Frame Buffer     = 185138048 B (176 MB)
     [m3vpss ]  140979: SYSTEM  : FREE SPACE : Bitstream Buffer = 210763648 B (200 MB)
     [m3vpss ] TILER_STATS: CNT :8BIT
     [m3vpss ]  140979: SWMS: Start in Progress !!!
     [m3vpss ]  140979: SWMS: Start Done !!!
     [m3vpss ] TILER_STATS: CNT RESOLUTION:    16384 x 8192
     [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 16384 x 8188
     [m3vpss ] TILER_STATS: NUM FREE BUCKETS:  1
     [m3vpss ] TILER_STATS: NUM USED BUCKETS:  0
     [m3vpss ] TILER_STATS: TOTAL FREE AREA:   134152192 (99 %)
     [m3vpss ] TILER_STATS: TOTAL USED AREA:   0 (0 %)
     [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:  1
     [m3vpss ] TILER_STATS: NUM USED BUCKETS:  0
     [m3vpss ] TILER_STATS: TOTAL FREE AREA:   100663296 (100 %)
     [m3vpss ] TILER_STATS: TOTAL USED AREA:   0 (0 %)
     [m3vpss ]  140981: SYSTEM  : FREE SPACE : Tiler 8-bit      = 134152192 B (127 MB)  - TILER ON
     [m3vpss ]  140981: SYSTEM  : FREE SPACE : Tiler 16-bit     = 100663296 B (96 MB)  - TILER ON

     [host] IpcBitsInLink_tskMain:Entered