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.

IPNC RDK3.5 Bitrate change

Other Parts Discussed in Thread: DM385

In customized DM385 platform..

If I'm using rate control preset value, unable to change the bit rate dynamically..,

I want to change the bit rate from 8Mbps to 2Mbps.., Where it could be setted to 8Mbps

 dynamicParams->rateControlParams.rateControlParamsPreset = 4;
 dynamicParams->rateControlParams.HRDBufferSize = 0;
 dynamicParams->rateControlParams.initialBufferLevel = 0;
 dynamicParams->videnc2DynamicParams.targetBitRate = 0;
 dynamicParams->rateControlParams.rcAlgo = 0;

I enabled the above values for Mjpeg Encoder, I could n't able to change the bit rate !!!

Any one can guide me to solve this issue ???

Regards,

Rajesh Kannan.S

  • Hi Rajesh,
    Thanks for the log. Please try following steps below.

    1. In Rules.make set:- MJPEG_RC_MODE := MJPEG_VBR_MODE
    2. rateControlPreset = 5;
    3. targetBitRate = 2000000;
    4. rateControlParamsPreset = 1;
    5. maxBitRate = 1.5 * targetBitRate;
    6. minBitRate = 1000000;
    7. rcAlgo = 0;
    8. initialBufferLevel = 2 * targetBitRate;
    9. HRDBufferSize = 2 * targetBitRate;
  • Hi Prashanth,

    Thanks for your reply.

    GUI application stopped automatically ..,

    Find the log for your reference..,

    Thanks &

    Regards,

    Rajesh Kannan.S

    test_10.txt
    mv: overwrite '/etc/udev/saved.cmdline'? 
    mv: overwrite '/etc/udev/saved.atags'? 
    
    logger: mount: mount point /dev/shm does not exist
    NOT configuring network interfaces: / is an NFS mount
    rm: cannot remove '/tmp': Device or resource busy
     inside finish_ubifs.sh
    UBI: attaching mtd5 to ubi0
    UBI: physical eraseblock size:   131072 bytes (128 KiB)
    UBI: logical eraseblock size:    126976 bytes
    UBI: smallest flash I/O unit:    2048
    UBI: sub-page size:              512
    UBI: VID header offset:          2048 (aligned 2048)
    UBI: data offset:                4096
    UBI: max. sequence number:       614
    UBI: attached mtd5 to ubi0
    UBI: MTD device name:            "Data"
    UBI: MTD device size:            12 MiB
    UBI: number of good PEBs:        96
    UBI: number of bad PEBs:         0
    UBI: number of corrupted PEBs:   0
    UBI: max. allowed volumes:       128
    UBI: wear-leveling threshold:    4096
    UBI: number of internal volumes: 1
    UBI: number of user volumes:     1
    UBI: available PEBs:             0
    UBI: total number of reserved PEBs: 96
    UBI: number of PEBs reserved for bad PEB handling: 2
    UBI: max/mean erase counter: 153/110
    UBI: image sequence number:  2098180393
    UBI: background thread "ubi_bgt0d" started, PID 155
    UBI device number 0, total 96 LEBs (12189696 bytes, 11.6 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
    UBIFS: recovery needed
    UBIFS: recovery completed
    UBIFS: mounted UBI device 0, volume 0, name "ubifs_volume"
    UBIFS: file system size:   10285056 bytes (10044 KiB, 9 MiB, 81 LEBs)
    UBIFS: journal size:       1015809 bytes (992 KiB, 0 MiB, 6 LEBs)
    UBIFS: media format:       w4/r0 (latest is w4/r0)
    UBIFS: default compressor: lzo
    UBIFS: reserved for root:  485787 bytes (474 KiB)
    amixer: Cannot find the given element from control default
    
    SysLink version : 2.20.02.20
    SysLink module created on Date:Jul 15 2016 Time:18:58:16
    Trace enabled
    Trace SetFailureReason enabled
    /dev/mem opened.
                 Phy Addr : 0x48181560 Data : 0x00000102
              Unhandled fault: external abort on non-linefetch (0x1018) at 0x4021c0e4
       Phy Addr : 0x48180f10 Data : 0x00000000
                 Phy Addr : 0x48180508 Data : 0x00000302
                 Phy Addr : 0x48180520 Data : 0x00000002
                 Phy Addr : 0x48180524 Data : 0x00000002
                 Phy Addr : 0x48180528 Data : 0x00000002
                 Phy Addr : 0x4c0000e4 Data : 0x00170208
    Bus error
     Before Mount
    FOSSILSHALE : In main() launcher........
    
    
     [host]  Setting DMM priority for [ISS     ] to [0] ( 0x4e000634 = 0x00080000 )
     [host]  Setting L3 bandwidth regulator for [ISS     ] to [press=[3,3] BW=100, WM Cycles=2000]
    FOSSILSHALE : In launcherThread...
     Run....CarBlackBoxServer  Wait to finish..../opt/cbb/cbbmgr 
    
    FOSSILSHALE : In launcherThread...
     Run....device_manager  Wait to finish..../opt/cbb/devmgr2 
    
     [c6xdsp ] Remote Debug Shared Memory @ 0xbff00000
     [m3video] Remote Debug Shared Memory @ 0xbff05020
     [m3vpss ] Remote Debug Shared Memory @ 0xbff0a040
    
     [host]  Setting DMM priority for [HDVICP0 ] to [1] ( 0x4e000634 = 0x00000009 )
    
     [host]  Setting L3 bandwidth regulator for [HDVICP0 ] to [press=[0,0] BW=300, WM Cycles=800]
    Creat queue id:0
    queue id:0
    ==== GUI ==== Gui_RegClient] client id = 3
    Creat mcu_bridge_i2c_write - i2c write error!!
    queue id:32769
    queue id:32769
    ==== GUI ==== Gui_RegClient] Register Client 3 3 Success
    mkdir: cannot create directory '/opt/tmp': Permission denied
    already exist  path  /mnt/mmc/record 
    already exist  path  /opt/tmp 
    already exist  path  /mnt/mmc/motion 
    already exist  path  /mnt/mmc/log 
    already exist  path  /mnt/mmc/snapshot 
    devmgr_mcu.c: error: _mcu_read: MCU_IOCTL_CMD_READ error!!
    devmgr_mcu.c: error: mcu_get_HwVersion() error!!
      devmgr(err) devmgr_hal_sys_power_open(498) : Version failed
      devmgr(err) devmgr_hal_open_dev(679) : open Failed device type = 1
    Creat queue id:65538
    queue id:65538
    devmgr_mcu.c: error: _mcu_read: MCU_IOCTL_CMD_READ error!!
    devmgr_mcu.c: error: mcu_get_HwVersINIT: Entering runlevel: 5
    Debug FOSSILSHALE ::: CbbMgr_Start
    Creat queue id:98307
    queue id:98307
    queue id:98307
    Creat queue id:131076
    queue id:131076
    queue id:131076
     [c6xdsp ] Remote Debug Shared Memory @ 0xbff00000
     [m3video] Remote Debug Shared Memory @ 0xbff05020
     [m3vpss ] Remote Debug Shared Memory @ 0xbff0a040
    Creat queue id:163845
    queue id:163845
    GPSMGR(DBG) GPSMgr_Create(432) : Called
    queue id:131076
    Creat queue id:196614
    queue id:196614
    queue id:131076
      devmgr(err) devmgr_hal_ctrl_dev(776) : hdev == NULL || pdata == NULL
    GPSMGR(DBG) GPSMgr_InitRun(174) : Called
    GPSMGR(DBG) GPSMgr_OpenUART(289) : Called
    GPSMGR(DBG) GPSMgr_OpenUART(310) : Called
    mount: /dev/mmcblk0 already mounted or /mnt/mmc/ busy
    mount: according to mtab, /dev/mmcblk0p1 is already mounted on /mnt/mmc
    
     [host] Attached to slave procId 1.
    FOSSILSHALE :::::::  Memory size for REC=194760   EVT=2661787
    
     [host] Loaded file ./firmware/ipnc_rdk_fw_m3vpss.xem3 on slave procId 1.
    
     [host] Started slave procId 1.
    
     [host] After Ipc_loadcallback status [0x00000000]
    Starting system message bus:  [m3vpss ] ***** SYSTEM  : Frequency <ORG> - 200000000, <NEW> - 200000000
     [m3vpss ] notify_attach  rtnVal  0
     [m3vpss ] initProxyServer  rtnVal  0
     [m3vpss ]  
     [m3vpss ]  *** UTILS: CPU KHz = 400000 Khz ***
     [m3vpss ]  
     [m3vpss ]  88: SYSTEM  : System Common Init in progress !!!
     [m3vpss ]  88: SYSTEM: IPC init in progress !!!
     [m3vpss ]  89: SYSTEM: Attaching to [HOST] ... 
     [m3vpss ]  139: SYSTEM: Attaching to [HOST] ... 
     [m3vpss ]  146: SYSTEM: Attaching to [HOST] ... SUCCESS !!!
     [m3vpss ]  146: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP] ...
     [m3vpss ]  146: SYSTEM: Creating MsgQ [VPSS-M3_MSGQ] ...
     [m3vpss ]  147: SYSTEM: Creating MsgQ [VPSS-M3_ACK_MSGQ] ...
     [m3vpss ]  149: SYSTEM: Notify register to [HOST] line 0, event 10 ... 
     [m3vpss ]  149: SYSTEM: IPC init DONE !!!
    
     [host] After Ipc_startcallback status [0x00000000]
     [m3vpss ]  160: MEM: Shared Region 2: Base = 0xb8000000, Length = 0x06900000 (105 MB) 
     [m3vpss ]  160: MEM: Shared Region 1: Base = 0x8c200000, Length = 0x01400000 (20 MB) 
     [m3vpss ]  163: SYSTEM  : System Common Init Done !!!
     [m3vpss ] Received character 's'
    queue id:98307
    RAJESHKANNAN ::: In Bitrate1 = (1000000)...
    RAJESHKANNAN ::: In Bitrate2 = (5000000)...
    RAJESHKANNAN ::: StartStream In Bitrate1 = (1000000)...
    RAJESHKANNAN ::: StartStream In Bitrate2 = (5000000)...
    
    CPU is TI812x
    DEMOCFG Value	: 0
    
    *****************************************************************
    
        CARBB BUILD VERSION: GA v1.5	
    
    *****************************************************************
    
    RAJESHKANNAN In stream_Env = (1000000)....
    ./bin/ipnc_rdk_mcfw.out VNF_QUALITY SINGLESTREAM SINGLE_JPEG AUDIO 16000 TI2A AEWB WVGA MJPEG 80 SHM 65538 &
    ApproDrvInit: 7
    Creat queue id:229383
    queue id:229383
    dbus.
    
     [host] 
    
    
    ################ mcfw main start (tick_time: 20659 ms) ############## 
    
     [host] RAJESHKANNAN :: Setting priority to CBBRDK...
    
     [host] DS.Ahn: shm_id[65538]Starting telnet daemon.
    Starting syslogd/klogd:  [c6xdsp ] Remote Debug Shared Memory @ 0xbff00000
     [m3video] Remote Debug Shared Memory @ 0xbff05020
     [m3vpss ] Remote Debug Shared Memory @ 0xbff0a040
    done
     [m3vpss ]  563:
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org dm814x-evm ttyO0
    
    Arago 2010.11 dm814x-evm ttyO0
    
    dm814x-evm login: root (automatic login)
     [m3vpss ] === I2C0/2 Clk is active ===
     [m3vpss ] PLATFORM: UNKNOWN CPU detected, defaulting to VPS_PLATFORM_CPU_REV_1_0
     [m3vpss ]  PLATFORM: UNKNOWN CPU detected, defaulting to ISS_PLATFORM_CPU_REV_2_1
     [m3vpss ]  582: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_0] in region 0 ...
     [m3vpss ]  582: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_0] in region 0 ...
     [m3vpss ]  583: SYSTEM: ListElem Shared Addr = 0xbe981180
     [m3vpss ]  585: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_1] in region 0 ...
     [m3vpss ]  586: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_1] in region 0 ...
     [m3vpss ]  586: SYSTEM: ListElem Shared Addr = 0xbe984680
     [m3vpss ]  600: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_25] in region 0 ...
     [m3vpss ]  601: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_25] in region 0 ...
     [m3vpss ]  601: SYSTEM: ListElem Shared Addr = 0xbe987b80
     [m3vpss ]  604: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_26] in region 0 ...
     [m3vpss ]  605: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_26] in region 0 ...
     [m3vpss ]  605: SYSTEM: ListElem Shared Addr = 0xbe9a7580
     [m3vpss ]  608: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_27] in region 0 ...
     [m3vpss ]  608: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_27] in region 0 ...
     [m3vpss ]  609: SYSTEM: ListElem Shared Addr = 0xbe9c6f80
     [m3vpss ]  616: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_30] in region 0 ...
     [m3vpss ]  616: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_30] in region 0 ...
     [m3vpss ]  616: SYSTEM: ListElem Shared Addr = 0xbe9e6980
     [m3vpss ]  619: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_31] in region 0 ...
     [m3vpss ]  619: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_31] in region 0 ...
     [m3vpss ]  620: SYSTEM: ListElem Shared Addr = 0xbea00600
     [m3vpss ]  622: SYSTEM : HDVPSS Drivers Version: HDVPSS_01_00_01_37
     [m3vpss ]  622: SYSTEM  : FVID2 Init in progress !!!
     [c6xdsp ] Remote Debug Shared Memory @ 0xbff00000
     [m3video] Remote Debug Shared Memory @ 0xbff05020
     [m3vpss ] Remote Debug Shared Memory @ 0xbff0a040
     [m3vpss ]  687: SYSTEM  : FVID2 Init in progress DONE !!!
     [m3vpss ]  687: SYSTEM  : Device Init in progress !!!
     [m3vpss ]  Iss_init called !!!!!! 
     [m3vpss ]  CPIS_init DONE !!!!!! 
     [m3vpss ] initPrms.isI2cInitReq = 1
     [m3vpss ] initPrms.isI2cProbingReq = 0
     [m3vpss ] Vps_mt9d111_lvds_init: LVDS_DES Configuration Done
     [m3vpss ] Vps_mt9d111_lvds_init: Failed to write 0xc0 to register 0x06 in DS90UB913
     [m3vpss ] Vps_mt9d111_lvds_init: Failed to write 0xc0 to register 0x07 in DS90UB913
     [m3vpss ] Vps_mt9d111_lvds_init: Failed to write 0x99 to register 0x0d in DS90UB913
     [m3vpss ] Vps_mt9d111_lvds_init: LVDS_SER Configuration Failed
     [m3vpss ] (Vps_mt9d111_lvds_control_gpio) failed to read DS90UB913[0d]
     [m3vpss ] (Vps_mt9d111_lvds_control_gpio) failed to read DS90UB913[0d]
     [m3vpss ]  ERROR src/vps_platform.c:Vps_mt9d111_lvds_init failed:703: 
     [m3vpss ] Vps_platformGetBoardId: Image Sensor(0x00000407) - Addr(0x48)
     [m3vpss ] Vps_platformGetBoardId: VPS_PLATFORM_BOARD_UNKNOWN
     [m3vpss ] : platformId(0), boardId(0)
     [m3vpss ]  Vps_deviceInit Daughter card not detected/connected!
     [m3vpss ]  858: SYSTEM  : Device Init in progress DONE !!!
     [m3vpss ] .........INSIDE IMX122 INIT.........
    root@dm814x-evm:~#  [m3vpss ]  Iss_Imx122Init ok!
     [m3vpss ]  996: SYSTEM  : System VPSS Init Done !!!
     [m3vpss ]  996: UTILS: DMA: HWI Create for INT62 !!!
     [m3vpss ]  996: HDVICP: Doing PRCM for IVAHD[0] ... 
     [m3vpss ]  997: HDVICP: PRCM for IVAHD[0] ... DONE.
     [m3vpss ]  997: SYSTEM  : Initializing Links !!! 
     [m3vpss ]  998: SYSTEM  : FREE SPACE : System Heap      = 4042240 B, Mbx = 10240 msgs) 
     [m3vpss ]  998: SYSTEM  : FREE SPACE : SR0 Heap         = 15623040 B (14 MB) 
     [m3vpss ]  998: SYSTEM  : FREE SPACE : Frame Buffer     = 105790336 B (100 MB) 
     [m3vpss ]  999: SYSTEM  : FREE SPACE : Bitstream Buffer = 20971392 B (19 MB) 
     [m3vpss ]  999: SYSTEM  : FREE SPACE : Tiler 8-bit      = 89128960 B (85 MB)  - TILER ON 
     [m3vpss ]  999: SYSTEM  : FREE SPACE : Tiler 16-bit     = 44040192 B (42 MB)  - TILER ON 
     [m3vpss ]  1155: SYSTEM  : Initializing Links ... DONE !!! 
     [m3vpss ] Received character 't'
    DMA: Module install successful, device major num = 247 
    DRV: Module install successful
    DRV: Module built on Jul 19 2016 19:21:42 
    
     [host] Application Start Completed (tick_time: 21597 ms)
    
     [host] 
    
    
    ################ App_cbb_run start (tick_time: 21603 ms) ############## 
    
     [host] App_cbb_run: Share Memory Addr=0x4042c000
    
     [host] frameRateVal1: 30
    
     [host] frameRateVal2: 30
    
     [host] frameRateVal3: 0
    
     [host] nMpeg41bitrate: 1000000
    
     [host] nMpeg42bitrate: 5000000
    
     [host] njpegquality: 80
    
     [host]  0: SYSTEM: System Common Init in progress !!!
    
     [host]  0: SYSTEM: IPC init in progress !!!
    
     [host]  19: SYSTEM: CPU [DSP] is NOT available on this platform !!!
    
     [host]  19: SYSTEM: CPU [VIDEO-M3] syslink proc ID is [0] !!!
    
     [host]  19: SYSTEM: CPU [VPSS-M3] syslink proc ID is [1] !!!
    
     [host]  19: SYSTEM: CPU [HOST] syslink proc ID is [2] !!!
    
     [host]  19: SYSTEM: Opening MsgQ Heap [IPC_MSGQ_MSG_HEAP] ...
    
     [host]  20: SYSTEM: Creating MsgQ [HOST_MSGQ] ...
    
     [host]  22: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ...
    
     [host]  23: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host]  24: SYSTEM: Notify register to [VPSS-M3] line 0, event 10 ... 
    
     [host]  25: SYSTEM: IPC DMA: ChannelID allocated:4
    init DONE !!!
    DMA: ChannelID allocated:12
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host]  27: SYSTEM: Creating ListMP [HOST_IPC_OUT_30] in region 0 ...
    
     [host]  29: SYSTEM: Creating ListMP [HOST_IPC_IN_30] in region 0 ...
    
     [host]  30: SYSTEM: ListElem Shared Addr = 0x40597280
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host]  31: SYSTEM: Creating ListMP [HOST_IPC_OUT_31] in region 0 ...
    
     [host]  33: SYSTEM: Creating ListMP [HOST_IPC_IN_31] in region 0 ...
    
     [host]  34: SYSTEM: ListElem Shared Addr = 0x405b0f00
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host]  36: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ...
    
     [host]  38: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ...
    
     [host]  39: SYSTEM: ListElem Shared Addr = 0x405cab80
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host]  41: SYSTEM: Creating ListMP [HOST_IPC_OUT_26] in region 0 ...
    
     [host]  42: SYSTEM: Creating ListMP [HOST_IPC_IN_26] in region 0 ...
    
     [host]  44: SYSTEM: ListElem Shared Addr = 0x405ea580
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host]  45: SYSTEM: Creating ListMP [HOST_IPC_OUT_27] in region 0 ...
    
     [host]  47: SYSTEM: Creating ListMP [HOST_IPC_IN_27] in region 0 ...
    
     [host]  48: SYSTEM: ListElem Shared Addr = 0x40609f80
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host]  49: SYSTEM: System Common Init Done !!!
    
     [host]  89: MCFW  : CPU Revision [ES1.0] !!! 
    
     [host]  89: MCFW  : Detected [UNKNOWN] Board !!! 
    
     [host]  89: MCFW  : Sensor is NOT connected !!! 
    
     [host]  89: MCFW  : Base Board Revision [REV A] !!! 
    
     [host] rear cam is not detected !!
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host] Vsys_allocBuf - addr = 0x512f6000,size = 65011712
    
     [host] MCFW_IPCBITS:App_streamSysInit:virt addr of 88200000 cir buffer  is 512f6000
    
     [host] RAJESHKANNAN ::: Checking streamSet.Mpeg4Quality = (2000000)...
    
     [host] first stream: 1920 1080 2000000 30
    
     [host] second stream: 1280 720 5000000 30
    
     [host] third stream: 848 480 80
    
     [host] 
    mem_layout         = 0 
    
     [host] mem_size[0]       =0x1EC3000 
    
     [host] mem_blk_size[0]   =0x8C00 
    
     [host] blk_num[0]       =0x384 
    
     [host] cache_size[0]     =0x1EC3000 
    
     [host] cache_blk_size[0] =0x8C00 
    
     [host] blk_num[0]       =0x384 
    
     [host] mem_size[1]       =0xC0 
    
     [host] mem_blk_size[1]   =0x32 
    
     [host] blk_num[1]       =0x3 
    
     [host] cache_size[1]     =0xC0 
    
     [host] cache_blk_size[1] =0x32 
    
     [host] blk_num[1]       =0x3 
    
     [host] mem_size[2]       =0x580 
    
     [host] mem_blk_size[2]   =0x32 
    
     [host] blk_num[2]       =0x1C 
    
     [host] cache_size[2]     =0x580 
    
     [host] cache_blk_size[2] =0x32 
    
     [host] blk_num[2]       =0x1C 
    
     [host] mem_size[3]       =0x100000 
    
     [host] mem_blk_size[3]   =0x400 
    
     [host] blk_num[3]       =0x400 
    
     [host] cache_size[3]     =0x100000 
    
     [host] cache_blk_size[3] =0x400 
    
     [host] blk_num[3]       =0x400 
    
     [host] totalsize          =0x3F86E80 
    
     [host] TOTAL_MEM_SIZE     =0x1600200 
    ##########pInfo->totalsize 66612864
    
     [host] MemMng_memcpy_open:OSA_dmaOpen passed with ch id = 4
    
     [host] CacheMng_MemCpy_open:OSA_dmaOpen passed with ch id = 12
    queue id:229383
    queue id:98307
    
     [host] MCFW_IPCBITS:App_ipcBitsRecvStreamFxn:Entered... [m3vpss ]  SYSTEM  : slave not found!!!
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host] MCFW_IPCFRAMES:App_ipcFramesSendRecvFxn:Entered...
     [host] Vsys_allocBuf - addr = 0x56450000,size = 28385
    
     [host] DCC buffer allocated for size 28385
    
     [host] DCC Default File Intialization Done
    
     [host] Vsys_allocBuf - addr = 0x40025000,size = 11160
    
     [host] Memory Allocated to ForceMap Table. Vir Addr = 40025000 and Phy Addr = 8c007000
    
     [host] Before System_linkControl SYSTEM_M3VPSS_CMD_GET_DISPLAYCTRL_INIT
     [m3vpss ] tiedVencs VPS_DC_VENC_HDMI | VPS_DC_VENC_HDCOMP
    
     [host] (Vsys_create) MultiCh_createCarbbDualCap
    
     [host] 
    ********************* Entered CAR BB DUAL CAPTURE USECASE ********************
    
    
     [host] 
    ********* 1080P from Front Camera and 720P from Rear Camera at 30 fps ********
    
    
     [host] FOSSILSHALE :::::: MergePrm numInQue is (1) ......
    
     [host] encPrm.chCreateParams[i].defaultDynamicParams.targetBitRate= 100000
    
     [host] encPrm.chCreateParams[i].defaultDynamicParams.targetBitRate= 100000
     [m3vpss ] VPS_DCTRL_INST_0
     [m3vpss ] IOCTL_VPS_DCTRL_SET_VENC_OUTPUT SYSTEM_DC_VENC_DVO2
     [m3vpss ] IOCTL_VPS_DCTRL_SET_VENC_OUTPUT SYSTEM_DC_VENC_HDMI
     [m3vpss ] IOCTL_VPS_DCTRL_SET_VENC_OUTPUT SYSTEM_DC_VENC_SD
     [m3vpss ] IOCTL_VPS_DCTRL_SET_VENC_OUTPUT SYSTEM_DC_VENC_HDCOMP
     [m3vpss ] IOCTL_VPS_DCTRL_SET_VENC_CLK_SRC VPS_DC_VENC_HDMI | VPS_DC_VENC_HDCOMP
     [m3vpss ] HDCOMPCLK
     [m3vpss ]  1780: CAMERA: Create in progress !!!
     [m3vpss ]  Channel Num Stream 0 Ch 0 ChannelNum 0
     [m3vpss ]  Channel Num Stream 1 Ch 0 ChannelNum 1
     [m3vpss ]  1780: CAMERA: VIP0 PortA camera mode is [ 8-bit, Non-mux Embedded Sync] !!! 
     [m3vpss ] ++Iss_Imx122Create()
     [m3vpss ] --Iss_Imx122Create()
     [m3vpss ]  1781: CAMERA: VIP 0: VID DEC 268436755 (0xff): 0002:20202020:20202020, AUD_STATUS 538976288
     [m3vpss ]  1785: CAMERA: Create Done !!!
     [m3vpss ]  1804: CAMERA: Detect video in progress !!!
     [m3vpss ]  1804: CAMERA: Detect video Done !!!
     [m3vpss ] FOSSILSHALE :In DUP_CREATE ::: pPrm->Stream_ctrl = (0)....
     [m3vpss ]  1898: DUP   : Create Done !!!
     [m3vpss ] DCC server task running 
     [m3vpss ]  1902: SCLR: Create in progress !!!
    
     [host] IpcFramesInLink_tskMain:Entered
     [host]  570: IPC_FRAMES_IN   : Create in progress !!!
    
     [host]  570: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_25] ...
     [m3vpss ]  1910: SCLR    : Loading Up-scaling Co-effs ... 
     [m3vpss ]  1910: SCLR    : Co-effs Loading ... DONE !!!
    
     [host]  572: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_25] ...
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host]  575: IPC_FRAMES_IN   : Create Done !!!
     [m3vpss ] SCLR:HEAPID:0	USED:64
     [m3vpss ] SCLR:HEAPID:1	USED:5952
     [m3vpss ]  1910: SCLR: Create Done !!!
     [m3vpss ]  1911: IPC_FRAMES_OUT   : Create in progress !!!
     [m3vpss ]  1913: IPC_FRAMES_OUT   : Create Done !!!
     [m3vpss ]  1920: MERGE   : Create Done !!!
     [m3vpss ] FOSSILSHALE :In DUP_CREATE ::: pPrm->Stream_ctrl = (3)....
     [m3vpss ]  1927: DUP   : Create Done !!!
     [m3vpss ]  1928: ENCODE: Create in progress ... !!!
     [m3vpss ] RAJESHKANNAN ::: IN ENCODER Bitrate = 100000...
     [m3vpss ] RAJESHKANNAN ::: IN ENCODER MAX Bitrate = 100000...
     [m3vpss ]  1964: ENCODE: Creating CH0 of 848 x 480, pitch = (16384, 32768) [PROGRESSIVE] [TILED      ], bitrate = 100 Kbps ... 
     [m3vpss ] FOSSILSHALE DEBUG : Static params............. width=848  height=480
     [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate  width=480  height=848 pitch=848.............
    
     [host] IpcBitsInLink_tskMain:Entered
     [host]  629: IPC_BITS_IN   : Create in progress !!!
    
     [host]  629: IPC_BITS_IN   : ListMPOpen start !!!
    
     [host]  629: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_30] ...
    
     [host]  631: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_30] ...
    
     [host]  632: IPC_BITS_IN   : ListMPOpen done !!!
    
     [host]  634: IPC_BITS_IN   : System_linkGetInfo done !!!
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host]  634: IPC_BITS_IN   : Create Done !!!
    
     [host] ##########decPrm.chCreateParams[i].targetMaxWidth = 480
    
     [host] ##########decPrm.chCreateParams[i].targetMaxHDMA: ChannelID allocated:13
    eight = 848
    
     [host]  636: IPC_BITS_OUT   : Create in progress !!!
    
     [host] ###Bit buff of size from the SR # 1 : 7372800
    
     [host] IPC_BITSOUT:BitBuffer Alloc.PoolID:0,Size:0x708000
     [host] IPCBITSOUTLINK:Translated Addr Virt:0x419df080 To Phy:0x8c746080
     [host]  636: IPC_BITS_OUT   : Create Done !!!
     [m3vpss ] ENCLINK_JPEG:HEAPID:0	USED:6328
     [m3vpss ]  1967: ENCODE: All CH Create ... DONE !!!
     [m3vpss ] ENCLINK:HEAPID:0	USED:6576
     [m3vpss ]  1970: ENCODE: Create ... DONE !!!
     [m3vpss ]  1970: IPC_BITS_OUT   : Create in progress !!!
     [m3vpss ]  1973: IPC_BITS_OUT   : Create Done !!!
     [m3vpss ]  1981: IPC_BITS_IN   : Create in progress !!!
     [m3vpss ]  1981: SYSTEM: Opening ListMP [HOST_IPC_OUT_30] ...
     [m3vpss ]  1981: SYSTEM: Opening ListMP [HOST_IPC_IN_30] ...
     [m3vpss ]  1982: SYSTEM: Opening MsgQ [HOST_MSGQ] ...
     [m3vpss ]  1985: IPC_BITS_IN   : Create Done !!!
     [m3vpss ]  1985: DECODE: Create in progress ... !!!
    FOSSILSHALE DEBUG :  swMsPrm.maxOutRes=0.............
    FOSSILSHALE DEBUG :  mosaicParam->userSetDefaultSWMLayout = 1  outwidth=720  outheight=480.............
     [m3vpss ]  2124: DECODE: Creating CH0 of 848 x 480 [PROGRESSIVE] [NON-TILED  ],target bitrate = 10 Kbps ... 
     [m3vpss ] ####In Decoder maxWidth = 480, maxHeight = 848
     [m3vpss ] DECLINK_JPEG:HEAPID:0	USED:12616
     [m3vpss ]  2125: DECODE: All CH Create ... DONE !!!
    FOSSILSHALE DEBUG 1 : winID=0,  winInfo->width=720  winInfo->height=480 winInfo->startX=0  winInfo->startY=0 winInfo->channelNum =0  winInfo->bypass=0FOSSILSHALE DEBUG 1 : setting SWMS Crop values............
    FOSSILSHALE DEBUG 2 : setting SWMS Crop values............
     [m3vpss ] DECLINK:HEAPID:0	USED:12656
     [m3vpss ]  2126: DECODE: Create ... DONE !!!
     [m3vpss ]  2127: MERGE   : Create Done !!!
     [m3vpss ]  2128: SWMS: Create in progress !!!
     [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 36 (36)
     [m3vpss ] SWMS: instance 0, sc id 5, start win 0 end win 15
     [m3vpss ]  2163: SWMS    : Loading Up-scaling Co-effs ... 
     [m3vpss ]  2163: SWMS    : Co-effs Loading ... DONE !!!
     [m3vpss ]  2163: SWMS    : ******* Configuring clock 30 secs... 
     [m3vpss ]  
     [m3vpss ]  *** [SWMS1] Mosaic Parameters *** 
     [m3vpss ]  
     [m3vpss ]  Output FPS: 30
     [m3vpss ]  
     [m3vpss ]  Win | Ch  | Input      | Input          | Input         | Input       | Output     |  Output         | Output        | Output      | Low Cost | SWMS | Data  |
     [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|
     [m3vpss ]  --------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |   0 |    0,    0 |   848 x    480 | 16384 / 32768 | TILED       |    0,    0 |   720 x    480 |  1472 /      0 | NON-TILED   |      OFF |    0 |  420SP |
     [m3vpss ]  
     [m3vpss ]  2166: SWMS: Create Done !!!
     [m3vpss ] FOSSILSHALE :In DUP_CREATE ::: pPrm->Stream_ctrl = (5)....
     [m3vpss ]  2173: DUP   : Create Done !!!
     [m3vpss ]  2174: SELECT: OUT QUE0: OUT CH0: IN CH0: 720 x 480, pitch = (1472, 0) [PROGRESSIVE] [NON-TILED  ]
     [m3vpss ]  2175: SELECT: OUT QUE1: OUT CH0: IN CH0: 720 x 480, pitch = (1472, 0) [PROGRESSIVE] [NON-TILED  ]
     [m3vpss ]  2175: SELECT   : Create Done !!!
     [m3vpss ]  2176: SELECT: OUT QUE0: OUT CH0: IN CH0: 720 x 480, pitch = (1472, 0) [PROGRESSIVE] [NON-TILED  ]
     [m3vpss ]  2177: NULL   : Create Done !!!
     [m3vpss ]  2177: DISPLAY: Create in progress !!!
     [m3vpss ] DisplayId = 3,DataFormat = 1
     [m3vpss ] BP1 displayInstId = 1
     [m3vpss ]  2178: DISPLAY: Create Done !!!
    
     [host] 
    ********************* completed after BOP_ENABLE ********************
    
    
     [host] 
    ********************* completed CARBB DUAL CAPTURE USECASE ********************
    
     [m3vpss ]  2179: SCLR: Create in progress !!!
     [m3vpss ]  2181: SCLR    : Loading Up-scaling Co-effs ... 
     [m3vpss ]  2181: SCLR    : Co-effs Loading ... DONE !!!
     [m3vpss ] SCLR:HEAPID:0	USED:64
     [m3vpss ] SCLR:HEAPID:1	USED:2432
     [m3vpss ]  2181: SCLR: Create Done !!!
     [m3vpss ]  2182: DISPLAY: Create in progress !!!
     [m3vpss ] DisplayId = 1,DataFormat = 7
     [m3vpss ] SC2 displayInstId = 6
     [m3vpss ]  2183: DISPLAY: Create Done !!!
    RGB565: 1F 0, 1 
    RGB888: FF 0, 8  
    RGB565: 1F 0, 1 
    RGB888: FF 0, 8  
     [m3vpss ]  2296: DISPLAY: Start in progress !!!
     [m3vpss ]  2355: DISPLAY: Start Done !!!
     [m3vpss ]  2356: DISPLAY: AUX PATH: 33 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) !!! 
    GetMcfwInitDone(end) - return[0], mcfw init done state[2], front cam[1] rear cam[0]
     [m3vpss ]  2356: DISPLAY: Start in progress !!!
    
    
    ################ send signal to launcher process (tick_time: 22660 ms) ##############
    
     [m3vpss ]  2412: DISPLAY: Start Done !!!
     [m3vpss ]  2413: DISPLAY: DVO2(BP1)  : 17 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) !!! 
     [m3vpss ]  2413: SWMS: Start in Progress !!!
     [m3vpss ]  2413: SWMS: Start Done !!!
     [m3vpss ]  2328: CAMERA: Start in progress !!!
     [m3vpss ]  2329: CAMERA: Start Done !!!
    
     [host] FOSSILSHALE :: VCAM_BRIGHTNESS For TED_RECORD :::
     [m3vpss ] FOSSILSHALE : In cmd CAMERA_LINK_CMD_CHANGE_BRIGHTNESS to disable flag is true ::::
    Gui Start... 
    FOSSILSHALE : In launcherThread...
     Run....CarBlackBoxGUI  Wait to finish..../opt/cbb/gui/guiE -- -qws 
    
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    
     [host] swosdGuiPrm.pforceMapTableAddr = 8c007000
     [host] FOSSILSHALE :: STREAM_FEATURE_BRIGHTNESS:::
    
     [host] FOSSILSHALE :: VCAM_BRIGHTNESS For TED_RECORD :::
     [m3vpss ] FOSSILSHALE : In cmd CAMERA_LINK_CMD_CHANGE_BRIGHTNESS to disable flag is true ::::
    FOSSILSHALE 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     mirror mode = 196609 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     [host] VNF MESSAGE RECIEVED: (Enable:0) (Mode:5) (Strength:0) (EnableTNF:0) (EnableSNF:0)
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    815: PB_LOGS: Entered playbackTsk_main()
    
     [host] RAJESHKANNAN ::: #######Changed priority to 19 in McFW...######
    633: PB_LOGS: Entered videoSubmit_main()
    
     [host] 
    Force IDR on Channel: 0
    
     [host] 
    Force IDR on Channel: 1
    
     [host] 
    
    
    ################ App_cbb_run complete (tick_time: 22804 ms) ############## 
    
     [host] ITT server task running !!!
    
     [host] 
     ITT ittServer_run
    
     [host] ITT Server Message initialization successful
    
     [host] DCC server Message ques is open succefully
    
     [host] Setting cmd <1> in message <4047dc00>
    
     [host] Posting message <4047dc00> in QId <10002> 
    
     [host] 
     ITT capture task created
    
     [host] Response from M3 is : 1
     [m3vpss ] Command 1 recived from HOST A8 
     [m3vpss ] CAMERA: Inter Frame Interval  = 0 msec
     [m3vpss ] CAMERA: Inter Frame Interval  = 0 msec
     [m3vpss ]  2481: CAMERA: Fields = 2 (fps = 0, CPU Load = 60), Total Resets = 0 (Avg 0 ms per reset)
    
     [host] MCFW_IPCBITS: Callback function:App_ipcBitsInCbFxn
     [host] MCFW_IPCBITS:App_ipcBitsRecvStreamFxn:INFO: periodic print..Error: ### rear camera is not exist !! ###
     [m3vpss ]  Channel:0 inputframerate:30 targetfps:5
    
     [host] Response from M3 is : 1
    
     [host] Default parameters were sent sucessfully 
    
     [host] Server Socket created with ID <25> 
     [m3vpss ] Command 2 recived from HOST A8 
     [m3vpss ] New DCC data of size <28385> 
     [m3vpss ] Call to VNF_LINK_CMD_UPDATE_DCC -1
    LOGMGR(DBG) logmgr_open(377) : Called path=/mnt/mmc/log LogSize=500000
    queue id:131076
    LOGMGR(DBG) logmgr_open(409) : Ended
     [m3vpss ]  SWMS: *** UPDATING RT Params ***
     [m3vpss ]  2863: SWMS    : ******* Configuring clock 30 secs... 
     [m3vpss ]  
     [m3vpss ]  *** [SWMS1] Mosaic Parameters *** 
     [m3vpss ]  
     [m3vpss ]  Output FPS: 30
     [m3vpss ]  
     [m3vpss ]  Win | Ch  | Input      | Input          | Input         | Input       | Output     |  Output         | Output        | Output      | Low Cost | SWMS | Data  |
     [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|
     [m3vpss ]  --------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |   0 |    0,    0 |   480 x    848 |   848 /   848 | TILED       |    0,    0 |   720 x    480 |  1472 /      0 | NON-TILED   |      OFF |    0 |  420SP |
     [m3vpss ]  
    Creat queue id:262152
    queue id:262152
    Creat queue id:294921
    queue id:294921
    Creat queue id:327690
    queue id:327690
    FOSSILSHALE ::: In main()...
    RAJESHKANNAN ::: To change the priority of the process.............
    RAJESHKANNAN ::: REC_FILE CONSTRUCTOR PRIORITY setted successfully...
    ApproDrvInit: 16
    queue id:229383
    queue id:294921
    queue id:262152
    FOSSILSHALE ::: In main()...
    RAJESHKANNAN ::: To change the priority of the process.............
    RAJESHKANNAN ::: REC_FILE CONSTRUCTOR PRIORITY setted successfully...
    ApproDrvInit: 17
    queue id:229383
    queue id:327690
    queue id:262152
    RAJESHKANNAN ::: Checking Bitrate value(1000000)...
    
     [host] RAJESHKANNAN ::: Dynamic BITRATE(In VENC_FrameRate) Setted to 0....
    RAJESHKANNAN ::: In Channel0 Setbitrate = (2000000)....
    ###RAJESHKANNAN### In Fn(SetMP41bitrate) birtate value = (2000000)...
    RAJESHKANNAN ::: In else value = (2000000)..
    DS.Ahn: MSG_CMD_SET_BITRATE1 = (2000000)....
    RAJESHKANNAN:::MSG_CMD_SET_BITRATE1 = (2000000)....
    
     [host] 
     RAJESHKANNAN :::Channel Selected: 0
     [host] RAJESHKANNAN ::: Dynamic BITRATE Setted to 2000000....
    
     [host] RAJESHKANNAN ::: params.targetBitRate = (2000000)....
    
     [host] RAJESHKANNAN ::: Checking swOsdGuiPrm.bitRate = (2000000)...
     [m3vpss ] RAJESHKANNAN ::: SET_CODEC_BITRATE Received...
     [m3vpss ] RAJESHKANNAN ::: In Fn(EncLink_codecSetBitrate)....
     [m3vpss ] RAJESHKANNAN ::: ENCODER SET_BITRATE = (2000000)...
    
     [host] FOSSILSHALE ::: MSG_CMD_SET_BRIGHTNESS ###
    
     [host] FOSSILSHALE :: STREAM_FEATURE_BRIGHTNESS:::
    
     [host] FOSSILSHALE :: VCAM_BRIGHTNESS For TED_RECORD :::
     [m3vpss ] FOSSILSHALE : In cmd CAMERA_LINK_CMD_CHANGE_BRIGHTNESS to disable flag is true ::::
     [m3vpss ]  Channel:0 inputframerate:30 targetfps:30
     [m3vpss ]  JPGLINK: new targetbitrate to set:2000000 
     [m3vpss ]  JPGLINK: new targetframerate to set:30000 for bitrate 2000000 
     [m3vpss ]  JPGLINK: Run time parameters changed 0
    voice_init
    load_voice_file
    [/opt/cbb/voice/10.start_upgrade.wav - 92160] 
    [/opt/cbb/voice/power_end.wav - 0] 
    [/opt/cbb/voice/3.start_video_recording.wav - 63488] 
    [/opt/cbb/voice/4.stop_video_recording.wav - 64512] 
    [/opt/cbb/voice/7.enter_parking_mode.wav - 73728] 
    [/opt/cbb/voice/8.leave_parking_mode.wav - 71680] 
    [/opt/cbb/voice/5.start_audio_recording.wav - 71680] 
    [/opt/cbb/voice/6.stop_audio_recording.wav - 73728] 
    [/opt/cbb/voice/11.connect_gps.wav - 84992] 
    [/opt/cbb/voice/1.check_sd.wav - 88064] 
    [/opt/cbb/voice/9.format_sd.wav - 76800] 
    [/opt/cbb/voice/ttingdong.wav - 8192] 
    [/opt/cbb/voice/touch.wav - 8192] 
    [/opt/cbb/voice/b.wav - 0] 
    [/opt/cbb/voice/gec.wav - 0] 
    [/opt/cbb/voice/warning_notify.wav - 51200] 
     [m3vpss ] Setting for night mode 
     [m3vpss ] Setting for day mode 
    =====[GUI]=====> LCD timer start
    =====[GUI]=====> Set current path -> /opt/cbb/gui
    
    Object::connect: No such slot CPageJpgView::btnPlay_Pressed()
    Object::connect: No such slot CMainFrame::tlTimeLine_frameChanged(int)
    Object::connect: No such slot CMainFrame::tlTimeLine_finished()
    queue id:32769
    queue id:0
    Object::connect: No such slot CMainFrame::pMsg_msgIRRecv(int)
    ControlSystemData 35 field=8588 len=4
    !!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!ipnc_gio_write] gio_id = 46, IsOn = 1
    ControlSystemData 35 field=8634 len=4
    ControlSystemData 35 field=8601 len=4
    ControlSystemData 35 field=8603 len=4
    ControlSystemData 35 field=8633 len=4
    =====[GUI]=====> sync...
    ControlSystemData 35 field=8638 len=4
    Left DAC: post event failed: -188
    unmuting codec
    amixer -q cset name='ADC Mute' 0Welcome to Cerepress Test System
    
    Set kval_run 
    Set kval_acc 
    Set kval_dec 
    Set OCD Current 
    Stepper initialization done 
    Mon Jun 27 16:06:30 2016
    Homing StepperRunning Reverse
    amixer -q cset name='ADC MIC_PGA GAIN' 80
    amixer -q cset name='SP driver mute' 1amixer -q cset name='SP Analog Gain' 95
    muting codec
      devmgr(err) devmgr_hal_ctrl_dev(776) : hdev == NULL || pdata == NULL
    EVTMGR(ERR) EvtMgr_EnableMsgQ : Called enable=1
    GPSMGR(DBG) GPSMgr_Start(531) : Called
    
     [host] sdvenc enable = 0
     [m3vpss ]  7864: SELECT: OUT QUE1: OUT CH0: IN CH0: 720 x 480, pitch = (1472, 0) [PROGRESSIVE] [NON-TILED  ]
     [m3vpss ]  7952: DISPLAY: Stop in progress !!!
     [m3vpss ]  8018: DISPLAY: Stop Done !!!
    unmuting codec
    GPSMGR(DBG) GPSMgr_DevMgrListener(134) : evt_type=0x8, notify_type=2
    muting codec
    unmuting codec
    muting codec
    !!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!!!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!!!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!!!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!!!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!!!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!!!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!soft _stop
    End of retract motion
    Hard retracted endstop position: 00000000 
    Move to home offset
    End of set abs zero command
    Position has been set to zero: 00000000 
    
    root@dm814x-evm:~# ControlSystemData 35 field=8619 len=4
    FOSSILSHALE ::: VIDEO_REC_START
    FOSSILSHALE :: In Fn(getCurVpssM3Time)...
    
     [host] FOSSILSHALE ::: MSG_CMD_GET_VPSS_M3_TIME ###
    
     [host] FOSSILSHALE ::: VPSS_M3_TIME = (31086)....
    FOSSILSHALE ::: In Fn(cerepress_scanner_main)....
    FOSSILSHALE ::: Setting schedule....
    FOSSILSHALE CEREPRESS Priority = 99..........
    FOSSILSHALE ::: Thread create....
    pthread_create() fLeft DAC: post event failed: -137
    or thread 1 returns: 0
    Joining threads
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXpthread_Main program done
    RAJESHKANNAN ::: Checking Bitrate value(1000000)...
    ControlSystemData 35 field=8581 len=4
    
     [host] RAJESHKANNAN ::: Dynamic BITRATE(In VENC_FrameRate) Setted to 0....
    RAJESHKANNAN ::: In Channel0 Setbitrate = (2000000)....
    ###RAJESHKANNAN### In Fn(SetMP41bitrate) birtate value = (2000000)...
    RAJESHKANNAN ::: In else value = (2000000)..
    DS.Ahn: MSG_CMD_SET_BITRATE1 = (2000000)....
    RAJESHKANNAN:::MSG_CMD_SET_BITRATE1 = (2000000)....
    
     [host] 
     RAJESHKANNAN :::Channel Selected: 0
     [host] RAJESHKANNAN ::: Dynamic BITRATE Setted to 2000000....
    
     [host] RAJESHKANNAN ::: params.targetBitRate = (2000000)....
    
     [host] RAJESHKANNAN ::: Checking swOsdGuiPrm.bitRate = (2000000)...
    
     [host] FOSSILSHALE ::: MSG_CMD_SET_BRIGHTNESS ###
    
     [host] FOSSILSHALE :: STREAM_FEATURE_BRIGHTNESS:::
    
     [host] FOSSILSHALE :: VCAM_BRIGHTNESS For TED_RECORD :::
     [m3vpss ] RAJESHKANNAN ::: SET_CODEC_BITRATE Received...
     [m3vpss ] RAJESHKANNAN ::: In Fn(EncLink_codecSetBitrate)....
     [m3vpss ] RAJESHKANNAN ::: ENCODER SET_BITRATE = (2000000)...
     [m3vpss ] FOSSILSHALE : In cmd CAMERA_LINK_CMD_CHANGE_BRIGHTNESS to disable flag is true ::::
     [m3vpss ]  31092: SWMS    : ******* Configuring clock 30 secs... 
     [m3vpss ]  
     [m3vpss ]  *** [SWMS1] Mosaic Parameters *** 
     [m3vpss ]  
     [m3vpss ]  Output FPS: 30
     [m3vpss ]  
     [m3vpss ]  Win | Ch  | Input      | Input          | Input         | Input       | Output     |  Output         | Ounmuting codec
    utput        | Output      | Low Cost | SWMS | Data  |
     [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|
     [m3vpss ]  --------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |   0 |    0,    0 |   480 x    848 |   848 /   848 | TILED       |    0,    0 |   720 x    480 |  1472 /      0 | NON-TILED   |      OFF |    0 |  420SP |
     [m3vpss ]  
    !!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!FOSSILSHALE : waiting for trigger input - 0 
     [m3vpss ]  Channel:0 inputframerate:30 targetfps:30
     [m3vpss ]  JPGLINK: new targetbitrate to set:2000000 
     [m3vpss ]  JPGLINK: new targetframerate to set:30000 for bitrate 2000000 
     [m3vpss ]  JPGLINK: Run time parameters changed 0
    Trigger input detected - 0 
    Welcome to Cerepress Test System
    
    Set kval_run 
    Set kval_acc 
    Set kval_dec 
    Set OCD Current 
    Stepper initialization done 
    Mon Jun 27 16:06:53 2016
    
    Start_position_mm = 6.0000000000
     Start_position_steps : 60472 
    
    Approach Speed: 2.52
    Applanation Speed: 0.39
    Retract Distance: 1.50
    Max Applanation Distance: 2.50
    mm/step: 0.0000992187 NOTE!!: Speeds must be a multiple of 0.193675 mm/sec to produce exact speeds due to speed resolution of L6470 
    20160627_160653.696
    RAJESHKANNAN ::: Checking $$$$$$$$Filename$$$$$$$$$$ = /opt/tmp/ForceTimestamp20160627_160653.csv....
    file-name:/opt/tmp/ForceTimestamp20160627_160653.csv.csv will be used  
    Applanate_speed (max_speed value), 00002 
    Completed move to start position : 00000000 
    adc_conversion_result: 00003 
    adc_conversion_result: 00004 
    adc_conversion_result: 00003 
    adc_conversion_result: 00003 
    adc_conversion_result: 00005 
    adc_conversion_average = 00003
    milliseconds
    Seeking initial Contact:
    MSS - Start Cerepress Recording 51559 ms
    MSS - InProgress Cerepress Recording 51559 ms
     [m3vpss ] Setting for night mode 
    RAJESHKANNAN ::: Checking FrameTimeStamp = (/opt/tmp/FrameTimestamp20160627_160653.csv)...
    file-name:/opt/tmp/FrameTimestamp20160627_160653.csv.csv will be used  
    FOSSILSHALE : In Setflag record nWidth = (480) .........
    FOSSILSHALE : In Setflag record nHeight = (848) .........
    FOSSILSHALE : In Setflag bps = (2000000) .........
    RAJESHKANNAN ::: Checking bitrate in Rec_const = (2000000)...
    	 VideoStream - bps: 2000000, width: 480, height: 848
    FOSSILSHALE : In record Width = (480) .........
    FOSSILSHALE : In record Height = (848) .........
    Output #0, avi, to '/opt/tmp/00003196_F_20160627_160653.avi':
        Stream #0.0: Video: mjpeg, yuvj420p, 480x848, q=10-51, 2000 kb/s, 90k tbn, 30 tbc
    FOSSILSHALE ::: In rfc_find_startFrame = (182)...
    FOSSILSHALE TickTime = 1467043613972
    muting codec
    unmuting codec
    muting codec
     [m3vpss ] CAMERA: Inter Frame Interval  = 33 msec
    
     [host] 
    Usecase is Active !!! 
    
     [host] MCFW_IPCBITS: Callback function:App_ipcBitsInCbFxn
     [host] MCFW_IPCBITS:App_ipcBitsRecvStreamFxn:INFO: periodic print..FOSSILSHALE : Stopping the video recording..................
    
    FOSSILSHALE : REC_NOFIY RFC_RECORD_STATE_STOP:.................
    
    !!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!!!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!!!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!channel 0 RFC_RECORD_STATE_STOP
    RAJESHKANNAN ::: Before close_record..........
    RAJESHKANNAN ::: Checking the filename after closed = (/opt/tmp/00003196_F_20160627_160653.avi)....
     [m3vpss ] CAMERA: Inter Frame Interval  = 33 msec
     [m3vpss ]  62514: CAMERA: Fields = 3602 (fps = 60, CPU Load = 44), Total Resets = 0 (Avg 0 ms per reset)
     [m3vpss ]  ==================== EncLink_PrintDetails ==================== 
     [m3vpss ] 	63337: HDVICP-ID:0
     [m3vpss ] 		totalAcquire2wait in msec:59951336
     [m3vpss ] 		totalWait2Isr in msec:    4356
     [m3vpss ] 		totalIsr2Done in msec:      57
     [m3vpss ] 		totalWait2Done in msec:    4413
     [m3vpss ] 		totalDone2Release in msec:       0
     [m3vpss ] 		totalAcquire2Release in msec:       0
     [m3vpss ] 		totalAcq2acqDelay in msec:       0
     [m3vpss ] 		totalElapsedTime in msec:       0
     [m3vpss ] 		numAccessCnt:       0
     [m3vpss ] 		IVA-FPS :       0
     [m3vpss ]  
     [m3vpss ]  *** ENCODE Statistics *** 
     [m3vpss ]  
     [m3vpss ]  Elasped Time           : 59971 msecs
     [m3vpss ]  
     [m3vpss ]  
     [m3vpss ]  CH  | In Recv In Skip In User  Out Latency  
     [m3vpss ]  Num | FPS     FPS     Skip FPS FPS Min / Max  CPU Load
     [m3vpss ]  ------------------------------------------------------
     [m3vpss ]    0 |   30.00    0.00     0.42 29.58   4 / 31102   28
     [m3vpss ]  
     [m3vpss ] Multi Channel Encode Average Submit Batch Size 
     [m3vpss ] Max Submit Batch Size : 24
     [m3vpss ] IVAHD_0 Average Batch Size : 1
     [m3vpss ] IVAHD_0 Max achieved Batch Size : 1
     [m3vpss ]  ================================================================= 
    
     [host] 
    Usecase is Active !!! 
    RAJESHKANNAN ::: File moved successfully...
    RAJESHKANNAN ::: FrameTimeStamp file moved successsfully...
    Hard _stop
    Contact Sensed at position: 00000000 
    Retract from point of contact: 00000000 
    1467043647742 
    Moving forward applanation distance:
    Applanation distance/force reached: 00000000 
    Moving to home position RAJESHKANNAN ::: $$$$SUCCESS$$$ to move files...
    ControlSystemData 35 field=8620 len=4
    ControlSystemData 35 field=8581 len=4
     [m3vpss ]  65451: SWMS    : ******* Configuring clock 30 secs... 
     [m3vpss ]  
     [m3vpss ]  *** [SWMS1] Mosaic Parameters *** 
     [m3vpss ]  
     [m3vpss ]  Output FPS: 30
     [m3vpss ]  
     [m3vpss ]  Win | Ch  | Input      | Input          | Input         | Input       | Output     |  Output         | Output        | Output      | Low Cost | SWMS | Data  |
     [m3vpss ]  Num | Num | Start X, Y | Width x Height | Pitch Left DAC: post event failed: -137
    Y / C   | Memory Type | Start X, Y |  Width x Height | Pitch Y / C   | Memory Type | ON / OFF | Inst | Format|
     [m3vpss ]  --------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |   0 |    0,    0 |   480 x    848 |   848 /   848 | TILED       |    0,    0 |   720 x    480 |  1472 /      0 | NON-TILED   |      OFF |    0 |  420SP |
     [m3vpss ]  
    unmuting codec
    !!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!RAJESHKANNAN ::: Checking Bitrate value(1000000)...
    
     [host] RAJESHKANNAN ::: Dynamic BITRATE(In VENC_FrameRate) Setted to 0....
    RAJESHKANNAN ::: In Channel0 Setbitrate = (2000000)....
    ###RAJESHKANNAN### In Fn(SetMP41bitrate) birtate value = (2000000)...
    RAJESHKANNAN ::: In else value = (2000000)..
    DS.Ahn: MSG_CMD_SET_BITRATE1 = (2000000)....
    RAJESHKANNAN:::MSG_CMD_SET_BITRATE1 = (2000000)....
    
     [host] 
     RAJESHKANNAN :::Channel Selected: 0
     [host] RAJESHKANNAN ::: Dynamic BITRATE Setted to 2000000....
    
     [host] RAJESHKANNAN ::: params.targetBitRate = (2000000)....
    
     [host] RAJESHKANNAN ::: Checking swOsdGuiPrm.bitRate = (2000000)...
    
     [host] FOSSILSHALE ::: MSG_CMD_SET_BRIGHTNESS ###
    
     [host] FOSSILSHALE :: STREAM_FEATURE_BRIGHTNESS:::
    
     [host] FOSSILSHALE :: VCAM_BRIGHTNESS For TED_RECORD :::
     [m3vpss ] RAJESHKANNAN ::: SET_CODEC_BITRATE Received...
     [m3vpss ] RAJESHKANNAN ::: In Fn(EncLink_codecSetBitrate)....
     [m3vpss ] RAJESHKANNAN ::: ENCODER SET_BITRATE = (2000000)...
     [m3vpss ] FOSSILSHALE : In cmd CAMERA_LINK_CMD_CHANGE_BRIGHTNESS to disable flag is true ::::
     [m3vpss ]  Channel:0 inputframerate:8 targetfps:8
     [m3vpss ]  JPGLINK: new targetbitrate to set:2000000 
     [m3vpss ]  JPGLINK: new targetframerate to set:8000 for bitrate 2000000 muting codec
    
     [m3vpss ]  JPGLINK: Run time parameters changed 0
    
    root@dm814x-evm:~# 
    root@dm814x-evm:~# 
    root@dm814x-evm:~# 
    root@dm814x-evm:~# sync
    root@dm814x-evm:~# root@dm814x-evm:~# sync
    root@dm814x-evm:~# 
    
    U-Boot 2010.06 (May 20 2016 - 10:15:08) DM385_CBB_1.50.50.00
    
    DM385-GP rev 1.1
    
    ARM clk: 600MHz
    DDR clk: 400MHz
    L3 clk:  200MHz
    IVA clk: 297MHz
    ISS clk: 400MHz
    DSP Default OFF
    DSS Default OFF
    
    DRAM:  1 GiB
    NAND:  HW ECC BCH8 Selected
    256 MiB
    Using default environment
    
    The 2nd stage U-Boot will now be auto-loaded
    Please do not interrupt the countdown till DM385_CARBB prompt if 2nd stage is already flashed
    Hit any key to stop autoboot:  1  0 
    
    NAND read: device 0 offset 0x20000, size 0x40000
     262144 bytes read: OK
    ## Starting application at 0x81000000 ...
    
    
    U-Boot 2010.06 (May 20 2016 - 10:15:47) DM385_CBB_1.50.50.00
    
    DM385-GP rev 1.1
    
    ARM clk: 600MHz
    DDR clk: 400MHz
    L3 clk:  200MHz
    IVA clk: 297MHz
    ISS clk: 400MHz
    DSP Default OFF
    DSS Default OFF
    
    I2C:   ready
    DRAM:  1 GiB
    NAND:  HW ECC BCH8 Selected
    256 MiB
    MMC:   OMAP SD/MMC: 0, ON-BOARD SDIO: 1
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @@                                                               @@
    @@                                                               @@
    @@                                                               @@
    @@                                                               @@
    @@      @@@        @.   @.         @@@@    @@@@  G@@@@@@         @@
    @@      @@@@@     L@@  @@@        @@@@@@  @@@@@i @@@@@@          @@
    @@      @@ @@@.   @@@  @@@            @@  @,  @@ :@@             @@
    @@      @@   @@   @@@  @@@          @@@@  @@;@@: C@@@@@.         @@
    @@      @@    @@  @@@.l@L@         G@@@   ,@@@@  @@@  @@         @@
    @@      @@    @@ l@ @@@@ @.          l@@  @@ L@@  @   G@         @@
    @@      @@    @@ @@ @@@@ @@           @@ C@   @@      @@         @@
    @@      @@   ,@C @@ @@@  @@       @i  @@ C@   @@ @@   @@         @@
    @@      @@@@@@@  @@  @@  @@       @@@@@l  @@@@@@ L@@@@@          @@
    @@       @@@@@   @   @    @        L@@     @@@,   ,@@G           @@
    @@                                                               @@
    @@                                                               @@
    @@                                                               @@
    @@                                                               @@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    
    Net:   Ethernet clocking: 0x52
    Detected MACID:ee:ee:ee:ee:ee:ef
    cpsw
    Hit any key to stop autoboot:  3 

  • Hi Prashanth,

    Sorry for wrong upload !!! Check this file 

    Regards,

    Rajesh Kannan.S

    test10.txt
    Output #0, avi, to '/opt/tmp/00003476_F_20160629_234128.avi':
        Stream #0.0: Video: mjpeg, yuvj420p, 480x848, q=10-51, 2000 kb/s, 90k tbn, 30 tbc
    FOSSILSHALE ::: In rfc_find_startFrame muting codec
    = (163)...
    FOSSILSHALE TickTime = 1467243688310
    unmuting codec
    muting codec
     [m3vpss ] CAMERA: Inter Frame Interval  = 33 msec
    
     [host] 
    Usecase is Active !!! 
    guiE invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0
    Backtrace: 
    [<c004af70>] (dump_backtrace+0x0/0x110) from [<c0356c10>] (dump_stack+0x18/0x1c)
     r6:0000005c r5:000201da r4:c67f0840 r3:60000013
    [<c0356bf8>] (dump_stack+0x0/0x1c) from [<c00a3d64>] (dump_header.clone.13+0x54/0x120)
    [<c00a3d10>] (dump_header.clone.13+0x0/0x120) from [<c00a3f34>] (oom_kill_process.clone.15+0x40/0x1e8)
     r6:0000005c r5:000201da r4:c67f0840
    [<c00a3ef4>] (oom_kill_process.clone.15+0x0/0x1e8) from [<c00a445c>] (out_of_memory+0x248/0x2c4)
    [<c00a4214>] (out_of_memory+0x0/0x2c4) from [<c00a7600>] (__alloc_pages_nodemask+0x468/0x560)
    [<c00a7198>] (__alloc_pages_nodemask+0x0/0x560) from [<c00a8f18>] (__do_page_cache_readahead+0xa0/0x1e8)
    [<c00a8e78>] (__do_page_cache_readahead+0x0/0x1e8) from [<c00a9314>] (ra_submit+0x2c/0x34)
    [<c00a92e8>] (ra_submit+0x0/0x34) from [<c00a32cc>] (filemap_fault+0x16c/0x3ac)
    [<c00a3160>] (filemap_fault+0x0/0x3ac) from [<c00b501c>] (__do_fault+0x58/0x3e0)
    [<c00b4fc4>] (__do_fault+0x0/0x3e0) from [<c00b71d8>] (handle_mm_fault+0x2e4/0xa58)
    [<c00b6ef4>] (handle_mm_fault+0x0/0xa58) from [<c035a9e4>] (do_page_fault+0x114/0x204)
    [<c035a8d0>] (do_page_fault+0x0/0x204) from [<c003d298>] (do_PrefetchAbort+0x3c/0xa0)
    [<c003d25c>] (do_PrefetchAbort+0x0/0xa0) from [<c0359024>] (ret_from_exception+0x0/0x10)
    Exception stack(0xc500bfb0 to 0xc500bff8)
    bfa0:                                     00122eb0 bebab8c4 00000001 404566c0
    bfc0: 00122eb0 bebab8c4 00000000 40aefc40 bebabac8 003a5c90 00000001 40f33790
    bfe0: 000f578c bebab4b8 40dd530c 404566c0 80000010 ffffffff
     r7:40aefc40 r6:00000000 r5:bebab8c4 r4:ffffffff
    Mem-info:
    Normal per-cpu:
    CPU    0: hi:   42, btch:   7 usd:  12
    active_anon:4565 inactive_anon:54 isolated_anon:0
     active_file:85 inactive_file:127 isolated_file:32
     unevictable:18860 dirty:0 writeback:0 unstable:0
     free:338 slab_reclaimable:300 slab_unreclaimable:675
     mapped:126 shmem:63 pagetables:331 bounce:0
    Normal free:1352kB min:1400kB low:1748kB high:2100kB active_anon:18260kB inactive_anon:216kB active_file:340kB inactive_file:508kB unevictable:75440kB isolated(anon):s
    lowmem_reserve[]: 0 0 0
    Normal: 20*4kB 17*8kB 9*16kB 3*32kB 4*64kB 3*128kB 1*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1352kB
    19167 total pagecache pages
    33280 pages of RAM
    500 free pages
    3809 reserved pages
    823 slab pages
    674 pages shared
    0 pages swap cached
    [ pid ]   uid  tgid total_vm      rss cpu oom_adj oom_score_adj name
    [  172]     0   172      530       38   0       0             0 remote_debug_cl
    [  177]     0   177     6692       52   0       0             0 launcher
    [  181]     0   181    46042      349   0       0             0 cbbmgr
    [  182]     0   182     6599       59   0       0             0 devmgr2
    [  233]     0   233   107406      385   0       0             0 ipnc_rdk_mcfw.o
    [  241]    42   241      861       61   0       0             0 dbus-daemon
    [  246]     0   246      673       27   0       0             0 telnetd
    [  253]     0   253      689       59   0       0             0 syslogd
    [  255]     0   255      673       43   0       0             0 klogd
    [  260]     0   260      654       74   0       0             0 login
    [  262]     0   262      754       57   0       0             0 sh
    [  305]     0   305    19672      145   0       0             0 rec_file_constr
    [  307]     0   307    19579       57   0       0             0 rec_file_constr
    [  309]     0   309    10882     3614   0       0             0 guiE
    Out of memory: Kill process 309 (guiE) score 92 or sacrifice child
    Killed process 309 (guiE) total-vm:43528kB, anon-rss:14204kB, file-rss:252kB
    guiE: page allocation failure. order:0, mode:0x201da
    Backtrace: 
    [<c004af70>] (dump_backtrace+0x0/0x110) from [<c0356c10>] (dump_stack+0x18/0x1c)
     r6:00000000 r5:00000000 r4:000201da r3:60000013
    [<c0356bf8>] (dump_stack+0x0/0x1c) from [<c00a7694>] (__alloc_pages_nodemask+0x4fc/0x560)
    [<c00a7198>] (__alloc_pages_nodemask+0x0/0x560) from [<c00a8f18>] (__do_page_cache_readahead+0xa0/0x1e8)
    [<c00a8e78>] (__do_page_cache_readahead+0x0/0x1e8) from [<c00a9314>] (ra_submit+0x2c/0x34)
    [<c00a92e8>] (ra_submit+0x0/0x34) from [<c00a32cc>] (filemap_fault+0x16c/0x3ac)
    [<c00a3160>] (filemap_fault+0x0/0x3ac) from [<c00b501c>] (__do_fault+0x58/0x3e0)
    [<c00b4fc4>] (__do_fault+0x0/0x3e0) from [<c00b71d8>] (handle_mm_fault+0x2e4/0xa58)
    [<c00b6ef4>] (handle_mm_fault+0x0/0xa58) from [<c035a9e4>] (do_page_fault+0x114/0x204)
    [<c035a8d0>] (do_page_fault+0x0/0x204) from [<c003d298>] (do_PrefetchAbort+0x3c/0xa0)
    [<c003d25c>] (do_PrefetchAbort+0x0/0xa0) from [<c0359024>] (ret_from_exception+0x0/0x10)
    Exception stack(0xc500bfb0 to 0xc500bff8)
    bfa0:                                     00122eb0 bebab8c4 00000001 404566c0
    bfc0: 00122eb0 bebab8c4 00000000 40aefc40 bebabac8 003a5c90 00000001 40f33790
    bfe0: 000f578c bebab4b8 40dd530c 404566c0 80000010 ffffffff
     r7:40aefc40 r6:00000000 r5:bebab8c4 r4:ffffffff
    Mem-info:
    Normal per-cpu:
    CPU    0: hi:   42, btch:   7 usd:   6
    active_anon:4565 inactive_anon:54 isolated_anon:0
     active_file:85 inactive_file:127 isolated_file:32
     unevictable:18860 dirty:0 writeback:0 unstable:0
     free:0 slab_reclaimable:300 slab_unreclaimable:675
     mapped:126 shmem:63 pagetables:331 bounce:0
    Normal free:0kB min:1400kB low:1748kB high:2100kB active_anon:18260kB inactive_anon:216kB active_file:340kB inactive_file:508kB unevictable:75440kB isolated(anon):0kBs
    lowmem_reserve[]: 0 0 0
    Normal: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB
    19167 total pagecache pages
    33280 pages of RAM
    156 free pages
    3809 reserved pages
    823 slab pages
    674 pages shared
    0 pages swap cached
    guiE: page allocation failure. order:0, mode:0xd0
    Backtrace: 
    [<c004af70>] (dump_backtrace+0x0/0x110) from [<c0356c10>] (dump_stack+0x18/0x1c)
     r6:00000000 r5:00000000 r4:000000d0 r3:60000013
    [<c0356bf8>] (dump_stack+0x0/0x1c) from [<c00a7694>] (__alloc_pages_nodemask+0x4fc/0x560)
    [<c00a7198>] (__alloc_pages_nodemask+0x0/0x560) from [<c00c4898>] (new_slab+0x7c/0x200)
    [<c00c481c>] (new_slab+0x0/0x200) from [<c00c4f10>] (__slab_alloc.clone.66+0x114/0x1e0)
     r8:c0149edc r7:000000d0 r6:00000000 r5:c7402180 r4:00000010
    r3:003fffff
    [<c00c4dfc>] (__slab_alloc.clone.66+0x0/0x1e0) from [<c00c501c>] (kmem_cache_alloc+0x40/0x7c)
     r8:00000000 r7:00000000 r6:000000d0 r5:80000013 r4:c7402180
    r3:c05f4024
    [<c00c4fdc>] (kmem_cache_alloc+0x0/0x7c) from [<c0149edc>] (nfs_create_request+0x2c/0x128)
     r7:00100100 r6:c05848a0 r5:c70f6c88 r4:c65dcd00
    [<c0149eb0>] (nfs_create_request+0x0/0x128) from [<c014bba8>] (readpage_async_filler+0x118/0x128)
    [<c014ba90>] (readpage_async_filler+0x0/0x128) from [<c00a9198>] (read_cache_pages+0x88/0xec)
     r8:00200200 r7:00100100 r6:c70f6d2c r5:c500bd80 r4:c05848a0
    [<c00a9110>] (read_cache_pages+0x0/0xec) from [<c014c8e0>] (nfs_readpages+0xf8/0x164)
    [<c014c7e8>] (nfs_readpages+0x0/0x164) from [<c00a8fb0>] (__do_page_cache_readahead+0x138/0x1e8)
     r8:00000993 r7:c014c7e8 r6:000008a2 r5:c70f6d2c r4:000007af
    [<c00a8e78>] (__do_page_cache_readahead+0x0/0x1e8) from [<c00a9314>] (ra_submit+0x2c/0x34)
    [<c00a92e8>] (ra_submit+0x0/0x34) from [<c00a32cc>] (filemap_fault+0x16c/0x3ac)
    [<c00a3160>] (filemap_fault+0x0/0x3ac) from [<c00b501c>] (__do_fault+0x58/0x3e0)
    [<c00b4fc4>] (__do_fault+0x0/0x3e0) from [<c00b71d8>] (handle_mm_fault+0x2e4/0xa58)
    [<c00b6ef4>] (handle_mm_fault+0x0/0xa58) from [<c035a9e4>] (do_page_fault+0x114/0x204)
    [<c035a8d0>] (do_page_fault+0x0/0x204) from [<c003d298>] (do_PrefetchAbort+0x3c/0xa0)
    [<c003d25c>] (do_PrefetchAbort+0x0/0xa0) from [<c0359024>] (ret_from_exception+0x0/0x10)
    Exception stack(0xc500bfb0 to 0xc500bff8)
    bfa0:                                     00122eb0 bebab8c4 00000001 404566c0
    bfc0: 00122eb0 bebab8c4 00000000 40aefc40 bebabac8 003a5c90 00000001 40f33790
    bfe0: 000f578c bebab4b8 40dd530c 404566c0 80000010 ffffffff
     r7:40aefc40 r6:00000000 r5:bebab8c4 r4:ffffffff
    Mem-info:
    Normal per-cpu:
    CPU    0: hi:   42, btch:   7 usd:   0
    active_anon:4565 inactive_anon:54 isolated_anon:0
     active_file:85 inactive_file:897 isolated_file:32
     unevictable:18860 dirty:0 writeback:0 unstable:0
     free:0 slab_reclaimable:300 slab_unreclaimable:681
     mapped:126 shmem:63 pagetables:331 bounce:0
    Normal free:0kB min:1400kB low:1748kB high:2100kB active_anon:18260kB inactive_anon:216kB active_file:340kB inactive_file:3588kB unevictable:75440kB isolated(anon):0ks
    lowmem_reserve[]: 0 0 0
    Normal: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB
    19943 total pagecache pages
    33280 pages of RAM
    150 free pages
    3809 reserved pages
    829 slab pages
    1455 pages shared
    0 pages swap cached
    SLUB: Unable to allocate memory on node -1 (gfp=0xd0)
      cache: kmalloc-64, object size: 64, buffer size: 64, default order: 0, min order: 0
      node 0: slabs: 159, objs: 10176, free: 0
    
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:97713,TimeSinceLastFree:97713 Terminate CarBlackBoxGUI 
    
    Gui Start... 
    FOSSILSHALE : In launcherThread...
     Run....CarBlackBoxGUI  Wait to finish..../opt/cbb/gui/guiE -- -qws 
    
    
     [host] MCFW_IPCBITS: Callback function:App_ipcBitsInCbFxn
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:142,TimeSinceLastFree:141
     [host] MCFW_IPCBITS:App_ipcBitsRecvStreamFxn:INFO: periodic print..RFC_ERR(1177): ch-0 read current frame [new register_serial: 3084]
    
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:146,TimeSinceLastFree:144
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:107761,TimeSinceLastFree:107761
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:145,TimeSinceLastFree:176
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:111657,TimeSinceLastFree:111657
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:660,TimeSinceLastFree:691
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:112172,TimeSinceLastFree:112172
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:676,TimeSinceLastFree:707
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:112189,TimeSinceLastFree:112189
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:693,TimeSinceLastFree:724
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:112205,TimeSinceLastFree:112205
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:710,TimeSinceLastFree:741
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:112238,TimeSinceLastFree:112238
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:742,TimeSinceLastFree:773
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:112255,TimeSinceLastFree:112255
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:758,TimeSinceLastFree:789
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:112271,TimeSinceLastFree:112271
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:775,TimeSinceLastFree:806
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:112287,TimeSinceLastFree:112287
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:791,TimeSinceLastFree:822
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:112303,TimeSinceLastFree:112303
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:807,TimeSinceLastFree:838
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:112320,TimeSinceLastFree:112320
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:824,TimeSinceLastFree:855
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:112336,TimeSinceLastFree:112336FOSSILSHALE ::: In success###
    
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:840,TimeSinceLastFree:871
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:112352,TimeSinceLastFree:112352RFC_ERR(842): ch-0 video writing is over ela!
    RFC_ERR(1837): ch-0      Video RET_ERROR!!
    RFC_ERR(1854): ch-0      Audio/Video file write over time error!!
    RFC_ERR(2284): ch-0 REC_OVER_WRITE_TIME goto RFC_RECORD_STATE_STOP 
    FOSSILSHALE : REC_NOFIY RFC_RECORD_STATE_STOP:.................
    
    RAJESHKANNAN ::: Before close_record..........
    
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:857,TimeSinceLastFree:888
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:112369,TimeSinceLastFree:112369multi_channel_recorder.c: MCR_ERR: channel 0E
    !!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...(CbbAppTask) !!!!!! MSS - Running Task incbbapp_tsk------XXXXXXXXXXXXXXXXXXXP
    RAJESHKANNAN ::: Checking the filename after closed = (/opt/tmp/00003476_F_20160629_234128.avi)....
    
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:147,TimeSinceLastFree:146
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:114060,TimeSinceLastFree:114060 [m3vpss ]  122776: CAMERA: Fields = 3482 (f)
    
     [m3vpss ] CAMERA: Inter Frame Interval  = 33 msec
     [m3vpss ]  ==================== CameraLink_PrintDetails ==================== 
     [m3vpss ]  124710: CAMERA: Fields = 7202 (fps = 59, CPU Load = 32)
     [m3vpss ]  124711: CAMERA: Num Resets = 0 (Avg 0 ms per reset)
     [m3vpss ]  ================================================================= 
    
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:162,TimeSinceLastFree:159
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:123423,TimeSinceLastFree:123423
    
    
     [host] IPC_BITSINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:178,TimeSinceLastFree:177
     [host] IPC_FRAMESINLINK:!WARNING!.Commands not being processed by link.TimeSinceLastAlloc:124978,TimeSinceLastFree:124978
    
    
    
    
    
    
     [m3vpss ]  ==================== EncLink_PrintDetails ==================== 
     [m3vpss ]      130373: HDVICP-ID:0
     [m3vpss ]              totalAcquire2wait in msec:229990035
     [m3vpss ]              totalWait2Isr in msec:    9869
     [m3vpss ]              totalIsr2Done in msec:      47
     [m3vpss ]              totalWait2Done in msec:    9916
     [m3vpss ]              totalDone2Release in msec:       0
     [m3vpss ]              totalAcquire2Release in msec:       0
     [m3vpss ]              totalAcq2acqDelay in msec:       0
     [m3vpss ]              totalElapsedTime in msec:       0
     [m3vpss ]              numAccessCnt:       0
     [m3vpss ]              IVA-FPS :       0
     [m3vpss ]  
     [m3vpss ]  *** ENCODE Statistics *** 
     [m3vpss ]  
     [m3vpss ]  Elasped Time           : 67303 msecs
     [m3vpss ]  
     [m3vpss ]  
     [m3vpss ]  CH  | In Recv In Skip In User  Out Latency  
     [m3vpss ]  Num | FPS     FPS     Skip FPS FPS Min / Max  CPU Load
     [m3vpss ]  ------------------------------------------------------
     [m3vpss ]    0 |   28.85    2.11     0.00 26.66   4 / 75847   30
     [m3vpss ]  
     [m3vpss ] Multi Channel Encode Average Submit Batch Size 
     [m3vpss ] Max Submit Batch Size : 24
     [m3vpss ] IVAHD_0 Average Batch Size : 1
     [m3vpss ] IVAHD_0 Max achieved Batch Size : 1
     [m3vpss ]  ================================================================= 
    
     [host] 
    Usecase is Active !!! 
    root@dm814x-evm:/mnt/mmc/log# 
    
    

  • Hi Rajesh,
    I would suggest you to trace in your application for rateControlPreset and set every where,
    rateControlPreset = 5;
    rateControlParamsPreset = 1;

  • Hi Prashanth,

    Thanks for your reply..,

    The parameters available in two files, one is ti_venc.c and another one is usecase file . I enabled the values as you suggested ..

    Still no improvement !!!

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Prashanth,

    I think the problem with the params settings already we discussed !!!

    Except (4,4) Encoder is not allowing to change the behavior

    If (4,4) also I could n't able to change the bit rate also .. !!! Straight forward ...

    Kindly suggest me if any possibility

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,
    When rateControlPreset = 4; rate control will be disabled (IVIDEO_NONE).
    After application sets rateControlPreset = 5; & rateControlParamsPreset = 1; and do XDM_SETPARAMS, codec will take the user defined values. I don't know why are you not seeing this at your side.!!
  • Hi Rajesh,
    There is a sample test application @path ../ipnc_install_dir/Source/ti_tools/codecs-dm814x/REL.500.V.MJPEG.E.IVAHD.xx.xx.xx.xx/500.V.MJPEG.E.IVAHD.01.00/IVAHD_001/client/test/src/jpegenc_ti_Test.c

    Please check you are setting the params in same way followed by the control calls. This testapp works fine.
  • Hi Prashanth,

    Thanks for your reply..,

    As per your suggestion
    In Fn EncLinkJPEG_algCreate() I used to call
    enclink_jpeg_set_static_params(&hObj->staticParams, algCreateParams);
    enclink_jpeg_set_dynamic_params(&hObj->dynamicParams, algDynamicParams);

    After this I'm calling this fn to control the Encoder
    algStatus = enclink_jpeg_control(hObj->algHandle,
    XDM_SETPARAMS,
    &hObj->dynamicParams, &hObj->status);

    I'm getting the below mentioned log:-

    [m3vpss ] FOSSILSHALE DEBUG : Static params............. width=848 height=480
    [m3vpss ] RAJESHKANNAN :: TI :: InputChromaFormat = (9)...
    [m3vpss ] RAJESHKANNAN :: TI :: Profile = (0)...
    [m3vpss ] RAJESHKANNAN :: TI :: level = (-1)...
    [m3vpss ] RAJESHKANNAN ::: IN ENCODER Changed RATECONTROL PRESET as 5
    [m3vpss ] RAJESHKANNAN :: TI :: rateControlPreset = (5)...
    [m3vpss ] RAJESHKANNAN :: TI :: MAX BitRate = (3000000)...
    [m3vpss ] RAJESHKANNAN :: TI :: MIN Bitrate = (1000000)...
    [m3vpss ] RAJESHKANNAN ::: BITRATE = (2000000)....
    [m3vpss ] RAJESHKANNAN ::: dynamicParams->rateControlParams.rateControlParamsPreset = (1)...
    [m3vpss ] RAJESHKANNAN ::: Checking before condition dynamicParams->rateControlParams.rcAlgo = (0)....
    [m3vpss ] RAJESHKANNAN ::: Setted rcAlgo as (0) = (0)...
    [m3vpss ] RAJESHKANNAN :: TI :: Target BitRate = (2000000)...
    [m3vpss ] RAJESHKANNAN :: TI :: RateCtrlParams Preset = (1)...
    [m3vpss ] RAJESHKANNAN :: TI ::HRDBufferSize = (4000000)...
    [m3vpss ] RAJESHKANNAN :: TI ::InitialBufferLevel = (4000000)...
    [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate width=480 height=848 pitch=848.............
    [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate width=480 height=848 pitch=848.............
    [m3vpss ] ***** SYSTEM : Frequency <ORG> - 200000000, <NEW> - 2000000

    Unable to proceed further !!!

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Prashanth,

    Is it correct the way of controlling codec params using enclink_jpeg_control ()???

    Kindly suggest !!!

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,

    Rajesh Kannan said:
    Is it correct the way of controlling codec params using enclink_jpeg_control ()???

    Yes, you are right. This is how you controll the codec params.

    Please try increasing Maxwidth and MaxHeight values. Check what values you are providing & inputwidth, input height should not cross Maxwidth & MaxHeight. Consider the rotation and set the values.

  • Hi Rajesh,
    Please add this in your code after you provide dynamic params and share me the prints logs.

    if (!UTILS_ISERROR(retVal))
    {
    algStatus = enclink_jpeg_control(hObj->algHandle,
    XDM_SETPARAMS,
    &hObj->dynamicParams, &hObj->status);


    enclink_jpeg_control(hObj->algHandle,
    XDM_GETSTATUS,
    &hObj->dynamicParams, &hObj->status);

    Vps_printf("enclink_jpeg_control with XDM_SETPARAMS returned %d\n", algStatus);

    Vps_printf("extended error codes [0] %x [1] %x [2] %x [3] %x\n", hObj->status.extendedErrorCode0, hObj->status.extendedErrorCode1, hObj->status.extendedErrorCode2, hObj->status.extendedErrorCode3);

    Vps_printf("hObj->status.videnc2Status.extendedError = %d\n", hObj->status.videnc2Status.extendedError);
    Vps_printf("hObj->status.videnc2Status.rateControlPreset = %d\n", hObj->status.videnc2Status.rateControlPreset);
    Vps_printf("hObj->status.rateControlParams.rateControlParamsPreset = %d\n", hObj->status.rateControlParams.rateControlParamsPreset);

    UTILS_assertError((algStatus == XDM_EOK), retVal,
    ENC_LINK_E_ALGSETPARAMSFAILED, linkID, channelID);
    }
  • Rajesh,
    Mean while, by any chance did you find time to go through the sample test application which I said? This standalone Testapp works fine.
  • Hi Prashanth,

    Thank you very much for your reply..,

    Input width and height is proper .., It should n't cross the MAX value...

    I added your code after calling enclink_jpeg_set_dynamic_params() Function ..., I'm getting the below logs

    [host] 582: IPC_FRAMES_IN : Create Done !!!
    [m3vpss ] SCLR:HEAPID:0 USED:64
    [m3vpss ] SCLR:HEAPID:1 USED:5952
    [m3vpss ] 1803: SCLR: Create Done !!!
    [m3vpss ] 1804: IPC_FRAMES_OUT : Create in progress !!!
    [m3vpss ] 1806: IPC_FRAMES_OUT : Create Done !!!
    [m3vpss ] 1813: MERGE : Create Done !!!
    [m3vpss ] FOSSILSHALE :In DUP_CREATE ::: pPrm->Stream_ctrl = (3)....
    [m3vpss ] 1820: DUP : Create Done !!!
    [m3vpss ] 1820: ENCODE: Create in progress ... !!!
    [m3vpss ] RAJESHKANNAN ::: IN ENCODER Bitrate = 2000000...
    [m3vpss ] RAJESHKANNAN ::: IN ENCODER MAX Bitrate = 2000000...
    [m3vpss ] 1857: ENCODE: Creating CH0 of 848 x 480, pitch = (16384, 32768) [PROGRESSIVE] [TILED ], bitrate = 2000 Kbps ...
    [m3vpss ] RAJESHKANNAN ::: In Fn(enclink_codec_set_ch_alg_create_params) MAX BR value = (0)...
    [m3vpss ] RAJESHKANNAN ::: In Fn(enclink_codec_set_ch_alg_create_params) encodingPreset = (0)...
    [m3vpss ] RAJESHKANNAN ::: In Fn(enclink_codec_set_ch_alg_create_params) rateControlPreset = (5)...
    [m3vpss ] RAJESHKANNAN ::: In Fn(enclink_codec_set_ch_alg_create_params) enableHighSpeed = (0)...
    [m3vpss ] RAJESHKANNAN ::: In Fn(enclink_codec_set_ch_alg_create_params) StreamPreset = (0)...
    [m3vpss ] RAJESHKANNAN ::: In Fn(enclink_codec_set_ch_alg_default_dynamic_params) BR value = (2000000)...
    [m3vpss ] RAJESHKANNAN ::: In Fn(EncLinkJPEG_algCreate)......
    [m3vpss ] RAJESHKANNAN :: TI InputContentType:: = (0)...
    [m3vpss ] FOSSILSHALE DEBUG : Static params............. width=848 height=480
    [m3vpss ] RAJESHKANNAN :: TI :: InputChromaFormat = (9)...
    [m3vpss ] RAJESHKANNAN :: TI :: Profile = (0)...
    [m3vpss ] RAJESHKANNAN :: TI :: level = (-1)...
    [m3vpss ] RAJESHKANNAN ::: IN ENCODER Changed RATECONTROL PRESET as 5
    [m3vpss ] RAJESHKANNAN :: TI :: rateControlPreset = (5)...
    [m3vpss ] RAJESHKANNAN :: TI :: MAX BitRate = (3000000)...
    [m3vpss ] RAJESHKANNAN :: TI :: MIN Bitrate = (1000000)...
    [m3vpss ] RAJESHKANNAN ::: BITRATE = (2000000)....
    [m3vpss ] RAJESHKANNAN ::: dynamicParams->rateControlParams.rateControlParamsPreset = (1)...
    [m3vpss ] RAJESHKANNAN ::: Checking before condition dynamicParams->rateControlParams.rcAlgo = (0)....
    [m3vpss ] RAJESHKANNAN ::: Setted rcAlgo as (0) = (0)...
    [m3vpss ] RAJESHKANNAN :: TI :: Target BitRate = (2000000)...
    [m3vpss ] RAJESHKANNAN :: TI :: RateCtrlParams Preset = (1)...
    [m3vpss ] RAJESHKANNAN :: TI ::HRDBufferSize = (4000000)...
    [m3vpss ] RAJESHKANNAN :: TI ::InitialBufferLevel = (4000000)...
    [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate width=480 height=848 pitch=848.............
    [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate width=480 height=848 pitch=848.............
    [m3vpss ] ***** SYSTEM : Frequency <ORG> - 200000000, <NEW> - 200000000

    Simply stopped !!!

    Kindly suggest me ??

    Thanks Prashanth

    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,

    From your logs it looks like all the values provided by you are set correctly.

    Yes, inputWidth and inputHeight shouldn't cross MaxWidth and Maxheight.

    As per your log, you have set

       algCreateParams->maxHeight = 848;

       algCreateParams->maxWidth = 480 ;

    Rajesh Kannan said:
    [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate width=480 height=848 pitch=848.............
    [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate width=480 height=848 pitch=848.............

    Here it will be conflict since its rotated. 

    Please set 

    algCreateParams->maxHeight = 1080;
    algCreateParams->maxWidth = 1920;

  • Hi Rajesh,
    After adding the code, dint you get below logs?
    Vps_printf("enclink_jpeg_control with XDM_SETPARAMS returned %d\n", algStatus);

    Vps_printf("extended error codes [0] %x [1] %x [2] %x [3] %x\n", hObj->status.extendedErrorCode0, hObj->status.extendedErrorCode1, hObj->status.extendedErrorCode2, hObj->status.extendedErrorCode3);

    Vps_printf("hObj->status.videnc2Status.extendedError = %d\n", hObj->status.videnc2Status.extendedError);
    Vps_printf("hObj->status.videnc2Status.rateControlPreset = %d\n", hObj->status.videnc2Status.rateControlPreset);
    Vps_printf("hObj->status.rateControlParams.rateControlParamsPreset = %d\n", hObj->status.rateControlParams.rateControlParamsPreset);

    If yes can you please share. It will be helpful.
  • Hi Prashanth,

    Thanks for  your reply..,

    My default use case it should be ( 480* 848 ) ----> Is it causing a problem ???

    No Prashanth I did n't the logs !!

    It seems try to change by using enclink_jpeg_control() got struct !!  I guess 

    Kindly suggest me ???

    Thanks &

    Regards,

    Rajesh Kannan.S

  • Hi Rajesh,

    Rajesh Kannan said:
    My default use case it should be ( 480* 848 ) ----> Is it causing a problem ???

    No, you can encode any resolution with in this range

    width :- 32 to 16384 (it should be multiple of 16)

    height:- 32 to 8192. (it should be multiple of 16)

    ********************************************************

    Can you try by setting 1280x720, once and share your observation.

    algCreateParams->maxHeight = 720;
    algCreateParams->maxWidth = 1280;

  • Hi Prashanth,

    Thanks for your reply...

    Why I'm asking need to handle Use case and Scalar link and recording file also ???

    Can I switch to modify all those links ??

    Thanks &
    Regards

    Rajesh Kannan.S
  • Hi Rajesh,
    Is it not very straight forward? Changing the Maxwidth and MaxHeight..DO you have to modify everything? I am not very sure from system point of view.
  • Hi Prashanth,

    Thanks for your reply..,

    Yes need to modify Usecase and Encoder params and Sclr link and Avisave also

    Kindly suggest then I will make it forward ...

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,
    If its easy and can be done quickely, I would suggest you to try 1280x720 once. Wanted to make sure the about the maxheight set by you(848) which is greater than 720.
    If 1280x720 works then, issue is with maxWidth and maxHeight.
  • Hi Prashanth,

    Thank you for your reply...,

    Yet to start revert back what we discussed ... will make a change and let you know ..

    Thanks Prashanth

    Regards,

    Rajesh Kannan.S
  • Hi Prashanth,

    From camera scOutWidth and height as setted to 1280*720

    Using Tiler rotation it has to go encoder width as 720 and height as 1280 correct ???

    But our moto is to check the height should n't cross 720

    If I tried width as 720 and height as 1280 from camera out getting ERROR from camera handle ???


    Kindly suggest me to solve ??

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,

    Rajesh Kannan said:
    From camera scOutWidth and height as setted to 1280*720

     

    Can you set it as 1920x1080? and try now. It shouldn't fail.

    Rajesh Kannan said:
    If I tried width as 720 and height as 1280 from camera out getting ERROR from camera handle ???

    Yes this is because maxheight is 720, and after tiler rotation inputheight is > maxheight. So you see this error.

  • Hi Prashanth,

    The rotation is handled from camera(dynamically we can change by using mirror command when camera system_link_start)

    If it is (1280*720) then it should be (720*1280) ----> to encoder

    Or is it possible the rotation functionality from ( VPSS ) any of the links it supports except camera link ???

    Why because we can't capture from camera (720 * 1080) causing issue !!!


    Kindly suggest me to solve ??

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,

    I am sorry, I have no much inputs from systems perspective. May be you can raise another thread for this query on camera link, so that experts can get you an answer.

    Ideally, if you set maxWidth & maxHeigth as 1920x1080 even after you rotate your input width & height it should work(provided it doesn't exceed maxWidth & Height).

    Rajesh Kannan said:
    If it is (1280*720) then it should be (720*1280) ----> to encoder

    Rajesh Kannan said:
    Why because we can't capture from camera (720 * 1080) causing issue !!!

    Here when 720x1080 is causing the issue, it will surely cause issue with 720x1280. Can you check whats is the max resolution your camera supports?

    Or you can try encoding smaller resolution 640x480 :- rotating this 480x640. This should work for sure.

  • Hi Prashanth,

    Thank you very much for your reply...

    Yes you are correct...

    Camera supports upto 1080p

    My question is Normally FullHD resolution is width = 1920 height =1080

    Using mirror command its rotated to to 1080 * 1920

    Now the MaxHeight is in encoder side is 1080 .... After rotation my input height is 1920 ?? it is a problem !!! I could n't able to Encode the stream ???

    Kindly suggest me if any possibility on this ???

    After that some pitch value inside (enclink_jpeg.c) how they are calculating ???

    Thanks Prashanth

    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,

    Can you please follow these steps and tell me your observation?

    1. Try encoding 640x480 :- 480x640 and share your observation.

    2. Set 1920x1080 where ever you see 1280x720. Don't use mirror command to rotate. Do normal encoding and share me your observation.

    Rajesh Kannan said:
    Camera supports upto 1080p

    My question is Normally FullHD resolution is width = 1920 height =1080

    So the maximum height you can encode is 1080, not more than that. So when you rotate 1280x720, height is 1280 > 1080 and it fails.

    Rajesh Kannan said:
    Using mirror command its rotated to to 1080 * 1920

    Here the height is 1920 which is >  maximum height 1080.

    Rajesh Kannan said:
    Now the MaxHeight is in encoder side is 1080 .... After rotation my input height is 1920 ?? it is a problem !!! I could n't able to Encode the stream ???

    Yes, exactly. You are right.

  • Hi Prashanth,

    Thanks for your reply ...

    Now I disabled the Tiler rotation.... as u suggested !!!

    I enabled fullHD as it is should encode width as 1920 and height as 1080

    Let you know shortly...

    Regards,

    Rajesh Kannan.S
  • Hi Prashanth,

    See the log for your reference !!!

    How to calculate the pitch value Prashanth ???

    For CH0 is ( 864 ) & CH1( some value ) is it correct ???

    [m3vpss ] 1684: ENCODE: Creating CH0 of 848 x 480, pitch = (864, 864) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps ...
    [m3vpss ] RAJESHKANNAN ::: enclink_codec_set_ch_alg_create_params For chId 0 480*848 setted successfully..........
    [m3vpss ] RAJESHKANNAN ::: pChAlgDynPrm->inputWidth = (848), pChAlgDynPrm->inputHeight = (480)...
    [m3vpss ] RAJESHKANNAN ::: Checking PITCH Value = (864)......
    [m3vpss ] RAJESHKANNAN ::: For chId 0 DYNAMIC PRM (480*848) setted successfully..........
    [m3vpss ] RAJESHKANNAN ### ChannelID = (0)......
    [m3vpss ] RAJESHKANNAN : For ChID 0.......
    [m3vpss ] FOSSILSHALE DEBUG : Static params............. width=848 height=480
    [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate width=480 height=848 pitch=848.............
    [m3vpss ] ENCLINK_JPEG:HEAPID:0 USED:6328
    [m3vpss ] 1688: ENCODE: Creating CH1 of 1920 x 1080, pitch = (16384, 32768) [PROGRESSIVE] [TILED ], bitrate = 100 Kbps ...
    [m3vpss ] RAJESHKANNAN ::: enclink_codec_set_ch_alg_create_params For chId 1 FullHD (1080*1920) setted successfully..........
    [m3vpss ] RAJESHKANNAN ::: pChAlgDynPrm->inputWidth = (1920), pChAlgDynPrm->inputHeight = (1080)...
    [m3vpss ] RAJESHKANNAN ::: Checking PITCH Value = (16384)......
    [m3vpss ] RAJESHKANNAN ::: For chId 1 DYNAMIC PRM (1080*1920) setted successfully..........
    [m3vpss ] RAJESHKANNAN ### ChannelID = (1)......
    [m3vpss ] RAJESHKANNAN : For ChID 1.......
    [m3vpss ] FOSSILSHALE DEBUG : Static params............. width=1080 height=1920
    [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate width=1920 height=1080 pitch=1080.............
    [m3vpss ] 1692:!ERROR!:ENCLINK::links_m3video/iva_enc/encLink_jpeg.c:[90]::INTERNAL ERROR:-1
    [m3vpss ] ALGCONTROL FAILED:CMD:1
    [m3vpss ]
    [m3vpss ] 1692:ERR::linkID:20000049::channelID:1::errorCode:-5::FileName:links_m3video/iva_enc/encLink_jpeg.c::linuNum:698::errorCondition:(algStatus == XDM_EOK)
    [m3vpss ] 1693: Assertion @ Line: 948 in links_m3video/iva_enc/encLink_common.c: retVal == ENC_LINK_S_SUCCESS : failed !!!

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,

    I did not see your observation of the resolution 640x480.

    Pitch is nothing but your capture width, you can see in your log what width you set is getting reflected as pitch.
    So as per your log and as told earlier you can encode only upto this resolution width 1920 and height 1080. You cannot encode beyond this from your camera.

    As you have set 1920 x 1080 , you should be able to encode upto height 1080.
    Please set your max width and height to 1920 and 1080. And your required resolution will work. for 480x848.

    Kindly debug all this points weather your are setting it right. Lets stick to the main question of this thread and not to divert. If there are other issues, I suggest you to open a new query so that experts will answer to you.

  • Hi Prashanth,

    Thanks for your reply and information.

    I don't want to divert of this thread what we discussed earlier regarding max width and height that's why I included FULLHD resolution

    Now I changed the pitch value (width as pitch ) .. Once I will test it and let u know ... and close this thread

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Prashanth,

    Sorry for late reply not feeling well !!!

    I enabled the resolution 640*480 instead of 848*480 as u suggessted !!!

    Kindly see the log and suggest me ???

    [m3vpss ] 2014: ENCODE: Create in progress ... !!!
    [m3vpss ] RAJESHKANNAN ::: IN ENCODER Bitrate = 2000000...
    [m3vpss ] RAJESHKANNAN ::: IN ENCODER MAX Bitrate = 2000000...
    [m3vpss ] 2032: ENCODE: Creating CH0 of 640 x 480, pitch = (16384, 32768) [PROGRESSIVE] [TILED ], bitrate = 2000 Kbps ...
    [m3vpss ] RAJESHKANNAN ::: In Fn(enclink_codec_set_ch_alg_create_params) MAX BR value = (0)...
    [m3vpss ] RAJESHKANNAN ::: In Fn(enclink_codec_set_ch_alg_create_params) encodingPreset = (0)...
    [m3vpss ] RAJESHKANNAN ::: In Fn(enclink_codec_set_ch_alg_create_params) rateControlPreset = (5)...
    [m3vpss ] RAJESHKANNAN ::: In Fn(enclink_codec_set_ch_alg_create_params) enableHighSpeed = (0)...
    [m3vpss ] RAJESHKANNAN ::: In Fn(enclink_codec_set_ch_alg_create_params) StreamPreset = (0)...
    [m3vpss ] RAJESHKANNAN ::: In Fn(enclink_codec_set_ch_alg_default_dynamic_params) BR value = (2000000)...
    [m3vpss ] RAJESHKANNAN ::: In Fn(EncLinkJPEG_algCreate)......
    [m3vpss ] RAJESHKANNAN :: TI InputContentType:: = (0)...
    [m3vpss ] FOSSILSHALE DEBUG : Static params............. width=640 height=480
    [m3vpss ] RAJESHKANNAN :: TI :: InputChromaFormat = (9)...
    [m3vpss ] RAJESHKANNAN :: TI :: Profile = (0)...
    [m3vpss ] RAJESHKANNAN :: TI :: level = (-1)...
    [m3vpss ] RAJESHKANNAN ::: IN ENCODER Changed RATECONTROL PRESET as 5
    [m3vpss ] RAJESHKANNAN :: TI :: rateControlPreset = (5)...
    [m3vpss ] RAJESHKANNAN :: TI :: MAX BitRate = (3000000)...
    [m3vpss ] RAJESHKANNAN :: TI :: MIN Bitrate = (1000000)...
    [m3vpss ] RAJESHKANNAN ::: BITRATE = (2000000)....
    [m3vpss ] RAJESHKANNAN ::: dynamicParams->rateControlParams.rateControlParamsPreset = (1)...
    [m3vpss ] RAJESHKANNAN ::: Checking before condition dynamicParams->rateControlParams.rcAlgo = (0)....
    [m3vpss ] RAJESHKANNAN ::: Setted rcAlgo as (0) = (0)...
    [m3vpss ] RAJESHKANNAN :: TI :: Target BitRate = (2000000)...
    [m3vpss ] RAJESHKANNAN :: TI :: RateCtrlParams Preset = (1)...
    [m3vpss ] RAJESHKANNAN :: TI ::HRDBufferSize = (4000000)...
    [m3vpss ] RAJESHKANNAN :: TI ::InitialBufferLevel = (4000000)...
    [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate width=480 height=640 pitch=480.............
    [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate width=480 height=640 pitch=480.............
    [m3vpss ] ***** SYSTEM : Frequency <ORG> - 200000000, <NEW> - 200000000

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,

    Rajesh Kannan said:
    [m3vpss ] RAJESHKANNAN ::: IN ENCODER Changed RATECONTROL PRESET as 5
    [m3vpss ] RAJESHKANNAN :: TI :: rateControlPreset = (5)...
    [m3vpss ] RAJESHKANNAN :: TI :: MAX BitRate = (3000000)...
    [m3vpss ] RAJESHKANNAN :: TI :: MIN Bitrate = (1000000)...
    [m3vpss ] RAJESHKANNAN ::: BITRATE = (2000000)....
    [m3vpss ] RAJESHKANNAN ::: dynamicParams->rateControlParams.rateControlParamsPreset = (1)...
    [m3vpss ] RAJESHKANNAN ::: Checking before condition dynamicParams->rateControlParams.rcAlgo = (0)....
    [m3vpss ] RAJESHKANNAN ::: Setted rcAlgo as (0) = (0)...
    [m3vpss ] RAJESHKANNAN :: TI :: Target BitRate = (2000000)...
    [m3vpss ] RAJESHKANNAN :: TI :: RateCtrlParams Preset = (1)...
    [m3vpss ] RAJESHKANNAN :: TI ::HRDBufferSize = (4000000)...
    [m3vpss ] RAJESHKANNAN :: TI ::InitialBufferLevel = (4000000)...
    [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate width=480 height=640 pitch=480.............
    [m3vpss ] FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate width=480 height=640 pitch=480.............

    From your log it looks, 640x480 is working fine. Did you set maxwidth and maxheight as 1920x1080? Now try with your resolution and It will work.

  • Hi Prashanth,

    Thank you very much for your reply..,

    From Camera Usecase value :-
    pCameraOutPrm->scOutWidth = 640;
    pCameraOutPrm->scOutHeight = 480;

    algCreateParams->maxHeight = 640;
    algCreateParams->maxWidth = 480;

    As you suggested for testing purpose I enabled the above resolution!!
    MaxHeight & width is not FullHD, Inversion value from camera side to Encoder

    You are suggesting me to change MaxWidth & height as FullHD to Encoder side ?????? (Whatever input from camera either 640*480 or 480*848 ) like that ???

    Kindly suggest me to solve

    Thanks Prashanth
    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,

    Please set this and it will work.

    maxwdith = 1920; Once you set this let this be permanent. Please do not change it for any resolution.

    maxHeight = 1080; Once you set this let this be permanent. Please do not change it for any resolution.

    Never touch max width and max height after setting as above. What ever might be your use case. Please follow this.

    Now set 

    inputwidth = 848; your resolution

    inputheight = 480; your resolution

    pitch = inputwidth;

    staticParams->videnc2Params.rateControlPreset = 5;

     dynamicParams->rateControlParams.rateControlParamsPreset = 1;

     dynamicParams->videnc2DynamicParams.targetBitRate = 2000000;

     dynamicParams->rateControlParams.HRDBufferSize = dynamicParams->videnc2DynamicParams.targetBitRate * 2;

     dynamicParams->rateControlParams.initialBufferLevel = dynamicParams->videnc2DynamicParams.targetBitRate * 2;

     dynamicParams->rateControlParams.rcAlgo = 0;

    Do a control call XDM_SETPARMS as I mention long back with the code.

    Do a control call XDM_GETSTATUS as I mention long back with the code.

    Hope this is very straight forward and it will solve your issue.

    Until you follow this, it might not work. U need to debug weather you are setting everything as mentioned.

    Please refer user guide of MJPEG Encoder on details about maxwidth and maxheight. There is a sample testapplication (share the link earlier) where you can understand easily how to set it. You just need to follow same in your code.

  • Hi Prashanth,

    Thanks for your reply..

    As you suggested Enabled MaxWidth & Height as FullHD

    I have one more query

    In File encLink_jpeg.c , Fn EncLinkJPEG_algCreate() I used to call Encoder control after set dynamic fn

    enclink_jpeg_set_static_params(&hObj->staticParams, algCreateParams);
    enclink_jpeg_set_dynamic_params(&hObj->dynamicParams, algDynamicParams);

    From dynamic it's clear ... no issue ... 


    if (!UTILS_ISERROR(retVal))
    {
    algStatus = enclink_jpeg_control(hObj->algHandle,
    XDM_SETPARAMS,
    &hObj->dynamicParams, &hObj->status);


    enclink_jpeg_control(hObj->algHandle,
    XDM_GETSTATUS,
    &hObj->dynamicParams, &hObj->status);

    Vps_printf("enclink_jpeg_control with XDM_SETPARAMS returned %d\n", algStatus);  -----> Not getting this print 

    Vps_printf("extended error codes [0] %x [1] %x [2] %x [3] %x\n", hObj->status.extendedErrorCode0, hObj->status.extendedErrorCode1, hObj->status.extendedErrorCode2, hObj->status.extendedErrorCode3);

    Vps_printf("hObj->status.videnc2Status.extendedError = %d\n", hObj->status.videnc2Status.extendedError);
    Vps_printf("hObj->status.videnc2Status.rateControlPreset = %d\n", hObj->status.videnc2Status.rateControlPreset);
    Vps_printf("hObj->status.rateControlParams.rateControlParamsPreset = %d\n", hObj->status.rateControlParams.rateControlParamsPreset);

    UTILS_assertError((algStatus == XDM_EOK), retVal,
    ENC_LINK_E_ALGSETPARAMSFAILED, linkID, channelID);
    }

    From Encoder is trying to SetParam dynamic control call getting struct ???

    Thanks &

    Regards,

    Rajesh Kannan.S

  • Hi Rajesh,

    Rajesh Kannan said:
    From dynamic it's clear ... no issue ... 

    Nice to know this its getting set dynamically. 

    Rajesh Kannan said:

    Vps_printf("extended error codes [0] %x [1] %x [2] %x [3] %x\n", hObj->status.extendedErrorCode0, hObj->status.extendedErrorCode1, hObj->status.extendedErrorCode2, hObj->status.extendedErrorCode3);

    Vps_printf("hObj->status.videnc2Status.extendedError = %d\n", hObj->status.videnc2Status.extendedError);
    Vps_printf("hObj->status.videnc2Status.rateControlPreset = %d\n", hObj->status.videnc2Status.rateControlPreset);
    Vps_printf("hObj->status.rateControlParams.rateControlParamsPreset = %d\n", hObj->status.rateControlParams.rateControlParamsPreset);

    Share me these values, I will look into it.

  • Hi Prashanth,

    Thanks for your reply...

    In this getting stopped from enclink_jpeg_control

    if (!UTILS_ISERROR(retVal))

    {

       Vps_printf("RAJESHKANNAN ::: Before call to control SETPARAMS...\n");  ----> Getting this print

       algStatus = enclink_jpeg_control(hObj->algHandle,

       XDM_SETPARAMS,

       &hObj->dynamicParams, &hObj->status)

      Vps_printf("RAJESHKANNAN ::: After calling to control SETPARAMS...\n");  -----> Unable to get this print !!!!!!


    After that only I can able to print the extendedError and all ???

    Kindly suggest ?

    Thanks &

    Regards,

    Rajesh Kannan.S

  • Hi Rajesh,
    As said by you earlier. 640x480 was working fine. Can you please debug at your side what changes made you get stuck here? What changes did you do after 640x480 was working? CAn you tell in detail? I am not getting why its hanging now fi it was working for 640x480.
  • Hi Prashanth,

    Thanks for your reply..

    U could check once the 640*480 log which I previously shared !!!

    Same log for (640*480) and (480*848) nothing difference

    For this test case I enabled the debug logs only ..., Nothing more than that .

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,
    Please reply me these points:
    1. what is your maxwidth?
    2. what is your maxheight?
    3. Is 640x480 working fine with out any hang? The log shared doesn't give much info.
  • Hi Prashanth,

    Thanks for your reply..,

    As u suggested
    pChAlgCreatePrm->maxWidth = 1920;
    pChAlgCreatePrm->maxHeight = 1080;
    In encLink_common.c file

    For 640*480 I shared the log upto what I got it in the console !!!

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Prashanth,

    In File encLink_jpeg.c also it's already enabled the MAX width&height as FULL HD resolution

    Input width & height only I changed based on our use case

    Kindly suggest me to solve this !!

    Thanks &
    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,
    Thanks for the reply.
    Yes you are setting it right. And dynamic parameters are taking effect . Can you open a different thread for new queries and issues. It will be easy to track and experts will have a answer for it.
  • Hi Prashanth,

    Thanks for ur reply..

    Fins the attached file for your reference !!!

    Kindly check and let me know if something wrong !!!

    After I will close this and start new thread ....

    Thanks Prashanth your inputs are awesome points for me understand more on this ...

    Thank u very much 

    Regards,

    Rajesh Kannan.S

    7522.encLink_jpeg.c
    /*******************************************************************************
     *                                                                             *
     * Copyright (c) 2009 Texas Instruments Incorporated - http://www.ti.com/      *
     *                        ALL RIGHTS RESERVED                                  *
     *                                                                             *
     ******************************************************************************/
    
    #include <xdc/std.h>
    #include <ti/xdais/xdas.h>
    #include <ti/xdais/ialg.h>
    #include <ti/sdo/fc/utils/api/alg.h>
    #include <ti/sdo/fc/rman/rman.h>
    #include <ti/xdais/dm/ividenc2.h>
    #include <ijpegenc.h>
    #include <jpegenc_ti.h>
    
    #include "encLink_priv.h"
    #include "encLink_jpeg_priv.h"
    
    #include <mcfw/src_bios6/links_m3video/codec_utils/utils_encdec.h>
    #include <mcfw/src_bios6/links_m3video/codec_utils/iresman_hdvicp2_earlyacquire.h>
    
    
    static JPEGVENC_Handle enc_link_jpeg_create(const IJPEGVENC_Fxns * fxns,
                                                const IJPEGVENC_Params * prms);
    static Void enc_link_jpeg_delete(JPEGVENC_Handle handle);
    static Int32 enclink_jpeg_control(JPEGVENC_Handle handle,
                                      IJPEGVENC_Cmd cmd,
                                      IJPEGVENC_DynamicParams * params,
                                      IJPEGVENC_Status * status);
    static Int enclink_jpeg_set_static_params(IJPEGVENC_Params * staticParams,
                                              EncLink_AlgCreateParams *
                                              algCreateParams);
    static Int enclink_jpeg_set_algObject(EncLink_JPEGObj * algObj,
                                          EncLink_AlgCreateParams * algCreateParams,
                                          EncLink_AlgDynamicParams *
                                          algDynamicParams);
    static Int enclink_jpeg_set_dynamic_params(IJPEGVENC_DynamicParams *
                                               dynamicParams,
                                               EncLink_AlgDynamicParams *
                                               algDynamicParams);
    static Void enclink_jpeg_freersrc(EncLink_JPEGObj * hObj, Int rsrcMask);
    
    extern IRES_Fxns JPEGVENC_TI_IRES;
    
    /*
     *  ======== enc_link_jpeg_create ========
     *  Create an JPEGENC instance object (using parameters specified by prms)
     */
    
    static JPEGVENC_Handle enc_link_jpeg_create(const IJPEGVENC_Fxns * fxns,
                                                const IJPEGVENC_Params * prms)
    {
        return ((JPEGVENC_Handle) ALG_create((IALG_Fxns *) fxns,
                                             NULL, (IALG_Params *) prms));
    }
    
    /*
     *  ======== enc_link_jpeg_delete ========
     *  Delete the JPEGENC instance object specified by handle
     */
    
    static Void enc_link_jpeg_delete(JPEGVENC_Handle handle)
    {
        ALG_delete((IALG_Handle) handle);
    }
    
    /*
     *  ======== enc_link_jpeg_control ========
     */
    
    static Int32 enclink_jpeg_control(JPEGVENC_Handle handle,
                                      IJPEGVENC_Cmd cmd,
                                      IJPEGVENC_DynamicParams * params,
                                      IJPEGVENC_Status * status)
    {
    
        int error = 0;
        IALG_Fxns *fxns = (IALG_Fxns *) handle->fxns;
    
        fxns->algActivate((IALG_Handle) handle);
    
        error = handle->fxns->ividenc.control((IVIDENC2_Handle) handle, cmd,
                                              (IVIDENC2_DynamicParams *) params,
                                              (IVIDENC2_Status *) status);
        fxns->algDeactivate((IALG_Handle) handle);
    
        if (error != XDM_EOK)
        {
            ENCLINK_INTERNAL_ERROR_LOG(error, "ALGCONTROL FAILED:CMD:%d", cmd);
        }
        return error;
    }
    
    /*
     *  ======== Enclink_jpegEncodeFrame ========
     */
    Int32 Enclink_jpegEncodeFrame(EncLink_ChObj * pChObj, EncLink_ReqObj * pReqObj)
    {
        int error;
        Int32 i;
        IJPEGVENC_InArgs *inArgs;
        IJPEGVENC_OutArgs *outArgs;
        IVIDEO2_BufDesc *inputBufDesc;
        XDM2_BufDesc *outputBufDesc;
        JPEGVENC_Handle handle;
        IALG_Fxns *fxns = NULL;
        IVIDEO_ContentType contentType;
        void *allocatedRingBufferAddr;
        UInt32 allocatedRingBufferLength;
        UInt32 frameWidth,frameHeight;
        RingBufferHandle_t ringBufferHnl;
    
        inArgs = &pChObj->algObj.u.jpegAlgIfObj.inArgs;
        outArgs = &pChObj->algObj.u.jpegAlgIfObj.outArgs;
        inputBufDesc = &pChObj->algObj.u.jpegAlgIfObj.inBufs;
        outputBufDesc = &pChObj->algObj.u.jpegAlgIfObj.outBufs;
        handle = pChObj->algObj.u.jpegAlgIfObj.algHandle;
    
        UTILS_assert(handle != NULL);
    
        fxns = (IALG_Fxns *) handle->fxns;
    
        inArgs->videnc2InArgs.inputID =
            (UInt32) pReqObj->InFrameList.frames[0]->addr[0][0];
        for (i = 0; i < inputBufDesc->numPlanes; i++)
        {
            /* Set proper buffer addresses for Frame data */
            /*---------------------------------------------------------------*/
            if (pChObj->algObj.algCreateParams.tilerEnable)
            {
                inputBufDesc->planeDesc[i].buf =
                    (Ptr)
                    Utils_tilerAddr2CpuAddr((UInt32)
                                            (pReqObj->InFrameList.frames[0]->
                                             addr[0][i]));
            }
            else
            {
                inputBufDesc->planeDesc[i].buf =
                    pReqObj->InFrameList.frames[0]->addr[0][i];
            }
        }
    
    	extern BitStreamRingBuffer ringBuffer[UTILS_BITBUF_MAX_ALLOC_POOLS];
    	ringBufferHnl = &ringBuffer[pChObj->allocPoolID];
    
    	 if(ringBufferHnl->wrOfst >= ringBufferHnl->rdOfst) // case1
    	{
    	     allocatedRingBufferAddr = (void *)((UInt32)ringBufferHnl->baseAddr + ringBufferHnl->wrOfst);
    	     allocatedRingBufferLength = ringBufferHnl->totalSize - ringBufferHnl->wrOfst;
    
    		frameWidth = pReqObj->OutBuf->frameWidth;
    		frameHeight = pReqObj->OutBuf->frameHeight;
    	     if(allocatedRingBufferLength <= MIN_TERMINATION_SIZE(frameWidth,frameHeight))
    	     {
    	     		//Vps_printf ("*******early termination********\n");
    			Utils_ringBuffer_updateWrOfst(ringBufferHnl, allocatedRingBufferLength);
    	     		allocatedRingBufferAddr = (void *)((UInt32)ringBufferHnl->baseAddr + ringBufferHnl->wrOfst);
    	     		allocatedRingBufferLength = ringBufferHnl->rdOfst - ringBufferHnl->wrOfst;
    	     }
    	}
    	else // (ringBufferHnl->wrOfst < ringBufferHnl->rdOfst) // case1
    	{
    	     allocatedRingBufferAddr = (void *)((UInt32)ringBufferHnl->baseAddr + ringBufferHnl->wrOfst);
    	     allocatedRingBufferLength = ringBufferHnl->rdOfst - ringBufferHnl->wrOfst;
    	}
        pReqObj->OutBuf->mvDataFilledSize = 0;
        for (i = 0; i < outputBufDesc->numBufs; i++)
        {
            /* Set proper buffer addresses for bitstream data */
          /*---------------------------------------------------------------*/
            outputBufDesc->descs[i].buf = allocatedRingBufferAddr;
            outputBufDesc->descs[i].bufSize.bytes = allocatedRingBufferLength;
        }
    
        fxns->algActivate((IALG_Handle) handle);
        error =
            handle->fxns->ividenc.process((IVIDENC2_Handle) handle,
                                          inputBufDesc, outputBufDesc,
                                          (IVIDENC2_InArgs *) inArgs,
                                          (IVIDENC2_OutArgs *) outArgs);
        fxns->algDeactivate((IALG_Handle) handle);
    
    
       	pReqObj->OutBuf->codingType = pChObj->algObj.u.jpegAlgIfObj.format;
    	pReqObj->OutBuf->addr = allocatedRingBufferAddr;
           pReqObj->OutBuf->fillLength = outArgs->videnc2OutArgs.bytesGenerated;
    	 pReqObj->OutBuf->bufSize =   outArgs->videnc2OutArgs.bytesGenerated;
    	 pReqObj->OutBuf->startOffset = 0;
    	 pReqObj->OutBuf->phyAddr = (UInt32 )pReqObj->OutBuf->addr;
    	 Utils_ringBuffer_updateWrOfst(ringBufferHnl, outArgs->videnc2OutArgs.bytesGenerated);
    	 Utils_ringBuffer_updateEncodedStreamCount(ringBufferHnl, TRUE);
    
        if (pChObj->algObj.u.jpegAlgIfObj.staticParams.videnc2Params.
            inputContentType == IVIDEO_PROGRESSIVE)
        {
            contentType = IVIDEO_PROGRESSIVE;
        }
        else
        {
            contentType =
                Utils_encdecMapFVID2FID2XDMContentType((FVID2_Fid) pReqObj->
                                                       InFrameList.frames[0]->
                                                       fid);
        }
        pReqObj->OutBuf->isKeyFrame =
            Utils_encdecIsGopStart(outArgs->videnc2OutArgs.encodedFrameType,
                                   contentType);
        pReqObj->OutBuf->frameWidth = inputBufDesc->imageRegion.bottomRight.x -
                                      inputBufDesc->imageRegion.topLeft.x;
        pReqObj->OutBuf->frameHeight = inputBufDesc->imageRegion.bottomRight.y -
                                      inputBufDesc->imageRegion.topLeft.y;
    
    
    
        if (error != XDM_EOK)
        {
            ENCLINK_INTERNAL_ERROR_LOG(error, "ALGPROCESS FAILED");
        	Vps_printf ("JPEG Extended error %x \n", outArgs->videnc2OutArgs.extendedError);
        }
    
        return (error);
    }
    
    static Int enclink_jpeg_set_static_params(IJPEGVENC_Params * staticParams,
                                              EncLink_AlgCreateParams *
                                              algCreateParams)
    {
        /* Initialize default values for static params */
        *staticParams = JPEGVENC_TI_PARAMS;
    
        
    #ifndef RAJESH 
        algCreateParams->maxHeight = 1080; //640; //480 ;//640; //848; 
        algCreateParams->maxWidth = 1920; //480; //640; //480 ;
    #endif
    
        staticParams->videnc2Params.maxHeight =
                      VpsUtils_align(algCreateParams->maxHeight, 2);
    
        staticParams->videnc2Params.maxWidth =
                      VpsUtils_align(algCreateParams->maxWidth, 16);
    
        staticParams->videnc2Params.maxInterFrameInterval = NULL;
        staticParams->videnc2Params.inputContentType = IVIDEO_PROGRESSIVE;
    
        Vps_printf("RAJESHKANNAN :: TI InputContentType:: = (%d)...\n",staticParams->videnc2Params.inputContentType);
    Vps_printf ("FOSSILSHALE DEBUG : Static params............. width=%d  height=%d\n", staticParams->videnc2Params.maxHeight, staticParams->videnc2Params.maxWidth );
    
        staticParams->videnc2Params.inputChromaFormat =
            algCreateParams->inputChromaFormat;
    
        Vps_printf("RAJESHKANNAN :: TI :: InputChromaFormat = (%d)...\n",staticParams->videnc2Params.inputChromaFormat);
        staticParams->videnc2Params.profile = algCreateParams->profile;
        Vps_printf("RAJESHKANNAN :: TI :: Profile = (%d)...\n", staticParams->videnc2Params.profile);
    
        staticParams->videnc2Params.level = algCreateParams->level;
        Vps_printf("RAJESHKANNAN :: TI :: level = (%d)...\n", staticParams->videnc2Params.level);
    
        staticParams->videnc2Params.numInputDataUnits = 1;
        staticParams->videnc2Params.numOutputDataUnits = 1;
    
        staticParams->videnc2Params.rateControlPreset = 5; //IVIDEO_USER_DEFINED;
        staticParams->rateControlParams.rateControlParamsPreset = 1; //IJPEGVENC_RATECONTROLPARAMS_DEFAULT;
    
    #ifndef RAJESH
    	/* Disable the Rate Control */
        staticParams->videnc2Params.rateControlPreset = 5; //4; //IVIDEO_RATE_CONTROL_PRESET_DEFAULT; //4; //IVIDEO_USER_DEFINED ; //IJPEGVENC_RATECONTROLPARAMS_DEFAULT; //IVIDEO_USER_DEFINED;
        Vps_printf("RAJESHKANNAN ::: IN ENCODER Changed RATECONTROL PRESET as 5\n");
        //staticParams->videnc2Params.rateControlPreset = 3;
        //staticParams->videnc2Params.maxBitRate = 2*1000*1000; //-1;
        staticParams->videnc2Params.maxBitRate = 1.5 * 2000000; //7500000 ; //>= 1.5 * 2000000;//dynamicParams->videnc2DynamicParams.targetBitRate;  //-1;
        staticParams->videnc2Params.minBitRate = 1*1000*1000; //0;
    #endif	
    
        Vps_printf("RAJESHKANNAN :: TI :: rateControlPreset = (%d)...\n", staticParams->videnc2Params.rateControlPreset);
        Vps_printf("RAJESHKANNAN :: TI :: MAX BitRate = (%d)...\n", staticParams->videnc2Params.maxBitRate);
        Vps_printf("RAJESHKANNAN :: TI :: MIN Bitrate = (%d)...\n", staticParams->videnc2Params.minBitRate);
    
    
    
        return 0;
    }
    
    static Int enclink_jpeg_set_algObject(EncLink_JPEGObj * algObj,
                                          EncLink_AlgCreateParams * algCreateParams,
                                          EncLink_AlgDynamicParams *
                                          algDynamicParams)
    {
        IJPEGVENC_InArgs *inArgs;
        IJPEGVENC_OutArgs *outArgs;
        IVIDEO2_BufDesc *inputBufDesc;
        XDM2_BufDesc *outputBufDesc;
        IJPEGVENC_Status *status;
        Int i;
    	
        inArgs = &algObj->inArgs;
        outArgs = &algObj->outArgs;
        inputBufDesc = &algObj->inBufs;
        outputBufDesc = &algObj->outBufs;
        status = &algObj->status;
    
         /*-----------------------------------------------------------------------*/
        /* Initialize the input ID in input arguments to the bufferid of the */
        /* buffer element returned from getfreebuffer() function.  */
         /*-----------------------------------------------------------------------*/
        /* inputID need to update before every encode process call */
        inArgs->videnc2InArgs.inputID = 0;
        inArgs->videnc2InArgs.control = IVIDENC2_CTRL_DEFAULT;
    
        outArgs->videnc2OutArgs.extendedError = 0;
        outArgs->videnc2OutArgs.bytesGenerated = 0;
        outArgs->videnc2OutArgs.encodedFrameType = IVIDEO_I_FRAME;
        outArgs->videnc2OutArgs.inputFrameSkip = 0;
        memset(&outArgs->videnc2OutArgs.freeBufID, 0,
               sizeof(outArgs->videnc2OutArgs.freeBufID));
        outArgs->videnc2OutArgs.reconBufs.planeDesc[0].buf = NULL;
        outArgs->videnc2OutArgs.reconBufs.planeDesc[1].buf = NULL;
        outArgs->videnc2OutArgs.reconBufs.imagePitch[0] = 0;
    
        /*------------------------------------------------------------------------*/
        /* Initialise output discriptors */
        /*------------------------------------------------------------------------*/
        outputBufDesc->numBufs = 0;
        for (i = 0; i < algObj->status.videnc2Status.bufInfo.minNumOutBufs; i++)
        {
    
            outputBufDesc->numBufs++;
            outputBufDesc->descs[i].memType = XDM_MEMTYPE_RAW;
            outputBufDesc->descs[i].bufSize.bytes =
                algObj->status.videnc2Status.bufInfo.minOutBufSize[i].bytes;
    
            if (i == 0)
            {
            /*-------------------------------------------------------------------*/
                /* Set proper buffer addresses for bitstream data */
            /*-------------------------------------------------------------------*/
                outputBufDesc->descs[0].buf = NULL;
            }
            else
            {
                if (status->videnc2Status.bufInfo.minOutBufSize[i].bytes
                    > ANALYTICINFO_OUTPUT_BUFF_SIZE)
                {
                    Vps_printf
                        ("\nMemory could not get allocated for Analytic info buffer\n");
                }
            /*-------------------------------------------------------------------*/
                /* Set proper buffer addresses for MV & SAD data */
            /*-------------------------------------------------------------------*/
                outputBufDesc->descs[i].buf = NULL;
            }
        }
    
        /*------------------------------------------------------------------------*/
        /* Video buffer layout, field interleaved or field separated */
        /* Only IVIDEO_FIELD_INTERLEAVED and IVIDEO_FIELD_SEPARATED are supported
         */
        /*------------------------------------------------------------------------*/
        inputBufDesc->dataLayout = algCreateParams->dataLayout;
    
        /*------------------------------------------------------------------------*/
        /* Flag to indicate field order in interlaced content */
        /* Supported values are */
        /* 0 - Bottom field first */
        /* 1 - Top filed first */
        /* TODO : need to find defalut parameter */
        /*------------------------------------------------------------------------*/
        inputBufDesc->topFieldFirstFlag = 1;
    
        /*------------------------------------------------------------------------*/
        /* Initialize the input buffer properties as required by algorithm */
        /* based on info received by preceding GETBUFINFO call.  */
        /*------------------------------------------------------------------------*/
        inputBufDesc->numPlanes = 2;                           /* status.videnc2Status.bufInfo.minNumInBufs;*/
                                                                
    //    inputBufDesc->numPlanes = status.videnc2Status.bufInfo.minNumInBufs;
        inputBufDesc->numMetaPlanes = 0;
        /*------------------------------------------------------------------------*/
        /* Set entire Image region in the buffer by using config parameters */
        /*------------------------------------------------------------------------*/
        inputBufDesc->imageRegion.topLeft.x = algDynamicParams->startX;
        inputBufDesc->imageRegion.topLeft.y = algDynamicParams->startY;
        inputBufDesc->imageRegion.bottomRight.x = algDynamicParams->startX +
            algObj->dynamicParams.videnc2DynamicParams.inputWidth;
        inputBufDesc->imageRegion.bottomRight.y = algDynamicParams->startY +
            algObj->dynamicParams.videnc2DynamicParams.inputHeight;
    
    
        /*------------------------------------------------------------------------*/
        /* Set proper Image region in the buffer by using config parameters */
        /*------------------------------------------------------------------------*/
        inputBufDesc->activeFrameRegion.topLeft.x = algDynamicParams->startX;
        inputBufDesc->activeFrameRegion.topLeft.y = algDynamicParams->startY;
        inputBufDesc->activeFrameRegion.bottomRight.x = algDynamicParams->startX +
            algObj->dynamicParams.videnc2DynamicParams.inputWidth;
        inputBufDesc->activeFrameRegion.bottomRight.y = algDynamicParams->startY +
            algObj->dynamicParams.videnc2DynamicParams.inputHeight;
        /*------------------------------------------------------------------------*/
        /* Image pitch is capture width */
        /*------------------------------------------------------------------------*/
    
        if (algCreateParams->tilerEnable)
        {
            inputBufDesc->imagePitch[0] = VPSUTILS_TILER_CNT_8BIT_PITCH;
        }
        else
        {
            inputBufDesc->imagePitch[0] =
                algObj->dynamicParams.videnc2DynamicParams.captureWidth;
        }
        if (algCreateParams->tilerEnable)
        {
            inputBufDesc->imagePitch[1] = VPSUTILS_TILER_CNT_16BIT_PITCH;
        }
        else
        {
            inputBufDesc->imagePitch[1] =
                algObj->dynamicParams.videnc2DynamicParams.captureWidth;
        }
        /*------------------------------------------------------------------------*/
        /* Set Content type and chroma format from encoder parameters */
        /*------------------------------------------------------------------------*/
        inputBufDesc->contentType =
            algObj->staticParams.videnc2Params.inputContentType;
        inputBufDesc->chromaFormat =
            algObj->staticParams.videnc2Params.inputChromaFormat;
    
        /*------------------------------------------------------------------------*/
        /* Assign memory pointers adn sizes for the all the input buffers */
        /*------------------------------------------------------------------------*/
        for (i = 0; i < algObj->status.videnc2Status.bufInfo.minNumInBufs; i++)
        {
            inputBufDesc->planeDesc[i].buf = NULL;
            if (algCreateParams->tilerEnable)
            {
                if (i & 0x1)
                {
                    inputBufDesc->planeDesc[i].memType = XDM_MEMTYPE_TILED16;
                }
                else
                {
                    inputBufDesc->planeDesc[i].memType = XDM_MEMTYPE_TILED8;
                }
                inputBufDesc->planeDesc[i].bufSize.tileMem.width =
                    algObj->status.videnc2Status.bufInfo.minInBufSize[i].tileMem.
                    width;
                inputBufDesc->planeDesc[i].bufSize.tileMem.height =
                    algObj->status.videnc2Status.bufInfo.minInBufSize[i].tileMem.
                    height;
            }
            else
            {
                inputBufDesc->planeDesc[i].memType = XDM_MEMTYPE_RAW;
                inputBufDesc->planeDesc[i].bufSize.bytes =
                    algObj->status.videnc2Status.bufInfo.minInBufSize[i].tileMem.
                    width *
                    algObj->status.videnc2Status.bufInfo.minInBufSize[i].tileMem.
                    height;
    
            }
        }
        /*------------------------------------------------------------------------*/
        /* Set second field offset width and height according to input data */
        /* When second field of the input data starts at 0 it represents 2 fields
         */
        /* are seperated and provided at 2 diff process calls (60 process call) */
        /*------------------------------------------------------------------------*/
        if ((inputBufDesc->dataLayout == IVIDEO_FIELD_SEPARATED) &&
            (algCreateParams->singleBuf == FALSE) &&
            (algObj->staticParams.videnc2Params.inputContentType ==
             IVIDEO_INTERLACED))
        {
            inputBufDesc->secondFieldOffsetHeight[0] = 0;
            inputBufDesc->secondFieldOffsetHeight[1] = 0;
            inputBufDesc->secondFieldOffsetHeight[2] = 0;
        }
        else
        {
            inputBufDesc->secondFieldOffsetHeight[0] =
                algObj->dynamicParams.videnc2DynamicParams.inputHeight;
            inputBufDesc->secondFieldOffsetHeight[1] =
                (algObj->dynamicParams.videnc2DynamicParams.inputHeight >> 1);
            inputBufDesc->secondFieldOffsetHeight[2] =
                (algObj->dynamicParams.videnc2DynamicParams.inputHeight >> 1);
        }
        inputBufDesc->secondFieldOffsetWidth[0] = 0;
        inputBufDesc->secondFieldOffsetWidth[1] = 0;
        inputBufDesc->secondFieldOffsetWidth[2] = 0;
    
        /*------------------------------------------------------------------------*/
        /* Set The address of unregistered user data in meta data plane desc */
        /*------------------------------------------------------------------------*/
        inputBufDesc->numMetaPlanes = 0;
    
        return 0;
    }
    
    static Int enclink_jpeg_set_dynamic_params(IJPEGVENC_DynamicParams *
                                               dynamicParams,
                                               EncLink_AlgDynamicParams *
                                               algDynamicParams)
    {
        *dynamicParams = JPEGVENC_TI_DYNAMICPARAMS;
        dynamicParams->videnc2DynamicParams.inputWidth =
            algDynamicParams->inputWidth;
        dynamicParams->videnc2DynamicParams.inputHeight =
            algDynamicParams->inputHeight;
        dynamicParams->videnc2DynamicParams.captureWidth =
            algDynamicParams->inputPitch;
        dynamicParams->videnc2DynamicParams.targetBitRate =
            algDynamicParams->targetBitRate;
        dynamicParams->videnc2DynamicParams.targetFrameRate =
            algDynamicParams->targetFrameRate;
        dynamicParams->videnc2DynamicParams.interFrameInterval =
            algDynamicParams->interFrameInterval;
        dynamicParams->videnc2DynamicParams.intraFrameInterval =
            algDynamicParams->intraFrameInterval;
        dynamicParams->videnc2DynamicParams.mvAccuracy =
            algDynamicParams->mvAccuracy;
        dynamicParams->videnc2DynamicParams.refFrameRate =
            algDynamicParams->refFrameRate;
        dynamicParams->videnc2DynamicParams.ignoreOutbufSizeFlag = XDAS_FALSE;
    
    	dynamicParams->qualityFactor = (algDynamicParams->qpInitI==0)?
    						JPEG_QUALITYFACTOR_DEFAULT:algDynamicParams->qpInitI;
    
    //    Vps_printf("RAJESHKANNAN ::: Checking QualityFactor = (%d)....\n",   dynamicParams->qualityFactor);
        Vps_printf("RAJESHKANNAN ::: BITRATE = (%d)....\n",   dynamicParams->videnc2DynamicParams.targetBitRate);
    
    	/* Rate control params */
        dynamicParams->rateControlParams.rateControlParamsPreset = 1; //IJPEGVENC_RATECONTROLPARAMS_USERDEFINED;
        Vps_printf("RAJESHKANNAN ::: dynamicParams->rateControlParams.rateControlParamsPreset = (%d)...\n", dynamicParams->rateControlParams.rateControlParamsPreset);
        dynamicParams->rateControlParams.qpMinI = algDynamicParams->qpMinI;
        dynamicParams->rateControlParams.qpMaxI = algDynamicParams->qpMaxI;
        dynamicParams->rateControlParams.qpI    = algDynamicParams->qpInitI;
    //    dynamicParams->rateControlParams.rcAlgo = algDynamicParams->rcAlg;
         dynamicParams->rateControlParams.rcAlgo = algDynamicParams->rcAlg;
        Vps_printf("RAJESHKANNAN ::: Checking before condition dynamicParams->rateControlParams.rcAlgo = (%d)....\n", dynamicParams->rateControlParams.rcAlgo);
    #ifndef RAJESH
    
        /* Disable the Rate Control */    
        dynamicParams->rateControlParams.rateControlParamsPreset = 1; //4; //5; //IJPEGVENC_RATECONTROLPARAMS_USERDEFINED; //5;// IJPEGVENC_RATECONTROLPARAMS_DEFAULT; //IVIDEO_RATE_CONTROL_PRESET_DEFAULT;// 4; //IJPEGVENC_RATECONTROLPARAMS_DEFAULT; //IVIDEO_USER_DEFINED;
        dynamicParams->rateControlParams.HRDBufferSize = 2 * dynamicParams->videnc2DynamicParams.targetBitRate ; //10000000; //0;
        dynamicParams->rateControlParams.initialBufferLevel = 2 * dynamicParams->videnc2DynamicParams.targetBitRate; //10000000; ////0;
        dynamicParams->videnc2DynamicParams.targetBitRate = 2000000; //2* 1000 * 1000; //0;
        dynamicParams->rateControlParams.rcAlgo = 0; 
    Vps_printf("RAJESHKANNAN ::: Setted rcAlgo as (0) = (%d)...\n",dynamicParams->rateControlParams.rcAlgo);
        Vps_printf("RAJESHKANNAN :: TI :: Target BitRate = (%d)...\n", dynamicParams->videnc2DynamicParams.targetBitRate);
    
        Vps_printf("RAJESHKANNAN :: TI :: RateCtrlParams Preset = (%d)...\n", dynamicParams->rateControlParams.rateControlParamsPreset);
        Vps_printf("RAJESHKANNAN :: TI ::HRDBufferSize = (%d)...\n", dynamicParams->rateControlParams.HRDBufferSize);
        Vps_printf("RAJESHKANNAN :: TI ::InitialBufferLevel  = (%d)...\n", dynamicParams->rateControlParams.initialBufferLevel);
    Vps_printf ("FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate  width=%d  height=%d pitch=%d.............\n", dynamicParams->videnc2DynamicParams.inputWidth,  dynamicParams->videnc2DynamicParams.inputHeight, dynamicParams->videnc2DynamicParams.captureWidth );
    
    //RAJESHKANNAN ADDED FOR TESTING JUL_28
    //        algStatus = enclink_jpeg_control(hObj->algHandle,
      //                                       XDM_SETPARAMS,
        //                                     &hObj->dynamicParams, &hObj->status);
    //        status = enclink_jpeg_control(algObj->u.jpegAlgIfObj.algHandle,
      //                                    XDM_SETPARAMS,
        //                                  &algObj->u.jpegAlgIfObj.dynamicParams,
          //                                &algObj->u.jpegAlgIfObj.status);
    //    enclink_jpeg_control(hObj->algHandle,
      //                                       XDM_SETPARAMS,
        //                                     &hObj->dynamicParams, &hObj->status);
    
    #else
    
        if(algDynamicParams->rcAlg == IJPEGVENC_RATECONTROL_CBR_LOW_DELAY)
        {
    		dynamicParams->rateControlParams.HRDBufferSize =
            	algDynamicParams->targetBitRate / 2;
        	dynamicParams->rateControlParams.initialBufferLevel =
            	algDynamicParams->targetBitRate / 2;
    	}
    	else {
    			dynamicParams->rateControlParams.HRDBufferSize =
    	        	algDynamicParams->targetBitRate * 2;
    	    	dynamicParams->rateControlParams.initialBufferLevel =
    	        	algDynamicParams->targetBitRate * 2;
    	}
    #endif // RAJESH 
    Vps_printf ("FOSSILSHALE DEBUG : EncLinkJPEG_algDynamicParamUpdate  width=%d  height=%d pitch=%d.............\n", dynamicParams->videnc2DynamicParams.inputWidth,  dynamicParams->videnc2DynamicParams.inputHeight, dynamicParams->videnc2DynamicParams.captureWidth );
        return 0;
    }
    
    #define ENCLINKJPEG_ALGREATE_RSRC_NONE                                       (0)
    #define ENCLINKJPEG_ALGREATE_RSRC_ALGCREATED                           (1 <<  0)
    #define ENCLINKJPEG_ALGREATE_RSRC_IRES_ASSIGNED                        (1 <<  1)
    #define ENCLINKJPEG_ALGREATE_RSRC_ALL (                                        \
                                           ENCLINKJPEG_ALGREATE_RSRC_ALGCREATED |  \
                                           ENCLINKJPEG_ALGREATE_RSRC_IRES_ASSIGNED \
                                          )
    
    static Void enclink_jpeg_freersrc(EncLink_JPEGObj * hObj, Int rsrcMask)
    {
        if (rsrcMask & ENCLINKJPEG_ALGREATE_RSRC_IRES_ASSIGNED)
        {
            IRES_Status iresStatus;
    
            iresStatus =
                RMAN_freeResources((IALG_Handle) hObj->algHandle,
                                   &JPEGVENC_TI_IRES, hObj->scratchID);
            if (iresStatus != IRES_OK)
            {
                ENCLINK_INTERNAL_ERROR_LOG(iresStatus, "RMAN_freeResources");
            }
        }
        if (rsrcMask & ENCLINKJPEG_ALGREATE_RSRC_ALGCREATED)
        {
            enc_link_jpeg_delete(hObj->algHandle);
            hObj->algHandle = NULL;
        }
    }
    
    Int EncLinkJPEG_algCreate(EncLink_JPEGObj * hObj,
                              EncLink_AlgCreateParams * algCreateParams,
                              EncLink_AlgDynamicParams * algDynamicParams,
                              Int linkID, Int channelID, Int scratchGroupID)
    {
        Int retVal = ENC_LINK_S_SUCCESS;
        Int rsrcMask = ENCLINKJPEG_ALGREATE_RSRC_NONE;
        Int algStatus;
        Vps_printf("RAJESHKANNAN ::: In Fn(%s)......\n", __func__);
        UTILS_assert(Utils_encdecIsJPEG(algCreateParams->format) == TRUE);
        hObj->linkID = linkID;
        hObj->channelID = channelID;
        hObj->scratchID = scratchGroupID;
    
        memset(&hObj->inArgs, 0, sizeof(hObj->inArgs));
        memset(&hObj->outArgs, 0, sizeof(hObj->outArgs));
        memset(&hObj->inBufs, 0, sizeof(hObj->inBufs));
        memset(&hObj->outBufs, 0, sizeof(hObj->outBufs));
        memset(&hObj->status, 0, sizeof(hObj->status));
        memset(&hObj->memUsed, 0, sizeof(hObj->memUsed));
    
        hObj->status.videnc2Status.size = sizeof(IJPEGVENC_Status);
        hObj->inArgs.videnc2InArgs.size = sizeof(IJPEGVENC_InArgs);
        hObj->outArgs.videnc2OutArgs.size = sizeof(IJPEGVENC_OutArgs);
        hObj->staticParams.videnc2Params.size = sizeof(IVIDENC2_Params);
        hObj->dynamicParams.videnc2DynamicParams.size =
            sizeof(IVIDENC2_DynamicParams);
    
    //PRASHANTH ADDED FOR TESTING JULY_29
        enclink_jpeg_set_static_params(&hObj->staticParams, algCreateParams);
        enclink_jpeg_set_dynamic_params(&hObj->dynamicParams, algDynamicParams);
    
    #if 1
    //PRASHANTH ADDED FOR TESTING JULY_29
    if (!UTILS_ISERROR(retVal))
    {
        Vps_printf("RAJESHKANNAN ::: Before call to control SETPARAMS...\n");
        algStatus = enclink_jpeg_control(hObj->algHandle,
        XDM_SETPARAMS,
        &hObj->dynamicParams, &hObj->status);
    
        Vps_printf("RAJESHKANNAN ::: After calling to control SETPARAMS...\n");
    
        enclink_jpeg_control(hObj->algHandle,
        XDM_GETSTATUS,
        &hObj->dynamicParams, &hObj->status);
    
    Vps_printf("enclink_jpeg_control with XDM_SETPARAMS returned %d\n", algStatus);
    
    Vps_printf("extended error codes [0] %x [1] %x [2] %x [3] %x\n", hObj->status.extendedErrorCode0, hObj->status.extendedErrorCode1, hObj->status.extendedErrorCode2, hObj->status.extendedErrorCode3);
    
    Vps_printf("hObj->status.videnc2Status.extendedError = %d\n", hObj->status.videnc2Status.extendedError);
    Vps_printf("hObj->status.videnc2Status.rateControlPreset = %d\n", hObj->status.videnc2Status.rateControlPreset);
    Vps_printf("hObj->status.rateControlParams.rateControlParamsPreset = %d\n", hObj->status.rateControlParams.rateControlParamsPreset);
    
    UTILS_assertError((algStatus == XDM_EOK), retVal,
    ENC_LINK_E_ALGSETPARAMSFAILED, linkID, channelID);
    }
    #endif
    
    
    //    retValue = JPEGVENC_control(handle, XDM_SETPARAMS,
      //    (JPEGVENC_DynamicParams *)&dynamicParams,
        //  (JPEGVENC_Status *)&status );
    
    
    //RAJESHKANNAN ADDED FOR TESTING 
    //        algStatus = enclink_jpeg_control(hObj->algHandle,
      //                                       XDM_SETPARAMS,
    //                                         &hObj->dynamicParams, &hObj->status);
    //ENDED
    
    
        UTILS_MEMLOG_USED_START();
        hObj->algHandle =
            enc_link_jpeg_create((IJPEGVENC_Fxns *) & JPEGVENC_TI_IJPEGVENC,
                                 &hObj->staticParams);
    
    	UTILS_assertError((NULL != hObj->algHandle),
                          retVal, ENC_LINK_E_ALGCREATEFAILED, linkID, channelID);
    
        if (!UTILS_ISERROR(retVal))
        {
            IRES_Status iresStatus;
    
            rsrcMask |= ENCLINKJPEG_ALGREATE_RSRC_ALGCREATED;
            iresStatus = RMAN_assignResources((IALG_Handle) hObj->algHandle,
                                              &JPEGVENC_TI_IRES, scratchGroupID);
            UTILS_assertError((iresStatus == IRES_OK), retVal,
                              ENC_LINK_E_RMANRSRCASSIGNFAILED, linkID, channelID);
        }
        if (!UTILS_ISERROR(retVal))
        {
            Int ivaChID;
    
            rsrcMask |= ENCLINKJPEG_ALGREATE_RSRC_IRES_ASSIGNED;
    
            hObj->status.videnc2Status.data.buf = &(hObj->versionInfo[0]);
            hObj->status.videnc2Status.data.bufSize = sizeof(hObj->versionInfo);
            algStatus = enclink_jpeg_control(hObj->algHandle, XDM_GETVERSION,
                                             &(hObj->dynamicParams),
                                             &(hObj->status));
            if (algStatus == XDM_EOK)
            {
                ENCLINK_VERBOSE_INFO_LOG(hObj->linkID, hObj->channelID,
                                         "JPEGEncCreated:%s", hObj->versionInfo);
    
            }
            ivaChID = Utils_encdecMapLinkChID2IvaChID(linkID, channelID);
            ENCLINK_VERBOSE_INFO_LOG(hObj->linkID, hObj->channelID, "IVAChID:%d",
                                     ivaChID);
            hObj->dynamicParams.videnc2DynamicParams.lateAcquireArg = ivaChID;
            hObj->ivaChID = ivaChID;
            algStatus = enclink_jpeg_control(hObj->algHandle,
                                             XDM_SETLATEACQUIREARG,
                                             &hObj->dynamicParams, &hObj->status);
            if (algStatus == XDM_EOK)
            {
                ENCLINK_VERBOSE_INFO_LOG(hObj->linkID, hObj->channelID,
                                         "LateAcquireArg set:%d", ivaChID);
            }
            Utils_encdecRegisterAlgHandle(ivaChID, hObj->algHandle);
            algStatus = enclink_jpeg_control(hObj->algHandle,
                                             XDM_SETDEFAULT,
                                             &hObj->dynamicParams, &hObj->status);
            UTILS_assertError((algStatus == XDM_EOK), retVal,
                              ENC_LINK_E_ALGSETPARAMSFAILED, linkID, channelID);
        }
        if (!UTILS_ISERROR(retVal))
        {
            algStatus = enclink_jpeg_control(hObj->algHandle,
                                             XDM_SETPARAMS,
                                             &hObj->dynamicParams, &hObj->status);
    //RAJESHKANNAN ADDED FOR TESTING JUL_27
    	Vps_printf("RAJESHKANNAN ::: Before calling XDM_GET_STATUS########\n");
            enclink_jpeg_control(hObj->algHandle,
                                 XDM_GETSTATUS,
                                 &hObj->dynamicParams, &hObj->status);
    	Vps_printf("RAJESHKANNAN ::: hObj->staticParams.videnc2Params.rateControlPreset = (%d)...\n", hObj->staticParams.videnc2Params.rateControlPreset);
            Vps_printf("RAJESHKANNAN ::: hObj->status.videnc2Status.extendedError = (%d)...\n", hObj->status.videnc2Status.extendedError);
    	Vps_printf("RAJESHKANNAN ::: hObj->status.videnc2Status.rateControlPreset = (%d)...\n", hObj->status.videnc2Status.rateControlPreset);
    //	Vps_printf("Extended Error code:%d \n", algObj->u.jpegAlgIfObj.status.videnc2Status.extendedError);	
    //	Vps_printf("RAJESHKANNAN ::::  hObj->dynamicParams.videnc2DynamicParams->rateControlPreset = (%d)...\n", hObj->dynamicParams.videnc2DynamicParams->rateControlPreset);
    //	Vps_printf("RAJESHKANNAN :::: videnc2Status.extendedError = (%d)...\n", videnc2Status.extendedError);
    //ENDED
    
            UTILS_assertError((algStatus == XDM_EOK), retVal,
                              ENC_LINK_E_ALGSETPARAMSFAILED, linkID, channelID);
        }
    
        if (!UTILS_ISERROR(retVal))
        {
            enclink_jpeg_control(hObj->algHandle,
                                 XDM_GETSTATUS,
                                 &hObj->dynamicParams, &hObj->status);
        }
        if (!UTILS_ISERROR(retVal))
        {
            algStatus =
                enclink_jpeg_control(hObj->algHandle,
                                     XDM_GETBUFINFO,
                                     &hObj->dynamicParams, &hObj->status);
            UTILS_assertError((algStatus == XDM_EOK), retVal,
                              ENC_LINK_E_ALGGETBUFINFOFAILED, linkID, channelID);
        }
        if (UTILS_ISERROR(retVal))
        {
            enclink_jpeg_freersrc(hObj, rsrcMask);
        }
        /* Initialize the Inarg, OutArg, InBuf & OutBuf objects */
        enclink_jpeg_set_algObject(hObj, algCreateParams, algDynamicParams);
    
        UTILS_MEMLOG_USED_END(hObj->memUsed);
        UTILS_MEMLOG_PRINT("ENCLINK_JPEG",
                           hObj->memUsed,
                           (sizeof(hObj->memUsed) / sizeof(hObj->memUsed[0])));
    
        return retVal;
    }
    
    Void EncLinkJPEG_algDelete(EncLink_JPEGObj * hObj)
    {
        UTILS_MEMLOG_FREE_START();
        if (hObj->algHandle)
        {
            enclink_jpeg_freersrc(hObj, ENCLINKJPEG_ALGREATE_RSRC_ALL);
        }
        enc_link_jpeg_delete(hObj->algHandle);
    
        UTILS_MEMLOG_FREE_END(hObj->memUsed, 0 /* dont care */ );
    }
    
    Int32 EncLinkJPEG_algSetConfig(EncLink_algObj * algObj)
    {
        Int32 status = ENC_LINK_S_SUCCESS;
        UInt32 bitMask;
        Bool setConfigFlag = FALSE;
        UInt key;
    
        key = Hwi_disable();
        bitMask = algObj->setConfigBitMask;
    
        /* Set the modified encoder bitRate value */
        if ((bitMask >> ENC_LINK_SETCONFIG_BITMASK_BITRATE) & 0x1)
        {
            algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.
                rateControlParamsPreset = 1; //IJPEGVENC_RATECONTROLPARAMS_USERDEFINED;
    
            algObj->u.jpegAlgIfObj.dynamicParams.videnc2DynamicParams.
                    targetBitRate = algObj->algDynamicParams.targetBitRate;
    
        Vps_printf("RAJESHKANNAN ::: BITRATE1 = (%d)....\n",  algObj->u.jpegAlgIfObj.dynamicParams.videnc2DynamicParams.targetBitRate);
            if (algObj->algDynamicParams.rateControl == IJPEGVENC_RATECONTROL_CBR_LOW_DELAY) {
                algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.
                    HRDBufferSize = algObj->algDynamicParams.targetBitRate / 2;
                algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.
                    initialBufferLevel = algObj->algDynamicParams.targetBitRate / 2;
            }
            else
            {
                algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.
                    HRDBufferSize = algObj->algDynamicParams.targetBitRate * 2;
                algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.
                    initialBufferLevel = algObj->algDynamicParams.targetBitRate * 2;
            }
    
            Vps_printf("\n JPGLINK: new targetbitrate to set:%d \n",
                    algObj->algDynamicParams.targetBitRate);
    
            algObj->setConfigBitMask &= (ENC_LINK_SETCONFIG_BITMASK_RESET_VALUE ^
                                         (1 <<
                                          ENC_LINK_SETCONFIG_BITMASK_BITRATE));
            setConfigFlag = TRUE;
        }
    
        /* Set the modified encoder Fps value */
        if ((bitMask >>  ENC_LINK_SETCONFIG_BITMASK_FPS) & 0x1)
        {
            algObj->u.jpegAlgIfObj.dynamicParams.videnc2DynamicParams.
                    targetFrameRate = algObj->algDynamicParams.targetFrameRate;
            algObj->u.jpegAlgIfObj.dynamicParams.videnc2DynamicParams.
                    refFrameRate  = algObj->algDynamicParams.targetFrameRate;
            algObj->u.jpegAlgIfObj.dynamicParams.videnc2DynamicParams.
                    targetBitRate = algObj->algDynamicParams.targetBitRate;
    
            Vps_printf("\n JPGLINK: new targetframerate to set:%d for bitrate %d \n",
                    algObj->algDynamicParams.targetFrameRate, algObj->algDynamicParams.targetBitRate);
    
            algObj->setConfigBitMask &= (ENC_LINK_SETCONFIG_BITMASK_RESET_VALUE ^
                                        (1 << ENC_LINK_SETCONFIG_BITMASK_FPS));
            setConfigFlag = TRUE;
        }
    
        /* Set the modified Qualityfactor value for a jpeg Frame */
        if ((bitMask >>  ENC_LINK_SETCONFIG_BITMASK_QPI) & 0x1)
        {
            algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.
                rateControlParamsPreset = 1; //IJPEGVENC_RATECONTROLPARAMS_USERDEFINED;
    
            algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.qpMinI 	= algObj->algDynamicParams.qpMinI;
            algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.qpMaxI 	= algObj->algDynamicParams.qpMaxI;
            algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.qpI 		= algObj->algDynamicParams.qpInitI;
    
            Vps_printf("\n JPGLINK: new QP Param to set:%d %d %d\n",
                    algObj->algDynamicParams.qpMinI, algObj->algDynamicParams.qpMaxI, algObj->algDynamicParams.qpInitI);
    
            algObj->setConfigBitMask &= (ENC_LINK_SETCONFIG_BITMASK_RESET_VALUE ^
                                        (1 << ENC_LINK_SETCONFIG_BITMASK_QPI));
            setConfigFlag = TRUE;
        }
    
        /* Set the modified encoder rateControl value */
        if ((bitMask >> ENC_LINK_SETCONFIG_BITMASK_RCALGO) & 0x1)
        {
            algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.
                rateControlParamsPreset = 1; //IJPEGVENC_RATECONTROLPARAMS_USERDEFINED;
    
            algObj->u.jpegAlgIfObj.dynamicParams.videnc2DynamicParams.
                    targetBitRate = algObj->algDynamicParams.targetBitRate;
    
        Vps_printf("RAJESHKANNAN ::: BITRATE4 = (%d)....\n",         algObj->u.jpegAlgIfObj.dynamicParams.videnc2DynamicParams.targetBitRate);
            /* 0=> VBR, 1=> CBR, 2=> OFF */
    		if (algObj->algDynamicParams.rateControl == ALG_VID_ENC_RATE_CONTROL_VBR)
            {
                algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.rcAlgo =
                    IJPEGVENC_RATECONTROL_VBR_STORAGE;
                algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.
                    HRDBufferSize = algObj->algDynamicParams.targetBitRate * 2;
                algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.
                    initialBufferLevel = algObj->algDynamicParams.targetBitRate * 2;
            }
            else if (algObj->algDynamicParams.rateControl == ALG_VID_ENC_RATE_CONTROL_CBR)
            {
    		  algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.rcAlgo =
    			IJPEGVENC_RATECONTROL_CBR_LOW_DELAY;
              algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.
                    HRDBufferSize = algObj->algDynamicParams.targetBitRate / 2;
              algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.
                    initialBufferLevel = algObj->algDynamicParams.targetBitRate / 2;
            }
            else
            {	/* TURN OFF RC */
                algObj->u.jpegAlgIfObj.dynamicParams.rateControlParams.rcAlgo =
                    IJPEGVENC_RATECONTROL_DISABLE;
    
            	algObj->u.jpegAlgIfObj.dynamicParams.qualityFactor = algObj->algDynamicParams.qpInitI;
    
    			Vps_printf("\n JPGLINK: new qualityFactor Param to set:%d\n",
    					algObj->algDynamicParams.qpInitI);
            }
    
    		Vps_printf("\n JPGLINK: new rate control algorithm  to set:%d for bitrate: %d\n",
    			   algObj->algDynamicParams.rateControl, algObj->algDynamicParams.targetBitRate);
    
            algObj->setConfigBitMask &= (ENC_LINK_SETCONFIG_BITMASK_RESET_VALUE ^
                                         (1 << ENC_LINK_SETCONFIG_BITMASK_RCALGO));
            setConfigFlag = TRUE;
        }
    
        Hwi_restore(key);
    
        if (setConfigFlag)
        {
            status = enclink_jpeg_control(algObj->u.jpegAlgIfObj.algHandle,
                                          XDM_SETPARAMS,
                                          &algObj->u.jpegAlgIfObj.dynamicParams,
                                          &algObj->u.jpegAlgIfObj.status);
            if (UTILS_ISERROR(status))
            {
                UTILS_warn("\n JPGLINK: ERROR in Run time parameters changes,	\
    			Extended Error code:%d \n", algObj->u.jpegAlgIfObj.status.videnc2Status.extendedError);
            }
            else
            {
                Vps_printf("\n JPGLINK: Run time parameters changed %d\n",
                           algObj->u.jpegAlgIfObj.status.videnc2Status.
                           extendedError);
            }
        }
    
        return (status);
    }
    
    Int32 EncLinkJPEG_algGetConfig(EncLink_algObj * algObj)
    {
        Int retVal = ENC_LINK_S_SUCCESS;
        IJPEGVENC_DynamicParams dynamicParams;
        IJPEGVENC_Status status;
    
        if(algObj->getConfigFlag == TRUE)
        {
    
            status.videnc2Status.size = sizeof(IJPEGVENC_Status);
            dynamicParams.videnc2DynamicParams.size = sizeof(IJPEGVENC_DynamicParams);
    
            retVal = enclink_jpeg_control(algObj->u.jpegAlgIfObj.algHandle,
                                          XDM_GETSTATUS, &dynamicParams, &status);
            if (UTILS_ISERROR(retVal))
            {
                UTILS_warn("\n JPGLINK: ERROR in Run time parameters changes,	\
                      Extended Error code:%d \n", status.videnc2Status.extendedError);
            }
    
            algObj->getConfigFlag = FALSE;
    
            algObj->algDynamicParams.inputWidth =
                status.videnc2Status.encDynamicParams.inputWidth;
            algObj->algDynamicParams.inputHeight =
                status.videnc2Status.encDynamicParams.inputHeight;
            algObj->algDynamicParams.targetBitRate =
                status.videnc2Status.encDynamicParams.targetBitRate;
            algObj->algDynamicParams.targetFrameRate =
                status.videnc2Status.encDynamicParams.targetFrameRate;
            algObj->algDynamicParams.intraFrameInterval =
                status.videnc2Status.encDynamicParams.intraFrameInterval;
            algObj->algDynamicParams.forceFrame =
                status.videnc2Status.encDynamicParams.forceFrame;
            algObj->algDynamicParams.refFrameRate =
                status.videnc2Status.encDynamicParams.refFrameRate;
            Vps_printf("RAJESHKANNAN ::: BITRATE5 = (%d)....\n", algObj->algDynamicParams.targetBitRate);
        }
        return (retVal);
    }
    
    Int EncLinkJPEG_algDynamicParamUpdate(EncLink_JPEGObj * hObj,
                                   EncLink_AlgCreateParams * algCreateParams,
                                   EncLink_AlgDynamicParams * algDynamicParams)
    {
        Int retVal = ENC_LINK_S_SUCCESS;
    
    
        enclink_jpeg_set_dynamic_params(&hObj->dynamicParams, algDynamicParams);
        enclink_jpeg_set_algObject(hObj, algCreateParams, algDynamicParams);
    
        return (retVal);
    }
    

  • Hi Rajesh,
    I will look into it. What I meant was, its better to have different threads for different issues. it will be easy to track. If we divert from main topic it will be tough to track the progress in the query.
  • Hi Rajesh,
    Mean while you can refer this below link. It might help you.
    e2e.ti.com/.../1577113
  • Hi,
    I hope this has answered your question.