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_RDK 3.5 Decoder Instance

Other Parts Discussed in Thread: DM385

Hi TI Experts,

I'm in customized DM385 platform

I'm trying to create Decoder instance 3 (CH0 ,CH1, CH2) for playback.

For CH0---> FullHD CH1--> HD CH2---> D1(720*480)

CH0 and CH2 are proper while playback. Any dependency to create Decoder instance for CH1 ???

What is the Max no.of instance for Decoder ???

Kindly suggest me to solve this !!!

  • Hi Rajesh,

    Can you please share your complete chain/pipeline.
    If you are trying to create 3 different instances of decoder then it's not possible because we can have a max of 2 instances of decoder. You can complete your chain using 3 different channels of a single decoder instance.

    Regards,
    Anuj
  • Hi Anuj,

    Thanks for your reply...

    For Playback, I'm using this pipeline.
    ipcBitsOutHost--> ipcBitsInVideo--> decoder ---> ipcOutVideo ---> ipcInVpss ---> Deinterlacer ----> display

    Can you please explain me (3 different channels of a single decoder instance) how to create single instance for three different channel ??

    Regards,

    Rajesh Kannan.S
  • HI Rajesh,

    A single instance of decoder can handle a max of 4 different channels. For doing this you can use a mux or merge link just before where you are getting data from 3 different queue.
    Please share the log while creation of all links.

    Regards,
    Anuj
  • Hi Anuj,

    Thanks for your reply.

    Find the attached log Dec.txt for your reference.

    Could you complete the chain by adding merge link to create one decoder instance for 3 channels.

    ipcBitsOutHost--> ipcBitsInVideo--> decoder ---> ipcOutVideo ---> ipcInVpss ---> Deinterlacer ----> display

    In this pipeline I have to add merge link before decoder ??? 

    Regards,

    Rajesh Kannan.S

    Dec.txt
     [host] FS ::: FullHD Decoder Selected to create configuration...
    
     [host] FOSSILSHALE ::: In Usecase width = (1920)...
    
     [host] FOSSILSHALE ::: In Usecase height = (1080)...
    
     [host] FOSSILSHALE ::: In Usecase width(D1) = (720)...
    
     [host] FOSSILSHALE ::: In Usecase height(D1) = (480)...
    
     [host] FOSSILSHALE ::: In Usecase width for HD = (1280)...
    
     [host] FOSSILSHALE ::: In Usecase height HD = (720)...
    
     [host] FS ::: In DEC Create FullHD...
    
     [host] FS : Checking width in Decoder (CH0) FullHD side = 1920
    
     [host] FS : Checking Height in Decoder(CH0) FullHD side = 1080
    
     [host] FS : Checking width in Decoder (CH1) side = 720
    
     [host] FS : Checking Height in Decoder(CH1) side = 480
    
     [host] FS : Checking width in Decoder (CH2) for D1 side = 1280
    
     [host] FS : Checking Height in Decoder(CH2) for D1 side = 720
     [m3vpss ] Stream ID 0: chId = 0 VpsUtils_queCreate.
     [m3vpss ] DCC server task running 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x08 = 0x51 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x09 = 0x58 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x04 = 0x02 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x05 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x06 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xfe = 0x0f 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xc0 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xc4 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xc8 = 0x02 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xc3 = 0x60 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xfe = 0x0f 
     [m3vpss ]  I2C0: DEV 0x58: RD 0xc1 = 0x88 
     [m3vpss ]  I2C0: DEV 0x58: RD 0xc2 = 0x88 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xc1 = 0x55 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xc2 = 0x55 
     [m3vpss ] CAPTURE::HEAPID:0    USED:212000
     [m3vpss ]  I2C0: DEV 0x58: WR 0xfe = 0x0f 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xe8 = 0x60 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xe9 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xea = 0xb0 
     [m3vpss ]  I2C0: DEV 0x58: RD 0xe0 = 0x00 
     [m3vpss ]  TVP5158: 0x58: NO Patch downloaded, using ROM firmware.
     [m3vpss ]  I2C0: DEV 0x58: RD 0x08 = 0x51 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x09 = 0x58 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x04 = 0x02 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x05 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x06 = 0x00 
     [m3vpss ]  TVP5158: 0x58: 5158:0002:0000
     [m3vpss ]  I2C0: DEV 0x58: WR 0xfe = 0x0f 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xa9 = 0x04 
     [m3vpss ]  I2C0: DEV 0x58: WR 0x90 = 0x29 
     [m3vpss ]  I2C0: DEV 0x58: WR 0x91 = 0xf0 
     [m3vpss ]  I2C0: DEV 0x58: WR 0x92 = 0x6e 
     [m3vpss ]  I2C0: DEV 0x58: WR 0x93 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xb0 = 0x60 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xb1 = 0x17 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xb2 = 0x20 
     [m3vpss ]  I2C0: DEV 0x58: WR 0x0e = 0xff 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xfe = 0x0f 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xba = 0x01 
     [m3vpss ]  FS: 
     [m3vpss ] SCLR:HEAPID:0        USED:64
     [m3vpss ] SCLR:HEAPID:1        USED:5952
     [m3vpss ]  FS: 
     [m3vpss ] NSF::HEAPID:0        USED:128
     [m3vpss ] NSF::HEAPID:1        USED:9152
     [m3vpss ] FS ::: By Default SwosdEnable = (0)...
     [m3vpss ] {SWOSD} edma3Handle->tccVal = 36 
     [m3vpss ] {SWOSD} edma3Handle->chId   = 36 
     [m3vpss ] FS ::: By Default SwosdEnable = (0)...
     [m3vpss ] {SWOSD} edma3Handle->tccVal = 37 
     [m3vpss ] {SWOSD} edma3Handle->chId   = 37 
     [m3vpss ] FS ::: By Default SwosdEnable = (0)...
     [m3vpss ] {SWOSD} edma3Handle->tccVal = 38 
     [m3vpss ] {SWOSD} edma3Handle->chId   = 38 
     [m3vpss ] FS ::: By Default SwosdEnable = (0)...
     [m3vpss ] {SWOSD} edma3Handle->tccVal = 39 
     [m3vpss ] {SWOSD} edma3Handle->chId   = 39 
     [m3vpss ] FS ::: By Default SwosdEnable = (0)...
     [m3vpss ] {SWOSD} edma3Handle->tccVal = 40 
     [m3vpss ] {SWOSD} edma3Handle->chId   = 40 
     [m3video]  8786: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_0] ...
     [m3vpss ]  FS: 
     [m3video]  8787: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_0] ...
     [m3video] ENCLINK_H264:HEAPID:0        USED:13808
     [m3video] ENCLINK_H264:HEAPID:0        USED:11912
     [m3video] ENCLINK_H264:HEAPID:0        USED:11912
     [m3video] ENCLINK_H264:HEAPID:0        USED:11912
     [m3video] ENCLINK_H264:HEAPID:0        USED:11912
     [m3video] ENCLINK:HEAPID:0     USED:61776
     [m3video]  9378: SYSTEM: Opening ListMP [HOST_IPC_OUT_28] ...
     [m3video]  9378: SYSTEM: Opening ListMP [HOST_IPC_IN_28] ...
     [m3video] FS: System_ipcMsgQOpen for ProcessId=3
     [m3video]  9379: SYSTEM: Opening MsgQ [HOST_MSGQ] ...
     [m3video]  9382: DECODE: Create in progress ... !!!
     [m3video]  9574: DECODE: Creating CH0 of 1920 x 1080 [PROGRESSIVE] [NON-TILED  ],target bitrate = 10000 Kbps ... 
     [m3video] DECLINK_H264:HEAPID:0        USED:2368
     [m3video]  9610: DECODE: Creating CH1 of 720 x 480 [PROGRESSIVE] [NON-TILED  ],target bitrate = 10000 Kbps ... 
     [m3video] DECLINK_H264:HEAPID:0        USED:2368
     [m3video]  9619: DECODE: Creating CH2 of 1280 x 720 [PROGRESSIVE] [NON-TILED  ],target bitrate = 10000 Kbps ... 
     [m3vpss ]  9658: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_0] ...
     [m3vpss ]  9659: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_0] ...
     [m3video] DECLINK_H264:HEAPID:0        USED:2368
     [m3vpss ] FS: System_ipcMsgQOpen for ProcessId=1
     [m3video]  9655: DECODE: All CH Create ... DONE !!!
     [m3vpss ]  9660: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ...
     [m3vpss ]  9662: DEI    : Create in progress !!!
     [m3video] DECLINK:HEAPID:0     USED:7144
     [m3video]  9656: DECODE: Create ... DONE !!!
     [m3vpss ]  9749: DEI     : Loading Down-scaling Co-effs
     [m3vpss ]  9749: DEI     : Co-effs Loading ... DONE !!!
     [m3vpss ] DEI:HEAPID:0 USED:64
     [m3vpss ] DEI:HEAPID:1 USED:6304
     [m3vpss ]  9749: DEI    : Create Done !!!
     [m3vpss ]  FS: 
     [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 41 (41)
     [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 42 (42)
    
     [host] USECASE SETUP DONE
    
     [host] ################# FS: In iSetOSD() 
    
     [host] ################# FS: In iSetOSD() 
     [m3vpss ] FS : width is 720 and height is 480 : dataFormat 1
     [m3vpss ] FS : pitch 0 is 1440 : pitch 1 is 0 : pitch 2 is 0
     [m3vpss ] DisplayId = 4,DataFormat = 1
     [m3vpss ] FS: DisplayLink_drvSwitchCh(665) Display channel no is 0
     [m3vpss ]  SWOSD   : $$$$$$ streamId $$$$$$ == 0!!!
    
     [host] ################# FS: In iSetOSD() 
    
     [host] ################# FS: In iSetOSD() 
     [m3vpss ]  SWOSD   : $$$$$$ streamId $$$$$$ == 1!!!
     [m3vpss ]  SWOSD   : $$$$$$ streamId $$$$$$ == 2!!!
     [m3vpss ]  SWOSD   : $$$$$$ streamId $$$$$$ == 3!!!
    
     [host] FS :::######### Active channel ######### : 3 
    
     [host] ##############Deciding encoder channel#################
    
     [host] ENC_DISABLE
    
     [host] 
    Disable Channel: 1
     [host] 
    Disable Channel: 2
     [host] 
    Disable Channel: 3 [m3vpss ] FS: DisplayLink_drvSwitchCh(665) Display channel no is 3
     [m3vpss ]  I2C0: DEV 0x58: WR 0xfe = 0x0f 
     [m3vpss ]  I2C0: DEV 0x58: RD 0xb2 = 0x20 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xb2 = 0x25 
     [m3vpss ]  9959: CAMERA: Fields = 1 (fps = 0), Total Resets = 0 (Avg 0 ms per reset)
     [m3video]  Channel:0 inputframerate:25 targetfps:30
    FS : the sample rate is 8000
    FS: IN Fn (Audio_captureCreate) AudioSampling Rate=8000
    
     [host] 
     Audio capture task created [m3vpss ]  10089: CAPTURE: Fields = 0 (fps = 0), Total Resets = 0 (Avg 0 ms per reset)
     [m3video]  Channel:1 inputframerate:30 targetfps:30
     [m3video]  Channel:2 inputframerate:30 targetfps:30
     [m3video]  Channel:3 inputframerate:30 targetfps:30
    
     [host] AUDIO : period size = 500 frames, dir = 0
    
     [host] AUDIO : period time = 62500 us, dir = 0
     [m3vpss ] CT: 3975, 3dlut index:1 
    [Func:main][Line:1889]  [VERSION:0.00.03]
    avirecord_start App state ...-1
    avirecord_start App state Is Init state ...0
    cAuto_RecordDuration : 60
     avirecstart 131073;0;131089;60;
    avirecord_start App state ...2
    avirecord_start Done.....
    [FUNC:getlocaltime] [ctimeBuff:19700101080015]
    In sdstatus()
    message_receive_thread creation success for Module ID=2
    
    

  • Hi Rajesh,

    A few que
    1. What are trying to do?
    capturing stream from camera and display(i saw one camera, encoder, nsf link details in your log if you are using camera then share your complete log and pipeline from camera)
    or playing a file from host side.
    2. Why are you using dei link after decoder ? You can display the decoded video directly without dei.
    3. As you said you can able to display 2 channels so how you are displaying 2 channels at a time without using swms link?

    As i can see your decoder is getting created for all the 3 channels so I will suggest you to replace the dei link with a select link and try to select different channel and display one at a time or use a swms link to display all channels simultaneously.

    Regards
    Anuj
    Pathpartner Technology Pvt. Ltd.
  • Hi Anuj,

    Thanks for your reply.

    I'm trying to do a playback with diff resolutions which I mentioned previously !!!

    Camera --- > Encoding --- > Recording is done without any issue !!!

    The purpose of using Deinterlacer for chroma conversion and scaling (without DEI, display is not proper).

    Only one channel at a time to display the playback either ch0 or ch1 (not required to use mosaic link) using SetChannelSwitch()

    I'm using display device as HDMI (configured 720*480).

    Now I'm concentrating to create the third instance for decoder.

    Kindly suggest me to solve this issue !!!

    Regards,

    Rajesh Kannan.S
  • Hi Anuj,

    In decoder, with one instance I can able to play all three resolutions file playback.

    The problem with that while playback, the video is proper but not comes with full screen size (ie) only the particular video resolution size came.

    Any suggestion me to solve this ???

    Regards,

    Rajesh Kannan.S
  • Hi Rajesh

    Can you please share the new log.

    Regards
    Anuj
  • Hi Anuj,

    Thanks for your reply..,

    The same log which I sent to you previously Dec.txt for playback that would be the latest.

    After that I didn't change the source.

    I tried with single instance long back, were getting the same issue (mentiond the last discussion video resolution size in display) for other two channels.

    Regards,

    Rajesh Kannan.S
  • Hi Anuj,

    Find the attached full log for your reference.

    Regards,

    Rajesh Kannan.S

    Jan17.txt
     Voltage driver init not yet happened.Faulting!
    omap_voltage_add_dev: VDD specified does not exist!
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    omap_mux_init: Add partition: #1: core, flags: 4
    Debugfs: Only enabling/disabling deep sleep and wakeup timer is supported now
    registered ti81xx_vpss device
    registered ti81xx_vidout device
    registered ti81xx on-chip HDMI device
    registered ti81xx_fb device
    bio: create slab <bio-0> at 0
    omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
    omap_i2c omap_i2c.2: bus 2 rev4.0 at 100 kHz
    Advanced Linux Sound Architecture Driver Version 1.0.23.
    Switching to clocksource gp timer
    NET: Registered protocol family 2
    IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
    TCP established hash table entries: 4096 (order: 3, 32768 bytes)
    TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    TCP: Hash tables configured (established 4096 bind 4096)
    TCP reno registered
    UDP hash table entries: 256 (order: 0, 4096 bytes)
    UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    NetWinder Floating Point Emulator V0.97 (double precision)
    PMU: registered new PMU device of type 0
    omap-iommu omap-iommu.0: ducati registered
    omap-iommu omap-iommu.1: sys registered
    msgmni has been set to 132
    alg: No test for stdrng (krng)
    io scheduler noop registered
    io scheduler deadline registered
    io scheduler cfq registered (default)
    CMEMK module: built on Nov 30 2016 at 10:29:43
      Reference Linux version 2.6.37
      File /home/rajm/workdir/cardvr/Source/ti_tools/linuxutils_3_23_00_01/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
    allocated heap buffer 0xc7000000 of size 0x4000000
    cmemk initialized
    omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
    console [ttyO0] enabled
    omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    omap2-nand driver initializing
    ONFI flash detected
    ONFI param page 0 valid
    NAND device: Manufacturer ID: 0x01, Chip ID: 0xf1 (Spansion/AMD NAND 128MiB 3,3V 8-bit)
    Creating 6 MTD partitions on "omap2-nand.0":
    0x000000000000-0x000000020000 : "U-Boot-min"
    0x000000020000-0x000000260000 : "U-Boot"
    0x000000260000-0x000000280000 : "U-Boot Env"
    0x000000280000-0x0000006c0000 : "Kernel"
    0x0000006c0000-0x000006fc0000 : "File System"
    0x000006fc0000-0x000008000000 : "Reserved"
    UBI: attaching mtd4 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:       191
    UBI: attached mtd4 to ubi0
    UBI: MTD device name:            "File System"
    UBI: MTD device size:            105 MiB
    UBI: number of good PEBs:        839
    UBI: number of bad PEBs:         1
    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: 839
    UBI: number of PEBs reserved for bad PEB handling: 8
    UBI: max/mean erase counter: 2/0
    UBI: image sequence number:  152748732
    mice: PS/2 mouse device common for all mice
    UBI: background thread "ubi_bgt0d" started, PID 29
    bq32k 1-0068: rtc core: registered bq32k as rtc0
    i2c /dev entries driver
    Linux video capture interface: v2.00
    OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
    notify_shm_drv: no DSP present (MULTIPROC_INVALIDID)
    notify_init : notify drivercreated  for  remote proc id 1 at physical Address 0xbfd00000
    asoc: tlv320aic3x-hifi <-> davinci-mcasp.1 mapping ok
    ALSA device list:
      #0: TI81XX EVM
    TCP cubic registered
    VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    omap_voltage_late_init: Voltage driver support not added
    Power Management for TI81XX.
    UBIFS: recovery needed
    UBIFS: recovery completed
    UBIFS: mounted UBI device 0, volume 0, name "rootfs"
    UBIFS: file system size:   103612416 bytes (101184 KiB, 98 MiB, 816 LEBs)
    UBIFS: journal size:       9023488 bytes (8812 KiB, 8 MiB, 72 LEBs)
    UBIFS: media format:       w4/r0 (latest is w4/r0)
    UBIFS: default compressor: lzo
    UBIFS: reserved for root:  0 bytes (0 KiB)
    VFS: Mounted root (ubifs filesystem) on device 0:13.
    devtmpfs: mounted
    Freeing init memory: 176K
    mmc0: card claims to support voltages below the defined range. These will be ignored.
    INIT: mmc0: queuing unknown CIS tuple 0x91 (3 bytes)
    mmc0: new high speed SDIO card at address 0001
    version 2.86 booting
    First Runlevel
    SysLink version : 2.20.02.20
    SysLink module created on Date:Oct 27 2016 Time:14:39:50
    Trace enabled
    Trace SetFailureReason enabled
    /dev/mem opened.
    NET: Registered protocol family 1
    mmc1: new high speed SDHC card at address 0007
    mmcblk0: mmc1:0007 SS08G 7.21 GiB 
     mmcblk0: p1
    
     [host] Loaded file ./firmware/ipnc_rdk_fw_m3vpss.xem3 on slave procId 1.
     [m3vpss ] ***** SYSTEM  : Frequency <ORG> - 200000000, <NEW> - 200000000
     [m3vpss ] notify_attach  rtnVal  0
     [m3vpss ] initProxyServer  rtnVal  0
     [m3vpss ]  *** UTILS: CPU KHz = 400000 Khz ***
     [m3vpss ]  75: SYSTEM: IPC init in progress !!!
     [m3vpss ]  75: SYSTEM: Attaching to [HOST] ... 
     [m3vpss ]  79: SYSTEM: Attaching to [HOST] ... SUCCESS !!!
    Finish Runlevel
    
     [host] Loaded file ./firmware/ipnc_rdk_fw_m3video.xem3 on slave procId 0.
     [m3video] ***** SYSTEM  : Frequency <ORG> - 200000000, <NEW> - 200000000
     [m3video]  *** UTILS: CPU KHz = 400000 Khz ***
     [m3video]  596: SYSTEM: IPC init in progress !!!
     [m3video]  597: SYSTEM: Attaching to [HOST] ... 
     [m3video]  600: SYSTEM: Attaching to [HOST] ... SUCCESS !!!
     [m3video]  603: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!!
     [m3vpss ]  603: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!!
     [m3video]  603: SYSTEM: Opening MsgQ Heap [IPC_MSGQ_MSG_HEAP] ...
     [m3vpss ]  603: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP] ...
     [m3vpss ]  603: SYSTEM: Creating MsgQ [VPSS-M3_MSGQ] ...
     [m3vpss ]  604: SYSTEM: Creating MsgQ [VPSS-M3_ACK_MSGQ] ...
     [m3vpss ]  606: SYSTEM: Notify register to [HOST] line 0, event 12 ... 
     [m3vpss ]  606: SYSTEM: Notify register to [VIDEO-M3] line 0, event 12 ... 
     [m3vpss ]  606: SYSTEM: IPC init DONE !!!
     [m3vpss ]  616: MEM: Shared Region 2: Base = 0xb1000000, Length = 0x0d900000 (217 MB) 
     [m3vpss ]  616: MEM: Shared Region 1: Base = 0x89000000, Length = 0x03c00000 (60 MB) 
     [m3vpss ] Received character 's'
     [m3video]  1603: SYSTEM: Opening MsgQ Heap [IPC_MSGQ_MSG_HEAP] ...
     [m3video]  1604: SYSTEM: Creating MsgQ [VIDEO-M3_MSGQ] ...
     [m3video]  1604: SYSTEM: Creating MsgQ [VIDEO-M3_ACK_MSGQ] ...
     [m3video]  1606: SYSTEM: Notify register to [HOST] line 0, event 12 ... 
     [m3video]  1606: SYSTEM: Notify register to [VPSS-M3] line 0, event 12 ... 
     [m3video]  1606: SYSTEM: IPC init DONE !!!
     [m3video]  1616: MEM: Shared Region 2: Base = 0xb1000000, Length = 0x0d900000 (217 MB) 
     [m3video]  1616: MEM: Shared Region 1: Base = 0x89000000, Length = 0x03c00000 (60 MB) 
     [m3video] Received character 's'
    
    SYS_SERV DEBUG : card inserted
    
    message_receive_thread creation success for Module ID=12
    Error: SemWait: Invalid Semaphore handler
    Error: SemRelease: Invalid Semaphore handler
    ./bin/ipnc_rdk_mcfw.out   VNF_QUALITY CARDVRSINGLESTREAM MIPIDISPLAY_CH0 LCD AVI_RECORD_TRUE MJPEG_STREAM_FALSE LIVE_STREAM_FALSE TRIPLE_H264 TI2A AEWB HIGH_SPEED1 H264 HIGH_SPEED2 MJPEG 80 DVR_CH1_FHD &
     [m3video]  1919: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_0] in region 0 ...
     [m3video]  1919: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_0] in region 0 ...
     [m3video]  1919: SYSTEM: ListElem Shared Addr = 0xbe984180
     [m3video]  1922: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_1] in region 0 ...
     [m3video]  1922: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_1] in region 0 ...
     [m3video]  1922: SYSTEM: ListElem Shared Addr = 0xbe987680
     [m3video]  1933: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_28] in region 0 ...
     [m3vpss ] === I2C0/2 Clk is active ===
     [m3video]  1934: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_28] in region 0 ...
     [m3vpss ]  1937: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_0] in region 0 ...
     [m3video]  1934: SYSTEM: ListElem Shared Addr = 0xbe98ab80
     [m3vpss ]  1937: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_0] in region 0 ...
     [m3video]  1936: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_29] in region 0 ...
     [m3vpss ]  1937: SYSTEM: ListElem Shared Addr = 0xbe9be480
     [m3video]  1937: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_29] in region 0 ...
     [m3video]  1937: SYSTEM: ListElem Shared Addr = 0xbe9a4a80
     [m3video]  1939: HDVICP: Doing PRCM for IVAHD[0] ... 
     [m3video]  1940: HDVICP: PRCM for IVAHD[0] ... DONE.
     [m3video]  1940: SYSTEM  : Initializing Links !!! 
     [m3vpss ]  1940: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_1] in region 0 ...
     [m3vpss ]  1941: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_1] in region 0 ...
     [m3video]  1940: SYSTEM  : FREE SPACE : System Heap      = 2089032 B, Mbx = 10240 msgs) 
     [m3vpss ]  1941: SYSTEM: ListElem Shared Addr = 0xbe9c1980
     [m3video]  1941: SYSTEM  : FREE SPACE : SR0 Heap         = 15984384 B (15 MB) 
     [m3vpss ]  1956: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_23] in region 0 ...
     [m3vpss ]  1956: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_23] in region 0 ...
     [m3video]  1941: SYSTEM  : FREE SPACE : Frame Buffer     = 227540864 B (216 MB) 
     [m3vpss ]  1957: SYSTEM: ListElem Shared Addr = 0xbe9c4e80
     [m3vpss ]  1959: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_24] in region 0 ...
     [m3video]  1941: SYSTEM  : FREE SPACE : Bitstream Buffer = 62914432 B (59 MB) 
     [m3vpss ]  1960: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_24] in region 0 ...
     [m3vpss ]  1960: SYSTEM: ListElem Shared Addr = 0xbe9e4880
     [m3video] FS: System_ipcMsgQOpen for ProcessId=2
     [m3video]  1941: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
     [m3video]  1942: SYSTEM  : FREE SPACE : Tiler Buffer     = 15 B (-1923248564 MB)  - TILER OFF 
     [m3video]  1943: SYSTEM  FS : Initializing Links !!! 
     [m3vpss ]  1963: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_25] in region 0 ...
     [m3vpss ]  1963: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_25] in region 0 ...
     [m3vpss ]  1963: SYSTEM: ListElem Shared Addr = 0xbea04280
     [m3vpss ]  1971: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_28] in region 0 ...
     [m3vpss ]  1971: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_28] in region 0 ...
     [m3vpss ]  1971: SYSTEM: ListElem Shared Addr = 0xbea23c80
     [m3vpss ]  1974: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_29] in region 0 ...
     [m3vpss ]  1974: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_29] in region 0 ...
     [m3vpss ]  1975: SYSTEM: ListElem Shared Addr = 0xbea3d900
     [m3video]  1999: SYSTEM  FS : Initializing Links DONE !!! 
     [m3video]  2000: SYSTEM  : Initializing Links ... DONE !!! 
     [m3vpss ] initPrms.isI2cInitReq = 1
     [m3vpss ] initPrms.isI2cInitReq = 1
     [m3vpss ] AR0330 Camera Sensor Configuration Start
     [m3vpss ]  
     [m3vpss ]  I2C2: DEV 0x10: WR 0x301a = 0x10d9 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x301a = 0x10d8 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3052 = 0xa114 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x304a = 0x70 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x30b0 = 0x00 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x30ba = 0x6ec 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x31ac = 0xc0c 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x302a = 0x08 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x302c = 0x01 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x302e = 0x08 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3030 = 0xa0 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3036 = 0x0c 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3038 = 0x01 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x31ae = 0x301 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3002 = 0xe8 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3004 = 0x42 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3006 = 0x51f 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3008 = 0x7c9 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x300a = 0x461 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x300c = 0x44c 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x30a2 = 0x01 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x30a6 = 0x01 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3040 = 0xc000 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3082 = 0x09 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x305e = 0x80 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x318c = 0x00 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3190 = 0x00 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x301e = 0xf0 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x30fe = 0x80 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x320a = 0x80 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x301a = 0x10d8 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x2400 = 0x03 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x2450 = 0x00 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x301e = 0xa8 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x301a = 0x10dc 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3200 = 0x00 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x31d0 = 0x00 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x31e0 = 0x200 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3064 = 0x1882 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x301a = 0x10de 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3180 = 0x8089 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x30f4 = 0x4000 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3ed4 = 0x8f6c 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3ed6 = 0x66cc 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3eda = 0x8899 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3ee6 = 0xf0 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3ed2 = 0x106 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3ed8 = 0x8c42 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x301a = 0x10dc 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DDMA: Module install successful, device major num = 249 
    EV 0x10: WR 0x30DRV: Module install successful
    60 = 0x06 
     [m3DRV: Module built on Jan 17 2017 11:55:36 
    vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  I2C2: DEV 0x10: WR 0x3060 = 0x06 
     [m3vpss ]  2779: UTILS: DMA: HWI Create for INT62 !!!
     [m3vpss ]  2779: SYSTEM  : Initializing Links !!! 
     [m3vpss ]  2779: SYSTEM  : FREE SPACE : System Heap      = 953592 B, Mbx = 10240 msgs) 
     [m3vpss ]  2779: SYSTEM  : FREE SPACE : SR0 Heap         = 15372416 B (14 MB) 
     [m3vpss ]  2779: SYSTEM  : FREE SPACE : Frame Buffer     = 223230848 B (212 MB) 
     [m3vpss ]  2779: SYSTEM  : FREE SPACE : Bitstream Buffer = 62914432 B (59 MB) 
     [m3vpss ]  2780: SYSTEM  : FREE SPACE : Tiler Buffer     = 15 B (1 MB)  - TILER OFF 
     [m3vpss ]  2788: SYSTEM  : Initializing CAMERA Links !!! 
     [m3vpss ]  2878: SYSTEM  : Initializing Links ... DONE !!! 
     [m3vpss ] Received character 't'
     [m3video] Received character 't'
    
     [host] Application Start Completed
    
     [host]  DEBUG : cPtr = CAMERA:1
    731: PB_LOGS: Entered playbackTsk_main()
    565: PB_LOGS: Entered videoSubmit_main()
    DMA: ChannelID allocated:4
    DMA: ChannelID allocated:12
    
     [host] cOverlay : 1
    
     [host]  IN (null) Config file read success
    
     [host] FS ::: FullHD Decoder Selected to create configuration...
    
     [host] FOSSILSHALE ::: In Usecase width = (1920)...
    
     [host] FOSSILSHALE ::: In Usecase height = (1080)...
    
     [host] FOSSILSHALE ::: In Usecase width(D1) = (720)...
    
     [host] FOSSILSHALE ::: In Usecase height(D1) = (480)...
    
     [host] FOSSILSHALE ::: In Usecase width for HD = (1280)...
    
     [host] FOSSILSHALE ::: In Usecase height HD = (720)...
    
     [host] FS ::: In DEC Create FullHD...
    
     [host] FS : Checking width in Decoder (CH0) FullHD side = 1920
    
     [host] FS : Checking Height in Decoder(CH0) FullHD side = 1080
    
     [host] FS : Checking width in Decoder (CH1) side = 720
    
     [host] FS : Checking Height in Decoder(CH1) side = 480
    
     [host] FS : Checking width in Decoder (CH2) for D1 side = 1280
    
     [host] FS : Checking Height in Decoder(CH2) for D1 side = 720
     [m3vpss ] Stream ID 0: chId = 0 VpsUtils_queCreate.
     [m3vpss ] DCC server task running 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x08 = 0x51 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x09 = 0x58 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x04 = 0x02 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x05 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x06 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xfe = 0x0f 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xc0 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xc4 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xc8 = 0x02 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xc3 = 0x60 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xfe = 0x0f 
     [m3vpss ]  I2C0: DEV 0x58: RD 0xc1 = 0x88 
     [m3vpss ]  I2C0: DEV 0x58: RD 0xc2 = 0x88 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xc1 = 0x55 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xc2 = 0x55 
     [m3vpss ] CAPTURE::HEAPID:0	USED:212000
     [m3vpss ]  I2C0: DEV 0x58: WR 0xfe = 0x0f 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xe8 = 0x60 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xe9 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xea = 0xb0 
     [m3vpss ]  I2C0: DEV 0x58: RD 0xe0 = 0x00 
     [m3vpss ]  TVP5158: 0x58: NO Patch downloaded, using ROM firmware.
     [m3vpss ]  I2C0: DEV 0x58: RD 0x08 = 0x51 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x09 = 0x58 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x04 = 0x02 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x05 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: RD 0x06 = 0x00 
     [m3vpss ]  TVP5158: 0x58: 5158:0002:0000
     [m3vpss ]  I2C0: DEV 0x58: WR 0xfe = 0x0f 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xa9 = 0x04 
     [m3vpss ]  I2C0: DEV 0x58: WR 0x90 = 0x29 
     [m3vpss ]  I2C0: DEV 0x58: WR 0x91 = 0xf0 
     [m3vpss ]  I2C0: DEV 0x58: WR 0x92 = 0x6e 
     [m3vpss ]  I2C0: DEV 0x58: WR 0x93 = 0x00 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xb0 = 0x60 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xb1 = 0x17 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xb2 = 0x20 
     [m3vpss ]  I2C0: DEV 0x58: WR 0x0e = 0xff 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xfe = 0x0f 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xba = 0x01 
     [m3vpss ]  FS: 
     [m3vpss ] SCLR:HEAPID:0	USED:64
     [m3vpss ] SCLR:HEAPID:1	USED:5952
     [m3vpss ]  FS: 
     [m3vpss ] NSF::HEAPID:0	USED:128
     [m3vpss ] NSF::HEAPID:1	USED:9152
     [m3vpss ] FS ::: By Default SwosdEnable = (0)...
     [m3vpss ] {SWOSD} edma3Handle->tccVal = 36 
     [m3vpss ] {SWOSD} edma3Handle->chId   = 36 
     [m3vpss ] FS ::: By Default SwosdEnable = (0)...
     [m3vpss ] {SWOSD} edma3Handle->tccVal = 37 
     [m3vpss ] {SWOSD} edma3Handle->chId   = 37 
     [m3vpss ] FS ::: By Default SwosdEnable = (0)...
     [m3vpss ] {SWOSD} edma3Handle->tccVal = 38 
     [m3vpss ] {SWOSD} edma3Handle->chId   = 38 
     [m3vpss ] FS ::: By Default SwosdEnable = (0)...
     [m3vpss ] {SWOSD} edma3Handle->tccVal = 39 
     [m3vpss ] {SWOSD} edma3Handle->chId   = 39 
     [m3vpss ] FS ::: By Default SwosdEnable = (0)...
     [m3vpss ] {SWOSD} edma3Handle->tccVal = 40 
     [m3vpss ] {SWOSD} edma3Handle->chId   = 40 
     [m3video]  4018: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_0] ...
     [m3vpss ]  FS: 
     [m3video]  4019: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_0] ...
     [m3video] ENCLINK_H264:HEAPID:0	USED:13808
     [m3video] ENCLINK_H264:HEAPID:0	USED:11912
     [m3video] ENCLINK_H264:HEAPID:0	USED:11912
     [m3video] ENCLINK_H264:HEAPID:0	USED:11912
     [m3video] ENCLINK_H264:HEAPID:0	USED:11912
     [m3video] ENCLINK:HEAPID:0	USED:61776
     [m3video]  4612: SYSTEM: Opening ListMP [HOST_IPC_OUT_28] ...
     [m3video]  4613: SYSTEM: Opening ListMP [HOST_IPC_IN_28] ...
     [m3video] FS: System_ipcMsgQOpen for ProcessId=3
     [m3video]  4614: SYSTEM: Opening MsgQ [HOST_MSGQ] ...
     [m3video] DECLINK_H264:HEAPID:0	USED:2368
     [m3video] DECLINK_H264:HEAPID:0	USED:2368
     [m3vpss ]  4893: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_0] ...
     [m3video] DECLINK_H264:HEAPID:0	USED:2368
     [m3vpss ]  4894: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_0] ...
     [m3vpss ] FS: System_ipcMsgQOpen for ProcessId=1
     [m3vpss ]  4895: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ...
     [m3video] DECLINK:HEAPID:0	USED:7144
     [m3vpss ] DEI:HEAPID:0	USED:64
     [m3vpss ] DEI:HEAPID:1	USED:6304
     [m3vpss ]  FS: 
     [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 41 (41)
     [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 42 (42)
    
     [host] USECASE SETUP DONE
    
     [host] ################# FS: In iSetOSD() 
    
     [host] ################# FS: In iSetOSD() 
    
     [host] ################# FS: In iSetOSD() 
    
     [host] ################# FS: In iSetOSD() 
     [m3vpss ] FS : width is 720 and height is 480 : dataFormat 1
     [m3vpss ] FS : pitch 0 is 1440 : pitch 1 is 0 : pitch 2 is 0
     [m3vpss ] DisplayId = 4,DataFormat = 1
     [m3vpss ] FS: DisplayLink_drvSwitchCh(665) Display channel no is 0
     [m3vpss ]  SWOSD   : $$$$$$ streamId $$$$$$ == 0!!!
     [m3vpss ]  SWOSD   : $$$$$$ streamId $$$$$$ == 1!!!
     [m3vpss ]  SWOSD   : $$$$$$ streamId $$$$$$ == 2!!!
     [m3vpss ]  SWOSD   : $$$$$$ streamId $$$$$$ == 3!!!
    
     [host] FS :::######### Active channel ######### : 3 
    
     [host] ##############Deciding encoder channel#################
    
     [host] ENC_DISABLE
    
     [host] 
    Disable Channel: 1
     [host] 
    Disable Channel: 2
     [host] 
    Disable Channel: 3 [m3vpss ] FS: DisplayLink_drvSwitchCh(665) Display channel no is 3
     [m3vpss ]  I2C0: DEV 0x58: WR 0xfe = 0x0f 
     [m3vpss ]  I2C0: DEV 0x58: RD 0xb2 = 0x20 
     [m3vpss ]  I2C0: DEV 0x58: WR 0xb2 = 0x25 
     [m3vpss ]  5219: CAMERA: Fields = 1 (fps = 0), Total Resets = 0 (Avg 0 ms per reset)
     [m3video]  Channel:0 inputframerate:25 targetfps:30
    FS : the sample rate is 8000
    FS: IN Fn (Audio_captureCreate) AudioSampling Rate=8000
    
     [host] 
     Audio capture task created [m3vpss ]  5344: CAPTURE: Fields = 0 (fps = 0), Total Resets = 0 (Avg 0 ms per reset)
     [m3video]  Channel:1 inputframerate:30 targetfps:30
     [m3video]  Channel:2 inputframerate:30 targetfps:30
     [m3video]  Channel:3 inputframerate:30 targetfps:30
    
     [host] AUDIO : period size = 500 frames, dir = 0
    
     [host] AUDIO : period time = 62500 us, dir = 0
     [m3vpss ] CT: 4994, 3dlut index:2 
    [Func:main][Line:1889]  [VERSION:0.00.03]
    avirecord_start App state ...-1
    avirecord_start App state Is Init state ...0
    cAuto_RecordDuration : 30
     avirecstart 131073;0;131089;60;
    avirecord_start App state ...2
    avirecord_start Done.....
    [FUNC:getlocaltime] [ctimeBuff:19700101080010]
    In sdstatus()
    message_receive_thread creation success for Module ID=2
    
     [host] FS : MSG_CMD_GET_MEM case 
    
     [host]  FS : total mem size  is 59703296
     cOverlay : 1
    ApproDrvExit: 7
    Error: WaitStreamReady Fail.
    Error: SemWait: Invalid Semaphore handler
    Error: SemRelease: Invalid Semaphore handler
     [m3video]  
     [m3video] --------- CH 0 : H264 ENC : Dynamic Params -------
     [m3video]  
     [m3video] videnc2DynamicParams -> inputHeight             : 1080
     [m3video] videnc2DynamicParams -> inputWidth              : 1920
     [m3video] videnc2DynamicParams -> refFrameRate            : 30000
     [m3video] videnc2DynamicParams -> targetFrameRate         : 30000
     [m3video] videnc2DynamicParams -> targetBitRate           : 3000000
     [m3video] videnc2DynamicParams -> intraFrameInterval      : 15
     [m3video] videnc2DynamicParams -> generateHeader          : 0
     [m3video] videnc2DynamicParams -> captureWidth            : 1920
     [m3video] videnc2DynamicParams -> forceFrame              : -1
     [m3video] videnc2DynamicParams -> interFrameInterval      : 1
     [m3video] videnc2DynamicParams -> mvAccuracy              : 2
     [m3video] videnc2DynamicParams -> sampleAspectRatioHeight : 1080
     [m3video] videnc2DynamicParams -> sampleAspectRatioWidth  : 1920
     [m3video] videnc2DynamicParams -> ignoreOutbufSizeFlag    : 1
     [m3video] videnc2DynamicParams -> lateAcquireArg          : 0
     [m3video]  
     [m3video] rateControlParams -> rateControlParamsPreset        : 1
     [m3video] rateControlParams -> scalingMatrixPreset            : 1
     [m3video] rateControlParams -> rcAlgo                         : 1
     [m3video] rateControlParams -> qpI                            : -1
     [m3video] rateControlParams -> qpMaxI                         : 40
     [m3video] rateControlParams -> qpMinI                         : 10
     [m3video] rateControlParams -> qpP                            : -1
     [m3video] rateControlParams -> qpMaxP                         : 40
     [m3video] rateControlParams -> qpMinP                         : 10
     [m3video] rateControlParams -> qpOffsetB                      : 4
     [m3video] rateControlParams -> qpMaxB                         : 44
     [m3video] rateControlParams -> qpMinB                         : 10
     [m3video] rateControlParams -> allowFrameSkip                 : 1
     [m3video] rateControlParams -> removeExpensiveCoeff           : 0
    FS: AVI Recording Not Started
    Schedule manager init success
    Dmva Schedule manager init success
     [m3video] rateControlParams -> chromaQPIndexOffset            : 0
     [m3video] rateControlParams -> IPQualityFactor                : 0
     [m3video] rateControlParams -> initialBufferLevel             : 1500000
     [m3video] rateControlParams -> HRDBufferSize                  : 1500000
     [m3video] rateControlParams -> minPicSizeRatioI               : 0
     [m3video] rateControlParams -> maxPicSizeRatioI               : 640
     [m3video] rateControlParams -> minPicSizeRatioP               : 0
     [m3video] rateControlParams -> maxPicSizeRatioP               : 0
     [m3video] rateControlParams -> minPicSizeRatioB               : 0
     [m3video] rateControlParams -> maxPicSizeRatioB               : 0
     [m3video] rateControlParams -> enablePRC                      : 1
     [m3video] rateControlParams -> enablePartialFrameSkip         : 1
     [m3video] rateControlParams -> discardSavedBits               : 1
     [m3video] rateControlParams -> VBRDuration                    : 8
     [m3video] rateControlParams -> VBRsensitivity                 : 0
     [m3video] rateControlParams -> skipDistributionWindowLength   : 5
     [m3video] rateControlParams -> numSkipInDistributionWindow    : 2
     [m3video] rateControlParams -> enableHRDComplianceMode        : 1
     [m3video] rateControlParams -> frameSkipThMulQ5               : 0
     [m3video] rateControlParams -> vbvUseLevelThQ5                : 0
     [m3video]  
     [m3video] interCodingParams -> interCodingPreset  : 0
     [m3video] interCodingParams -> searchRangeHorP    : 144
     [m3video] interCodingParams -> searchRangeVerP    : 32
     [m3video] interCodingParams -> searchRangeHorB    : 144
     [m3video] interCodingParams -> searchRangeVerB    : 16
     [m3video] interCodingParams -> interCodingBias    : 1
     [m3video] interCodingParams -> skipMVCodingBias   : 1
     [m3video] interCodingParams -> minBlockSizeP      : 0
     [m3video] interCodingParams -> minBlockSizeB      : 0
     [m3video] interCodingParams -> meAlgoMode         : 0
     [m3video]  
     [m3video] intraCodingParams -> intraCodingPreset          : 0
     [m3video] intraCodingParams -> lumaIntra4x4Enable         : 0
     [m3video] intraCodingParams -> lumaIntra8x8Enable         : 255
     [m3video] intraCodingParams -> lumaIntra16x16Enable       : 15
     [m3video] intraCodingParams -> chromaIntra8x8Enable       : 15
     [m3video] intraCodingParams -> chromaComponentEnable      : 1
     [m3video] intraCodingParams -> intraRefreshMethod         : 0
     [m3video] intraCodingParams -> intraRefreshRate           : 0
     [m3video] intraCodingParams -> gdrOverlapRowsBtwFrames    : 0
     [m3video] intraCodingParams -> constrainedIntraPredEnable : 0
     [m3video] intraCodingParams -> intraCodingBias            : 12
     [m3video]  
     [m3video] nalUnitControlParams -> naluControlPreset: 1
     [m3video] nalUnitControlParams -> naluPresentMaskStartOfSequence: 8608
     [m3video] nalUnitControlParams -> naluPresentMaskIDRPicture: 8672
     [m3video] nalUnitControlParams -> naluPresentMaskIntraPicture: 8450
     [m3video] nalUnitControlParams -> naluPresentMaskEndOfSequence: 3072
     [m3video]  
     [m3video] sliceCodingParams -> sliceCodingPreset  : 1
     [m3video] sliceCodingParams -> sliceMode          : 0
     [m3video] sliceCodingParams -> sliceUnitSize      : 0
     [m3video] sliceCodingParams -> sliceStartOffset   : [0 0 0]
     [m3video] sliceCodingParams -> streamFormat       : 0
     [m3video]  
     [m3video] loopFilterParams -> loopfilterPreset: 0
     [m3video] loopFilterParams -> loopfilterDisableIDC: 0
     [m3video] loopFilterParams -> filterOffsetA: 0
     [m3video] loopFilterParams -> filterOffsetB: 0
     [m3video]  
     [m3video] fmoCodingParams -> fmoCodingPreset: 0
     [m3video] fmoCodingParams -> numSliceGroups: 1
     [m3video] fmoCodingParams -> sliceGroupMapType: 4
     [m3video] fmoCodingParams -> sliceGroupChangeDirectionFlag: 0
     [m3video] fmoCodingParams -> sliceGroupChangeRate: 0
     [m3video] fmoCodingParams -> sliceGroupChangeCycle: 0
     [m3video]  
     [m3video] vuiCodingParams -> vuiCodingPreset: 1
     [m3video] vuiCodingParams -> aspectRatioInfoPresentFlag: 0
     [m3video] vuiCodingParams -> aspectRatioIdc: 255
     [m3video] vuiCodingParams -> videoSignalTypePresentFlag: 1
     [m3video] vuiCodingParams -> videoFormat: 5
     [m3video] vuiCodingParams -> videoFullRangeFlag: 1
     [m3video] vuiCodingParams -> timingInfoPresentFlag: 1
     [m3video] vuiCodingParams -> hrdParamsPresentFlag: 1
     [m3video] vuiCodingParams -> numUnitsInTicks: 1000
     [m3video]  
     [m3video] stereoInfoParams -> stereoInfoPreset: 0
     [m3video] stereoInfoParams -> topFieldIsLeftViewFlag: 1
     [m3video] stereoInfoParams -> viewSelfContainedFlag: 0
     [m3video]  
     [m3video] framePackingSEIParams -> framePackingPreset: 0
     [m3video] framePackingSEIParams -> framePackingType: 3
     [m3video] framePackingSEIParams -> frame0PositionX: 0
     [m3video] framePackingSEIParams -> frame0PositionY: 0
     [m3video] framePackingSEIParams -> frame1PositionX: 0
     [m3video] framePackingSEIParams -> frame1PositionY: 0
     [m3video]  
     [m3video] svcCodingParams -> svcExtensionFlag: 0
     [m3video] svcCodingParams -> dependencyID: 0
     [m3video] svcCodingParams -> qualityID: 0
     [m3video] svcCodingParams -> enhancementProfileID: 0
     [m3video] svcCodingParams -> layerIndex: 0
     [m3video] svcCodingParams -> refLayerDQId: -115
     [m3video]  
     [m3video] interlaceCodingType				: 3
     [m3video] bottomFieldIntra				: 0
     [m3video] gopStructure					: 0
     [m3video] entropyCodingMode				: 1
     [m3video] transformBlockSize				: 1
     [m3video] log2MaxFNumMinus4				: 10
     [m3video] picOrderCountType				: 0
     [m3video] enableWatermark					: 0
     [m3video] IDRFrameInterval				: 1
     [m3video] maxIntraFrameInterval			: 60
     [m3video] debugTraceLevel					: 1
     [m3video] lastNFramesToLog				: 31
     [m3video] enableAnalyticinfo				: 1
     [m3video] enableGMVSei					: 0
     [m3video] constraintSetFlags				: 0
     [m3video] enableRCDO						: 0
     [m3video] enableLongTermRefFrame			: 0
     [m3video] LTRPPeriod						: 0
     [m3video] searchCenter                    : 32767
     [m3video] enableStaticMBCount				: 0
     [m3video] extMemoryDebugTraceAddr			: -1224657408
     [m3video] numTemporalLayer				: 1
     [m3video] referencePicMarking:			1
     [m3video] extMemoryDebugTraceSize			: 43008
     [m3video] enableROI                       : 0
     [m3video]  
     [m3video]  
    
     [host] 
    Application Run Completed
    
     [host] ITT server task running !!!
    
     [host] 
     ITT ittServer_run
    
     [host] ITT Server Message initialization successful
    
     [host] 
     ITT capture task created
    
     [host] DCC server Message ques is open succefully
    
     [host] Setting cmd <1> in message <40377c00>
    
     [host] Posting message <40377c00> in QId <10002> 
     [m3vpss ] Command 1 recived from HOST A8 
    
     [host] Response from M3 is : 1
    
     [host] Response from M3 is : 1
    
     [host] Default parameters were sent sucessfully 
    
     [host] Server Socket created with ID <22> 
     [m3vpss ] Command 2 recived from HOST A8 
     [m3vpss ] New DCC data of size <33603> 
     [m3vpss ] Call to VNF_LINK_CMD_UPDATE_DCC -1
    Checkforspace:/opt/dvr/media/auto cpMediaRecordPath:/opt/dvr/media
    DFULL SIZE:7543800:3017612
    DU SIZE:3015436:2880232
    Freesize:7541624 mediafolder size:3015436
    Total Threshold size:5279136
    Total Threshold size:5279136avialable size:2398904
     allowmemorysize:527913
    Before Low memory notification :527913 Recordtype:20011
    Size if fine :2398904
    FS:Checkforspace Line:1451
    [FUNC:getfilename] [Recordtype131089:] [Channel:0]
    [FUNC:getfilename] [Recordtype131089:] [Channel:1]
    [FUNC:getfilename] [Recordtype131089:] [Channel:2]
    [FUNC:getfilename] [Recordtype131089:] [Channel:3]
    Entered the GPS_location() function
    shmget: No such file or directory
    GPS_LOC: Recording GPS Location data in /opt/dvr/media/auto/gps_location_19700101080010.csv file
    GPS_LOC: Empty shared memory
    [Func:main][Line:2499]  [VERSION:0.00.03]
    MKV_RECORD DEBUG :: iFramerate = 25
    MKV_RECORD DEBUG :: iFramerate = 25
    MKV_RECORD DEBUG :: CircularBufferCount = 400
    HDEVENTBUFFER SIZE:8912896 
    message_receive_thread creation success for Module ID=14
    
     [host] FS : MSG_CMD_GET_MEM case 
    
     [host]  FS : total mem size  is 59703296
     FS : WaitVideoStart 1074 Video_Serial_Start:83
    [Func:WriteHDCamDataInCircularBuffer][Line:2687]  [VERSION:0.00.03] [CircularBufferCount=400]
    GetVideoInterface 1145 Serial:113
    samplerate = 8000 
    Output #0, matroska, to '/opt/dvr/media/auto/front_auto_19700101080010.mkv':
        Stream #0.0: Video: libx264, yuv420p, 1920x1080, q=10-51, 2000 kb/s, 90k tbn, 2500 tbc
        Stream #0.1: Audio: 0x0000, 8000 Hz, 1 channels, 128 kb/s
    codec not found
    [matroska @ 0x30fe70]Codec for stream 0 does not use global headers but container format requires global headers
    [matroska @ 0x30fe70]Codec for stream 1 does not use global headers but container format requires global headers
    First I frames is written 
    Starting udev
    Caching udev devnodes
    numid=1,iface=MIXER,name='PCM Playback Volume'
      ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0
      : values=127,127
      | dBscale-min=-63.50dB,step=0.50dB,mute=0
    Simple mixer control 'Line DAC',0
      Capabilities: pvolume penum
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 118
      Mono:
      Front Left: Playback 118 [100%] [0.00dB]
      Front Right: Playback 118 [100%] [0.00dB]
    Simple mixer control 'Line Line2 Bypass',0
      Capabilities: volume penum
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 0 [0%] [-99999.99dB]
      Front Right: 0 [0%] [-99999.99dB]
    Simple mixer control 'Line PGA Bypass',0
      Capabilities: volume penum
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 0 [0%] [-99999.99dB]
      Front Right: 0 [0%] [-99999.99dB]
    Simple mixer control 'Mono',0
      Capabilities: pswitch pswitch-joined penum
      Playback channels: Mono
      Mono: Playback [on]
    Simple mixer control 'Mono Line2 Bypass',0
      Capabilities: volume penum
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 0 [0%] [-99999.99dB]
      Front Right: 0 [0%] [-99999.99dB]
    Simple mixer control 'Mono Mixer DACL1',0
      Capabilities: pswitch pswitch-joined penum
      Playback channels: Mono
      Mono: Playback [on]
    Simple mixer control 'Mono Mixer PGAR Bypass',0
      Capabilities: pswitch pswitch-joined penum
      Playback channels: Mono
      Mono: Playback [on]
    Simple mixer control 'AGC',0
      Capabilities: pswitch penum
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [on]
      Front Right: Playback [on]
    Simple mixer control 'HP DAC',0
      Capabilities: pvolume penum
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 118
      Mono:
      Front Left: Playback 118 [100%] [0.00dB]
      Front Right: Playback 118 [100%] [0.00dB]
    Simple mixer control 'HP Line2 Bypass',0
      Capabilities: volume penum
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 0 [0%] [-99999.99dB]
      Front Right: 0 [0%] [-99999.99dB]
    Simple mixer control 'HP PGA Bypass',0
      Capabilities: volume penum
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 83 [70%] [-17.50dB]
      Front Right: 83 [70%] [-17.50dB]
    Simple mixer control 'HPCOM',0
      Capabilities: pswitch penum
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [off]
      Front Right: Playback [off]
    Simple mixer control 'HPCOM DAC',0
      Capabilities: pvolume penum
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 118
      Mono:
      Front Left: Playback 0 [0%] [-99999.99dB]
      Front Right: Playback 0 [0%] [-99999.99dB]
    Simple mixer control 'HPCOM Line2 Bypass',0
      Capabilities: volume penum
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 0 [0%] [-99999.99dB]
      Front Right: 0 [0%] [-99999.99dB]
    Simple mixer control 'HPCOM PGA Bypass',0
      Capabilities: volume penum
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 0 [0%] [-99999.99dB]
      Front Right: 0 [0%] [-99999.99dB]
    Simple mixer control 'Left DAC Mux',0
      Capabilities: enum
      Items: 'DAC_L1' 'DAC_L3' 'DAC_L2'
      Item0: 'DAC_L1'
    Simple mixer control 'Left HPCOM Mixer DACL1',0
      Capabilities: pswitch pswitch-joined penum
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right HP Mixer DACR1',0
      Capabilities: pswitch pswitch-joined penum
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right HPCOM Mixer DACR1',0
      Capabilities: pswitch pswitch-joined penum
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right Line Mixer DACR1',0
      Capabilities: pswitch pswitch-joined penum
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right PGA Mixer Line1R',0
      Capabilities: pswitch pswitch-joined penum
      Playback channels: Mono
      Mono: Playback [on]
    Simple mixer control 'Right Line1R Mux',0
      Capabilities: enum
      Items: 'single-ended' 'differential'
      Item0: 'differential'
    numid=37,iface=MIXER,name='PGA Capture Volume'
      ; type=INTEGER,access=rw---R--,values=2,min=0,max=119,step=0
      : values=84,84
      | dBscale-min=0.00dB,step=0.50dB,mute=0
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    usbcore: registered new interface driver smsc95xx
    usbcore: registered new interface driver cdc_eem
    SCSI subsystem initialized
    usbcore: registered new interface driver cdc_acm
    cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
    musb-hdrc: version 6.0, host, debug=0
    USBSS revision 4ea2080b
    registerd cppi-dma Intr @ IRQ 17
    Cppi41 Init Done
    musb-hdrc musb-hdrc.0: dma type: dma-cppi41
    MUSB controller-0 revision 4ea20800
    usb2phy: computed values rxcalib(15)DACs(33 15 15)
    usb2phy: override computed values rxcalib(15)DACs(33 15 15)
    usb2phy_config: musb(0) rxcalib done, rxcalib read value 6f70df7e
    musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    musb-hdrc musb-hdrc.0: USB Host mode controller at cbc28000 using DMA, IRQ 18
    musb-hdrc musb-hdrc.1: dma type: dma-cppi41
    MUSB controller-1 revision 4ea20800
    usb2phy: computed values rxcalib(15)DACs(27 15 14)
    usb2phy: override computed values rxcalib(15)DACs(27 15 14)
    usb2phy_config: musb(1) rxcalib done, rxcalib read value 6f6ddf76
    musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 1 port detected
    musb-hdrc musb-hdrc.1: USB Host mode controller at cbc2c800 using DMA, IRQ 19
    nf_conntrack version 0.5.0 (1066 buckets, 4264 max)
    ip_tables: (C) 2000-2006 Netfilter Core Team
    NET: Registered protocol family 10
    lib80211: common routines for IEEE802.11 drivers
    NET: Registered protocol family 17
    Registering the dns_resolver key type
    Loading modules backported from Linux version fdfe1d5
    Backport generated by backports.git fdfe1d5
    cfg80211: Calling CRDA to update world regulatory domain
    udhcpc: SIOCGIFINDEX: No such device
    cfg80211: World regulatory domain updated:
    cfg80211:  DFS Master region: unset
    cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
    cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
    cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
    cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
    cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
    cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
    cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
    wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
    wlcore: loaded
    wlcore: driver version: ol_r8.a8.10
    wlcore: compilation time: Thu Oct 27 11:53:37 2016
    -------NWMGR API VERSION=(1.0)------
    wifi mode sta or ap should be given;if not default ap mode
    Init IPC Success for nwmanager MOdule
    igetDefaultparams begin Inputpath
    igetDefault_wifiparams start
    igetDefault_wifiparams file opened
    Wifi ssid:DM385_CDVR_10
    Wifi passwd:123456789
    Wifi maxsta:3                 
    Wifi channel:0
    Wifi wpaver:2
    Wifi encryption:TKIP
    get wifi default info success
    Name=start value=and end of the IP lease block 
    Name=end value=of the IP lease block 
    Name=start value=192.168.1.20	#default: 192.168.0.20 
    Name=end value=192.168.1.254	#default: 192.168.0.254 
    Name=subnet value=255.255.255.0 
    Name=router value=192.168.1.1 
    igetDefault_dhcpparams Wifi netmask:255.255.255.0
    igetDefault_dhcpparams Wifi gateway:192.168.1.1
    igetDefault_dhcpparams Wifi startip:192.168.1.20	#default: 192.168.0.20
    igetDefault_dhcpparams Wifi endip:192.168.1.254	#default: 192.168.0.254
    get wifi dhcp info success
    getDefaultparams success
    configureWifi start wifimode=AP 
    message_receive_thread creation success for Module ID=5
    

  • Hi Rajesh,

    Which version of RDK are you using?
    If possible then please share your latest usecase code so that i can reproduce that error and will able to debug it completely.

    Regards,
    Anuj
  • Hi Anuj,

    Thanks for your reply,

    Using 3.5 version of IPNC RDK.

    Only the playback usecase code is sufficient for you to reproduce the Error, Correct ???

    Kindly let me know !!!

    Regards,

    Rajesh Kannan.S
  • HI Rajesh,

    Please provide the capturing usecase code also.

    Regards
    Anuj
  • Hi Anuj,

    Thanks for your reply.

    The code has confidential rights. So We can't able to share.

    I have separate use case for playback. I'm working on this.

    I'll share it. Let me know !!!

    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,

    We respect your confidentiality, so please share the playback usecase code.
    Please mention the details of those file on A8 side like dataformat ,resolution,fps etc

    Regards
    Anuj
  • Hi Anuj,

    Thanks for your reply.

    Files on A8 side is .mkv format with 1920*1080 and 720*480 and 1280*720 resolutions. Fps is 25 

    Find the attached file for your reference.

    Regards,

    Rajesh Kannan.S 

    play.c
    /** ==================================================================
     *  @file   multich_playback.c
     *
     *  @path    ipnc_mcfw/mcfw/src_linux/mcfw_api/usecases/
     *
     *  @desc   This  File contains.
     * ===================================================================
     *  Copyright (c) Texas Instruments Inc 2011, 2012
     *
     *  Use of this software is controlled by the terms and conditions found
     *  in the license agreement under which this software has been supplied
     * ===================================================================*/
    
    #include "mcfw/src_linux/mcfw_api/usecases/multich_common.h"
    #include "mcfw/src_linux/mcfw_api/usecases/multich_ipcbits.h"
    #include "demos/mcfw_api_demos/multich_usecase/ti_mcfw_ipnc_main.h"
    
    
    #ifdef ENABLE_TILER
    #define TILER_ENABLE    TRUE
    #else
    #define TILER_ENABLE    FALSE
    #endif
    
    #define NUM_DUP_LINK                            (4)
    #define NUM_DECODE_BUFFERS              (4)
    #define NUM_IPC_OUT_BUFFERS     (4)
    
    #define DEI_OUT_MAIN_STRAMER    (DEI_LINK_OUT_QUE_DEI_SC)   // YUV422I WB0/1
    #define DEI_OUT_SUB_STRAMER             (DEI_LINK_OUT_QUE_VIP_SC) // (or) DEI_LINK_OUT_QUE_VIP_SC_SECONDARY_OUT  => YUV422I, YUV420SP on VIP0/1,
    
    extern GlbcePreset gGLBCE_AlgoPreset;
    
    /* =============================================================================
     * Use case code
     * ============================================================================= */
    #if 0
    static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl = {
        .isPopulated = 1,
        .ivaMap[0] = {
            .EncNumCh = 2,
            .EncChList = {0, 1},
            .DecNumCh = 2,
            .DecChList = {0, 1},
        },
    
    };
    #endif
    
    /* =============================================================================
     * Use case code
     * ============================================================================= */
    static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl = {
        .isPopulated = 1,
        .ivaMap[0] = {
            .EncNumCh = 8,
            .EncChList = {0, 1, 2, 3, 4, 5, 6, 7},
            .DecNumCh = 2,
            .DecChList = {0, 1},
        },
    
    };
    
    
    /* Merge Link for camera streams */
    #define NUM_MERGE_LINK              (4)
    #define CAM_STREAM_MERGE_IDX        (0)
    
    /* Dup Links */
    #define NUM_DUP_LINK				(4)
    #define DIS_DUP_IDX					(0)
    #define MJPEG_DUP_LINK_IDX			(1)
    #define SCALER_DUP_IDX				(2)
    #define VA_DUP_IDX					(3)   
    
    UInt32 gIpcOutVpssId_cbb;
    UInt32 gIpcInVideoId_cbb;
    UInt32 gIpcOutVideoId_cbb;
    UInt32 gIpcInVpssId_cbb;
    UInt32 gDisplayId;
    //UInt32 gSclrId;
    UInt32 gDeiId;
    
    extern int gAVI_video_width ; 
    extern int gAVI_video_height ; 
    
    extern int D1_video_width;
    extern int D1_video_height;
    
    /* ===================================================================
     *  @func     MultiCh_playbackApp
     *
     *  @desc     Function does the following
     *
     *  @modif    This function modifies the following structures
     *
     *  @inputs   This function takes the following inputs
     *            <argument name>
     *            Description of usage
     *            <argument name>
     *            Description of usage
     *
     *  @outputs  <argument name>
     *            Description of usage
     *
     *  @return   Return value of this function if any
     *  ==================================================================
     */
    //Void MultiCh_playbackApp()
    Void MultiCh_cardvr_demo()
    {
        UInt32 i;
    
        IpcBitsOutLinkHLOS_CreateParams ipcBitsOutHostPrm;
        IpcBitsInLinkRTOS_CreateParams ipcBitsInVideoPrm;
    
        DecLink_CreateParams decPrm;
    
    
    
        IpcLink_CreateParams ipcOutVideoPrm;
        IpcLink_CreateParams ipcInVpssPrm;
        //SclrLink_CreateParams       sclrPrm_LCD; //LCD
        //DeiLink_CreateParams              deiPrm ;
        DeiLink_CreateParams              DeiPrm ;
        DisplayLink_CreateParams displayPrm ;
    
    
        /* IPC struct init */
        MULTICH_INIT_STRUCT(IpcBitsOutLinkHLOS_CreateParams,ipcBitsOutHostPrm);
        MULTICH_INIT_STRUCT(IpcBitsInLinkRTOS_CreateParams,ipcBitsInVideoPrm);
        MULTICH_INIT_STRUCT(IpcLink_CreateParams,ipcOutVideoPrm);				//	FS PLAYBACK
        MULTICH_INIT_STRUCT(IpcLink_CreateParams,ipcInVpssPrm);
    //    MULTICH_INIT_STRUCT(DeiLink_CreateParams, deiPrm);
        MULTICH_INIT_STRUCT(DeiLink_CreateParams, DeiPrm);
    
    
        OSA_printf("\n FS :  ********** PLAYBACK FEATURE USECASE ********\n");
        OSA_printf("********* Entered PLAYBACK usecase - H264 1080p @60fps + H264 D1 @30fps + MJPEG 1080p @5fps ********\n\n");
    
    
        MultiCh_detectBoard();
    
        System_linkControl(SYSTEM_LINK_ID_M3VPSS,
                SYSTEM_M3VPSS_CMD_RESET_VIDEO_DEVICES, NULL, 0, TRUE);
        System_linkControl(SYSTEM_LINK_ID_M3VIDEO, SYSTEM_COMMON_CMD_SET_CH2IVAHD_MAP_TBL, &systemVid_encDecIvaChMapTbl, sizeof(SystemVideo_Ivahd2ChMap_Tbl), TRUE);
    
        gVdecModuleContext.ipcBitsOutHLOSId = SYSTEM_HOST_LINK_ID_IPC_BITS_OUT_0;
        gVdecModuleContext.ipcBitsInRTOSId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_IN_0;
        gVdecModuleContext.decId = SYSTEM_LINK_ID_VDEC_0;
        gVdecModuleContext.ipcM3OutId = SYSTEM_VIDEO_LINK_ID_IPC_OUT_M3_0;
        gVdecModuleContext.ipcM3InId = SYSTEM_VPSS_LINK_ID_IPC_IN_M3_0;
        gDeiId = SYSTEM_LINK_ID_DEI_HQ_1; //SYSTEM_LINK_ID_DEI_0;
        gVdisModuleContext.displayId[VDIS_DEV_SD] = SYSTEM_LINK_ID_DISPLAY_2 ;	//	FS playback display issue
    
    
        /********************************************************************************************************************/
        /************************************************ DECODE PATH *******************************************************/
        /********************************************************************************************************************/
    
        ipcBitsOutHostPrm.baseCreateParams.inputFrameRate                 = 30;
        ipcBitsOutHostPrm.baseCreateParams.outputFrameRate                = 30;
        ipcBitsOutHostPrm.baseCreateParams.inQueParams.prevLinkQueId      = 0 ;
        ipcBitsOutHostPrm.baseCreateParams.numOutQue                      = 1 ;
        ipcBitsOutHostPrm.baseCreateParams.outQueParams[0].nextLink       = gVdecModuleContext.ipcBitsInRTOSId ;
        ipcBitsOutHostPrm.baseCreateParams.notifyNextLink                 = TRUE;
        ipcBitsOutHostPrm.baseCreateParams.notifyPrevLink                 = FALSE;
        ipcBitsOutHostPrm.baseCreateParams.noNotifyMode                   = FALSE;
    
        ipcBitsOutHostPrm.inQueInfo.numCh                                 = 3;
        for (i=0; i<ipcBitsOutHostPrm.inQueInfo.numCh; i++)
        {
            ipcBitsOutHostPrm.inQueInfo.chInfo[i].startX                      = 0;
            ipcBitsOutHostPrm.inQueInfo.chInfo[i].startY                      = 0;
            ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[0]                    = 0;
            ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[1]                    = 0;
            ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[2]                    = 0;
            if(i == 0)
            {
                    OSA_printf("FS ::: FullHD Decoder Selected to create configuration...\n");
                    ipcBitsOutHostPrm.inQueInfo.chInfo[i].width                       = 1920;
                    ipcBitsOutHostPrm.inQueInfo.chInfo[i].height                      = 1080; //gAVI_video_height ;
                    //FS:OPT OSA_printf("FOSSILSHALE ::: In Usecase width = (%d)...\n", ipcBitsOutHostPrm.inQueInfo.chInfo[i].width);
                    //FS:OPT OSA_printf("FOSSILSHALE ::: In Usecase height = (%d)...\n", ipcBitsOutHostPrm.inQueInfo.chInfo[i].height);
                     OSA_printf("FOSSILSHALE ::: In Usecase width = (%d)...\n", ipcBitsOutHostPrm.inQueInfo.chInfo[i].width);
                     OSA_printf("FOSSILSHALE ::: In Usecase height = (%d)...\n", ipcBitsOutHostPrm.inQueInfo.chInfo[i].height);
            }
            else if(i == 1)
            {
                ipcBitsOutHostPrm.inQueInfo.chInfo[i].width = 720; //D1_video_width;
                ipcBitsOutHostPrm.inQueInfo.chInfo[i].height = 480; //D1_video_height; //480 ;
                OSA_printf("FOSSILSHALE ::: In Usecase width(D1) = (%d)...\n", ipcBitsOutHostPrm.inQueInfo.chInfo[i].width);
                OSA_printf("FOSSILSHALE ::: In Usecase height(D1) = (%d)...\n", ipcBitsOutHostPrm.inQueInfo.chInfo[i].height);
            }
    #if 1
            else if(i == 2)
            {
                ipcBitsOutHostPrm.inQueInfo.chInfo[i].width  = 1280; //gAVI_video_width ;
                ipcBitsOutHostPrm.inQueInfo.chInfo[i].height = 720; //gAVI_video_height ;
                OSA_printf("FOSSILSHALE ::: In Usecase width for HD = (%d)...\n", ipcBitsOutHostPrm.inQueInfo.chInfo[i].width);
                OSA_printf("FOSSILSHALE ::: In Usecase height HD = (%d)...\n", ipcBitsOutHostPrm.inQueInfo.chInfo[i].height);
            }
    #endif
    
    
    #endif    
            ipcBitsOutHostPrm.inQueInfo.chInfo[i].bufType                     = SYSTEM_BUF_TYPE_VIDBITSTREAM;
            ipcBitsOutHostPrm.inQueInfo.chInfo[i].codingformat                = -1; //9;
            ipcBitsOutHostPrm.inQueInfo.chInfo[i].memType                     = SYSTEM_MT_NONTILEDMEM;
            ipcBitsOutHostPrm.inQueInfo.chInfo[i].dataFormat                  = SYSTEM_DF_YUV422I_YUYV;
            ipcBitsOutHostPrm.inQueInfo.chInfo[i].scanFormat                  = SYSTEM_SF_PROGRESSIVE;//SYSTEM_SF_INTERLACED;//
        }
        /* IPC BITS IN VIDEO Link */
        ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkId    = gVdecModuleContext.ipcBitsOutHLOSId;
        ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0;
        ipcBitsInVideoPrm.baseCreateParams.numOutQue                 = 1;
        ipcBitsInVideoPrm.baseCreateParams.outQueParams[0].nextLink  = gVdecModuleContext.decId;
        ipcBitsInVideoPrm.baseCreateParams.noNotifyMode              = FALSE;
        ipcBitsInVideoPrm.baseCreateParams.notifyNextLink            = TRUE;
        ipcBitsInVideoPrm.baseCreateParams.notifyPrevLink            = TRUE;
    
        ipcBitsInVideoPrm.baseCreateParams.inputFrameRate            = 30;
        ipcBitsInVideoPrm.baseCreateParams.outputFrameRate           = 30;
    
        /* DEC Link */
        DecLink_CreateParams_Init(&decPrm);
    
        for (i = 0; i < ipcBitsOutHostPrm.inQueInfo.numCh; i++)
        {
            decPrm.chCreateParams[i].format                               = IVIDEO_H264HP;
            decPrm.chCreateParams[i].profile                              = IH264VDEC_PROFILE_ANY;
            decPrm.chCreateParams[i].fieldMergeDecodeEnable               = FALSE;
            if(i == 0)
            {
                OSA_printf("FS ::: In DEC Create FullHD...\n");
                decPrm.chCreateParams[i].targetMaxWidth                       = ipcBitsOutHostPrm.inQueInfo.chInfo[i].width;
                OSA_printf("FS : Checking width in Decoder (CH0) FullHD side = %d\n", decPrm.chCreateParams[i].targetMaxWidth);
                decPrm.chCreateParams[i].targetMaxHeight                      = ipcBitsOutHostPrm.inQueInfo.chInfo[i].height;
                OSA_printf("FS : Checking Height in Decoder(CH0) FullHD side = %d\n", decPrm.chCreateParams[i].targetMaxHeight);
            }
            else if(i == 1)
            {
                decPrm.chCreateParams[i].targetMaxWidth = ipcBitsOutHostPrm.inQueInfo.chInfo[i].width; //720;
                decPrm.chCreateParams[i].targetMaxHeight = ipcBitsOutHostPrm.inQueInfo.chInfo[i].height; //480;
                OSA_printf("FS : Checking width in Decoder (CH1) side = %d\n", decPrm.chCreateParams[i].targetMaxWidth);
                OSA_printf("FS : Checking Height in Decoder(CH1) side = %d\n", decPrm.chCreateParams[i].targetMaxHeight);
            }
    #if 1
            else if(i == 2)
            {
                decPrm.chCreateParams[i].targetMaxWidth = ipcBitsOutHostPrm.inQueInfo.chInfo[i].width; //720;
                decPrm.chCreateParams[i].targetMaxHeight = ipcBitsOutHostPrm.inQueInfo.chInfo[i].height; //480;
                OSA_printf("FS : Checking width in Decoder (CH2) side = %d\n", decPrm.chCreateParams[i].targetMaxWidth);
                OSA_printf("FS : Checking Height in Decoder(CH2) side = %d\n", decPrm.chCreateParams[i].targetMaxHeight);
            }
    #endif
    
        }
    
        decPrm.inQueParams.prevLinkId    = gVdecModuleContext.ipcBitsInRTOSId;
        decPrm.inQueParams.prevLinkQueId = 0;
        decPrm.outQueParams.nextLink     = gVdecModuleContext.ipcM3OutId;
        decPrm.tilerEnable               = TILER_ENABLE;
        decPrm.numBufPerPool[0]          = NUM_DECODE_BUFFERS;
    
        /* FRAMES OUT VIDEO Link */
        ipcOutVideoPrm.inQueParams.prevLinkId    = gVdecModuleContext.decId;
        ipcOutVideoPrm.inQueParams.prevLinkQueId = 0;
        ipcOutVideoPrm.numOutQue                 = 1;
        ipcOutVideoPrm.outQueParams[0].nextLink  = gVdecModuleContext.ipcM3InId;
        ipcOutVideoPrm.notifyNextLink            = TRUE;
        ipcOutVideoPrm.notifyPrevLink            = TRUE;
        ipcOutVideoPrm.noNotifyMode              = FALSE;
    
        /* FRAMES IN VPSS Link */
        ipcInVpssPrm.inQueParams.prevLinkId    = gVdecModuleContext.ipcM3OutId;
        ipcInVpssPrm.inQueParams.prevLinkQueId = 0;
        ipcInVpssPrm.numOutQue                 = 1;
        ipcInVpssPrm.outQueParams[0].nextLink  = gDeiId;
        ipcInVpssPrm.notifyNextLink            = TRUE;
        ipcInVpssPrm.notifyPrevLink            = TRUE;
        ipcInVpssPrm.noNotifyMode              = FALSE;
    
        /********************************************************************************************************************/
        /************************************************ DISPLAY PATH ******************************************************/
        /********************************************************************************************************************/
    
    //#if 1
        DeiPrm.inQueParams.prevLinkId = gVdecModuleContext.ipcM3InId;
        DeiPrm.inQueParams.prevLinkQueId  = 0 ;
        DeiPrm.enableLineSkipSc = FALSE;
        DeiPrm.enableDeiForceBypass = TRUE ; //FALSE;
        DeiPrm.inputDeiFrameRate = 30;
        DeiPrm.outputDeiFrameRate = 30;
        DeiPrm.outQueParams[DEI_OUT_SUB_STRAMER].nextLink = gVdisModuleContext.displayId[VDIS_DEV_SD] ;//mergeId[DISPLAY_MERGE_IDX];
        DeiPrm.enableOut[DEI_OUT_MAIN_STRAMER] = FALSE; //TRUE;
        DeiPrm.enableOut[DEI_OUT_SUB_STRAMER] = TRUE;
        DeiPrm.comprEnable = FALSE;
        DeiPrm.setVipScYuv422Format = TRUE;    // FALSE->yuv420sp,  TRUE->yuv422i
        DeiPrm.inputFrameRate[DEI_OUT_SUB_STRAMER] = 30;
        DeiPrm.outputFrameRate[DEI_OUT_SUB_STRAMER] = 30;
    #if 1
        DeiPrm.inputFrameRate[DEI_OUT_MAIN_STRAMER] = 30;
        DeiPrm.outputFrameRate[DEI_OUT_MAIN_STRAMER] = 30;
    #endif
        DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].scaleMode = DEI_SCALE_MODE_ABSOLUTE;
        DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].absoluteResolution.outWidth  = 720;
        DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].absoluteResolution.outHeight = 480;
    
    #if 0
        DeiPrm.outScaleFactor[DEI_OUT_MAIN_STRAMER][0].scaleMode = DEI_SCALE_MODE_ABSOLUTE;
        DeiPrm.outScaleFactor[DEI_OUT_MAIN_STRAMER][0].absoluteResolution.outWidth  = 720;
        DeiPrm.outScaleFactor[DEI_OUT_MAIN_STRAMER][0].absoluteResolution.outHeight = 480;
    
    #endif
    
        /* display link params */
        MULTICH_INIT_STRUCT(DisplayLink_CreateParams,displayPrm);
        displayPrm.numInputQueues = 1;
        displayPrm.inQueParams[0].prevLinkId = gDeiId; 
        displayPrm.inQueParams[0].prevLinkQueId = 0;
        displayPrm.displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_SD].resolution;
        displayPrm.displayId  = DISPLAY_LINK_DISPLAY_SD;
    
    
        /* Link Creation */
        System_linkCreate(gVdecModuleContext.ipcBitsOutHLOSId,&ipcBitsOutHostPrm,sizeof(ipcBitsOutHostPrm));
        System_linkCreate(gVdecModuleContext.ipcBitsInRTOSId,&ipcBitsInVideoPrm,sizeof(ipcBitsInVideoPrm));
        printf("FS : %s %d\n",__func__,__LINE__);
        System_linkCreate(gVdecModuleContext.decId,&decPrm,sizeof(decPrm));
        printf("FS : %s %d\n",__func__,__LINE__);
        System_linkCreate(gVdecModuleContext.ipcM3OutId,&ipcOutVideoPrm,sizeof(ipcOutVideoPrm));
        System_linkCreate(gVdecModuleContext.ipcM3InId,&ipcInVpssPrm,sizeof(ipcInVpssPrm));
        /* Select Link */
        System_linkCreate(gDeiId,&DeiPrm,sizeof(DeiLink_CreateParams));
        System_linkCreate(gVdisModuleContext.displayId[VDIS_DEV_SD], &displayPrm,sizeof(displayPrm));
    
        OSA_printf("USECASE SETUP DONE\n");
    }
    
    /* ===================================================================
     *  @func     MultiCh_deleteplaybackApp
     *
     *  @desc     Function does the following
     *
     *  @modif    This function modifies the following structures
     *
     *  @inputs   This function takes the following inputs
     *            <argument name>
     *            Description of usage
     *            <argument name>
     *            Description of usage
     *
     *  @outputs  <argument name>
     *            Description of usage
     *
     *  @return   Return value of this function if any
     *  ==================================================================
     */
    Void MultiCh_deleteplaybackApp()
    {
    
        gVdecModuleContext.ipcBitsOutHLOSId = SYSTEM_HOST_LINK_ID_IPC_BITS_OUT_0;
        gVdecModuleContext.ipcBitsInRTOSId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_IN_0;
    
        gVdecModuleContext.decId = SYSTEM_LINK_ID_VDEC_0;
        gVdecModuleContext.ipcM3OutId = SYSTEM_VIDEO_LINK_ID_IPC_OUT_M3_0;
        gVdecModuleContext.ipcM3InId = SYSTEM_VPSS_LINK_ID_IPC_IN_M3_0;
        gVdisModuleContext.displayId[VDIS_DEV_DVO2] = SYSTEM_LINK_ID_DISPLAY_1 ;	
    
        System_linkDelete(gVdecModuleContext.ipcBitsOutHLOSId);
        System_linkDelete(gVdecModuleContext.ipcBitsInRTOSId);
        System_linkDelete(gVdecModuleContext.decId);    
        System_linkDelete(gVdecModuleContext.ipcM3OutId);
        System_linkDelete(gVdecModuleContext.ipcM3InId);
        //System_linkDelete(gSclrId);
        System_linkDelete(gDeiId);
        System_linkDelete(gVdisModuleContext.displayId[VDIS_DEV_DVO2]); 			
    
        OSA_printf("USECASE TEARDOWN DONE\n");
    }
    
    /* ===================================================================
     *  @func     MultiCh_deleteplaybackApp
     *
     *  @desc     Function does the following
     *
     *  @modif    This function modifies the following structures
     *
     *  @inputs   This function takes the following inputs
     *            <argument name>
     *            Description of usage
     *            <argument name>
     *            Description of usage
     *
     *  @outputs  <argument name>
     *            Description of usage
     *
     *  @return   Return value of this function if any
     *  ==================================================================
     */
    Void MultiCh_deleteplayer()
    {
    
        UInt32 hdNullId;
    
        gVdecModuleContext.ipcBitsOutHLOSId = SYSTEM_HOST_LINK_ID_IPC_BITS_OUT_0;
        gVdecModuleContext.ipcBitsInRTOSId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_IN_0;
        gVdecModuleContext.decId = SYSTEM_LINK_ID_VDEC_0;
    
        hdNullId = SYSTEM_VPSS_LINK_ID_NULL_0;
    
        System_linkDelete(gVdecModuleContext.ipcBitsOutHLOSId);
        System_linkDelete(gVdecModuleContext.ipcBitsInRTOSId);
        System_linkDelete(gVdecModuleContext.decId);
    
        System_linkDelete(hdNullId);
    
        OSA_printf("USECASE TEARDOWN DONE\n");
    }
    
    

  • Hi Anuj,

    Any update for decoder instance for playback???

    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,

    I saw your code and found that you are only scaling only channel 0 not channel 1 and 2 so please scale the other 2 channels also otherwise by default it will take the original values.
    I also didn't find any select,swms link or DISPLAY_LINK_CMD_SWITCH_CH cmd, so i would suggest you to add anyone of them in your usecase.
    Please print the statistics for dei , decoder and display link using System_linkControl api and appropriate params and cmds like DISPLAY_LINK_CMD_PRINT_BUFFER_STATISTICS  for display  and share the logs which will be helpful to find which link is causing the problem.

    Regards
    Anuj

  • Hi Anuj,

    Thanks for your reply.

    To make it work properly, can I do the scaling as below, you mentioned for Ch1 and Ch2

    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].scaleMode = DEI_SCALE_MODE_ABSOLUTE;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].absoluteResolution.outWidth = 720;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].absoluteResolution.outHeight = 480;

    One more question I have.., I tried with two instances from Decoder(FullHD & D1), scaling is done internally by Deinterlacer. No problem with the playback for D1 resolution. It's playing with the video display resolution (720 * 480)

    While creating the third instance (HD) getting failed to playback ???

    I have separate application for DISPLAY_LINK_CMD_SWITCH_CH to switch display channel.

    Kindly let me know !!!
  • Hi Rajesh,

    I hope you are trying to create a single instance of decoder with 3 different channels which is possible if you are setting the right params but if you are trying to create 3 different instances of decoder then thats not possible since we can have a max of 2 instances of decoder.

    As i can see from your code your dei is getting 3 channels (ch0 1920*1080 , ch1 720*480 , ch2 1280*720).so in dei link set the below param like
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].scaleMode = DEI_SCALE_MODE_ABSOLUTE;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].absoluteResolution.outWidth = w0;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].absoluteResolution.outHeight = h0;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][1].scaleMode = DEI_SCALE_MODE_ABSOLUTE;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][1].absoluteResolution.outWidth = w1;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][1].absoluteResolution.outHeight = h1;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][2].scaleMode = DEI_SCALE_MODE_ABSOLUTE;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][2].absoluteResolution.outWidth = w2;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][2].absoluteResolution.outHeight = h2;

    Here w0,w1,w2 and h0,h1,h2 are output width and height after scaling from dei link of the respective 3 channels.

    If you still have some issue then please share the log with the statistics of decoder,dei and display links

    Regards
    Anuj
  • Hi Anuj,

    Thanks for your reply.

    I'll change the source to create one instance of decoder. For ex:- (1920 * 1080).

    If I am trying to set DeiPrm as you mentioned for three channels it will take into the effect ???

    I'll try and update you.

    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,

    Please be specific about the following terms
    1. Instance : If you are creating 2 different decoder with two different linkId then use instance.
    2. Channel : If you are using a single decoder with single linkid which contain 3 channels then use channel.

    Regards,
    Anuj
  • Hi Anuj,

    Thanks for your reply.

    Actually I'm using one decoder.

    For example If I'm creating Single instance for 1920*1080 decoder, how it will be handled for 3 channels internally.

    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].scaleMode = DEI_SCALE_MODE_ABSOLUTE;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].absoluteResolution.outWidth = 720;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].absoluteResolution.outHeight = 480;

    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][1].scaleMode = DEI_SCALE_MODE_ABSOLUTE;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][1].absoluteResolution.outWidth = 720;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][1].absoluteResolution.outHeight = 480;

    I'm trying to play 1280*720 file getting this ERROR

    [m3video] 80532: Assertion @ Line: 1314 in links_m3video/iva_dec/decLink_common.c: status == FVID2_SOK : failed !!!

    What it could be the issue !!! Kindly let me know

    Regards,

    Rajesh Kannan.S
  • Hi Rajesh,

    A decoder link gives output in its output queue and a queue can handle a max of 4 channels. So in this way a single instance of decoder can handle 3 channels internally. Please check "Bitstream_BufList" structure ,each link share data (if its in bits form not in frames.) with another link using this structure and it has a parameter called channelNum.

    So how many channels are you setting for decoder link??
    If you are setting only 1 channel for fullhd not for d1 and hd then dont set dei param for channels 1 or 2 ,it will have only these params(if you are dealing with only 1 channel)
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].scaleMode = DEI_SCALE_MODE_ABSOLUTE;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].absoluteResolution.outWidth = 720;
    DeiPrm.outScaleFactor[DEI_OUT_SUB_STRAMER][0].absoluteResolution.outHeight = 480;

    Why are you setting the same resolution for all channels of dei , if you do that then you will get all 3 output display with 720*480.

    And please share the log while creation of links and also log for the statistics of the links which will give me and my team a clear vision.
    Please print the details of the output buffer of ipcinvpss linkby adding these to your code
    System_LinkInfo bitsProducerLinkInfo;
    System_linkGetInfo(IpcinvpssId,&bitsProducerLinkInfo);
    Replace ipcinvpssId with your linkid for ipcinvpss and print allthe param(like dataformat,startx,starty,scanformat etc) of the structure System_LinkInfo.

    I am using RDKv3.8 so i am not able to find the assertion error , so please share the function and the line no of that assert respective to starting of the function but it may happen that you are dealing with different no of channels in different link which is causing this error.

    Regards
    Anuj
  • Hi Rajesh,

    Can you able to playback your stream??

    Regards,
    Anuj