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.

DM385: CAPTURE: Dequeued frame more than once

Part Number: DM385

Hi Everyone,

I've recently had success getting capture working on our DM385 platform. We're using an ADV7280 with a NTSC camera connected to VIP0 PortA. The ADV7280 is outputting progressive frames at 60 fps.

I've created a usecase that is essentially doing the following:

                       NullSrc(VPSS)                       CAPTURE(VPSS)
                       (1920x1080)                             (D1)
                            |                                   |
                            |                                   |
                            |                                   |
                            |                                   |
                            |                                   |
                           DUP--------                          |
                            |        |                          |
                            |        |                          |
                            |     Resize                        |
                            |        |                          |
                            |        |                          |
                          MERGE ------ <------------------------|
                            |
                          SW OSD
                            |
                         ENCODER
                            |
                            |
                        Out To A8

Capture is outputting frames at 60 FPS and NullSrc is outputting data at 30 FPS. We are duplicating the NullSrc's 1080p frames and scaling them down to a lower resolution before merging all three streams back together.

I've noticed that I am receiving the following printout from the capture driver:

[m3vpss ]  10383: CAPTURE: Dequeued frame more than once (0,0, b1ceac80)

From what I can see, there's a reserved pointer in the pFrame field that is incremented or decremented when it is handled. Upon processing the data in CaptureLink_drvProcessData, this value is retrieved and if it's greater than 0, the above message is printed.

There's a couple strange things I'm seeing with this however. It appears that the pointer is just cast to a uint32 value and incremented, not the data pointed to by the pointer. It also looks like the pointer might be initialized to NULL and never has an address assigned to it. Another oddity is that I added a print of the value to the "Dequeued frame more than once" message and it appears that the value that is being manipulated is a very odd value that seems to change whenever I run the program. It makes me think that this value is never initialized to begin with. For example, here is the output from the last time I ran the program:

 [host]  0: SYSTEM: System Common Init in progress !!!

 [host]  1: SYSTEM: IPC init in progress !!!

 [host]  37: SYSTEM: CPU [DSP] is NOT available on this platform !!!

 [host]  37: SYSTEM: CPU [VIDEO-M3] syslink proc ID is [0] !!!

 [host]  37: SYSTEM: CPU [VPSS-M3] syslink proc ID is [1] !!!

 [host]  37: SYSTEM: CPU [HOST] syslink proc ID is [2] !!!

 [host]  38: SYSTEM: Opening MsgQ Heap [IPC_MSGQ_MSG_HEAP] ...

 [host]  42: SYSTEM: Creating MsgQ [HOST_MSGQ] ...

 [host]  44: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ...

 [host]  45: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...

 [host]  48: SYSTEM: Notify register to [VPSS-M3] line 0, event 10 ...

 [host]  49: SYSTEM: IPC init DONE !!!

 [host]  55: SYSTEM: Creating ListMP [HOST_IPC_OUT_30] in region 0 ...

 [host]  56: SYSTEM: Creating ListMP [HOST_IPC_IN_30] in region 0 ...

 [host]  57: SYSTEM: ListElem Shared Addr = 0x45b1d080

 [host]  58: SYSTEM: Creating ListMP [HOST_IPC_OUT_31] in region 0 ...

 [host]  60: SYSTEM: Creating ListMP [HOST_IPC_IN_31] in region 0 ...

 [host]  61: SYSTEM: ListElem Shared Addr = 0x45b39c00

 [host]  64: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ...

 [host]  66: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ...

 [host]  68: SYSTEM: ListElem Shared Addr = 0x45b56780

 [host]  69: SYSTEM: Creating ListMP [HOST_IPC_OUT_26] in region 0 ...

 [host]  70: SYSTEM: Creating ListMP [HOST_IPC_IN_26] in region 0 ...

 [host]  71: SYSTEM: ListElem Shared Addr = 0x45b76180

 [host]  72: SYSTEM: Creating ListMP [HOST_IPC_OUT_27] in region 0 ...

 [host]  74: SYSTEM: Creating ListMP [HOST_IPC_IN_27] in region 0 ...

 [host]  75: SYSTEM: ListElem Shared Addr = 0x45b95b80

 [host]  76: SYSTEM: System Common Init Done !!!

 [host] Use Case++

 [host]
********* Entered Capture -> Encode -> Out (A8) ********

 [host]
********* Entered Null Src -> Encode -> Out (A8) ********

 [host] ############# CREATE CAPTURE LINK #################
 [m3vpss ] ################# Tsk Main Start
 [m3vpss ] ################# Tsk Main Create
 [m3vpss ]  8074: CAPTURE: Create in progress !!!
 [m3vpss ] FVID2_create() - drvId=0x100
 [m3vpss ]  8119: CAPTURE: VIP0 PortA capture mode is [ 8-bit, Non-mux Embedded Sync] !!!
 [m3vpss ] FVID2_create() - drvId=0x100
 [m3vpss ] CAPTURE:Create args numBufsPerCh[20] > max[10]Overriding create args

 [host] ############# CREATED CAPTURE LINK #################
 [m3vpss ] System_getVidDecI2cAddr
 [m3vpss ] Vps_platformGetVidDecI2cAddr
 [m3vpss ] FVID2_create() - drvId=0x412
 [m3vpss ] #### Vps_dummyCreate Called
 [m3vpss ] #### I2C Device Address is 0x8E524D4C ,vidDecCreateArgs->deviceI2cInstId = 0x2 ####
 [m3vpss ] Vps_lvds_ds90ub91xCreate() - done !!
 [m3vpss ]  8170: CAPTURE: VIP 0: VID DEC 1042 (0x7e): 0000:8ee862ac:0000, AUD_STATUS -9
 [m3vpss ] CAPTURE::HEAPID:0    USED:280
 [m3vpss ]  8171: CAPTURE: Create Done !!!
 [m3vpss ] ################# Tsk Main Configure Video Decoder
 [m3vpss ]  8172: NULL_SRC: Create in progress !!!
 [m3vpss ]  8225: NULL_SRC: Create Done !!!
 [m3vpss ]  8233: DUP   : Create Done !!!
 [m3vpss ]  8234: SCLR: Create in progress !!!
 [m3vpss ] FVID2_create() - drvId=0x201
 [m3vpss ]  8242: SCLR    : Loading Up-scaling Co-effs ...
 [m3vpss ]  8242: SCLR    : Co-effs Loading ... DONE !!!
 [m3vpss ] SCLR:HEAPID:0        USED:64
 [m3vpss ] SCLR:HEAPID:1        USED:5952
 [m3vpss ]  8243: SCLR: Create Done !!!
 [m3vpss ]  8245: MERGE   : Create Done !!!
 [m3vpss ] prevLinkQueId = 0, numQue = 1
 [m3vpss ] [SWOSD] SWOSD_imxCreate for stream 0
 [m3vpss ] {SWOSD} edma3Handle->tccVal = 36
 [m3vpss ] {SWOSD} edma3Handle->chId   = 36
 [m3vpss ] [SWOSD] SWOSD_imxCreate for stream 1
 [m3vpss ] {SWOSD} edma3Handle->tccVal = 37
 [m3vpss ] {SWOSD} edma3Handle->chId   = 37
 [m3vpss ] [SWOSD] SWOSD_imxCreate for stream 2
 [m3vpss ] {SWOSD} edma3Handle->tccVal = 38
 [m3vpss ] {SWOSD} edma3Handle->chId   = 38
 [m3vpss ]  8227: SWOSD   : Create Done !!!
 [m3vpss ]  8314: ENCODE: Create in progress ... !!!
 [m3vpss ]  8403: ENCODE: Creating CH0 of 1920 x 1080, pitch = (1920, 1920) [PROGRESSIVE] [NON-TILED  ], bitrate = 4000 Kbps, I-P Interval 1...
 [m3vpss ] rc[VBR] inter[I-P] init i,p[-1,-1] max bip[35/40/40] min bip[10/10/10]
 [m3vpss ] ENCLINK_H264:HEAPID:0        USED:13272
 [m3vpss ]  8468: ENCODE: Creating CH1 of 320 x 240, pitch = (320, 320) [PROGRESSIVE] [NON-TILED  ], bitrate = 500 Kbps, I-P Interval 1...
 [m3vpss ] rc[VBR] inter[I-P] init i,p[-1,-1] max bip[35/40/40] min bip[10/10/10]

 [host] IpcBitsInLink_tskMain:Entered
 [host]  509: IPC_BITS_IN   : Create in progress !!!

 [host]  509: IPC_BITS_IN   : ListMPOpen start !!!

 [host]  509: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_30] ...

 [host]  511: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_30] ...

 [host]  512: IPC_BITS_IN   : ListMPOpen done !!!

 [host]  513: IPC_BITS_IN   : System_linkGetInfo done !!!

 [host]  513: IPC_BITS_IN   : Create Done !!!

 [m3vpss ] ENCLINK_H264:HEAPID:0        USED:11720
 [m3vpss ]  8475: ENCODE: Creating CH2 of 720 x 480, pitch = (736, 736) [PROGRESSIVE] [NON-TILED  ], bitrate = 1000 Kbps, I-P Interval 1...
 [m3vpss ] rc[VBR] inter[I-P] init i,p[-1,-1] max bip[35/40/40] min bip[10/10/10]
 [m3vpss ] ENCLINK_H264:HEAPID:0        USED:11720
 [m3vpss ]  8491: ENCODE: All CH Create ... DONE !!!
 [m3vpss ] ENCLINK:HEAPID:0     USED:36880
 [m3vpss ]  8495: ENCODE: Create ... DONE !!!
 [m3vpss ]  8495: IPC_BITS_OUT   : Create in progress !!!
 [m3vpss ]  8499: IPC_BITS_OUT   : Create Done !!!
 [m3vpss ] ################# Tsk Main Cmd: 00000001
 [m3vpss ] ################# Tsk Main Start!!!!!!!!!!!!!!!!!!!!
 [m3vpss ]  8507: CAPTURE: Start in progress !!!
 [m3vpss ]  8508: CAPTURE: Start Done !!!
 [m3vpss ] ################# Tsk Main Run!!!!!!!!!!!!!
 [m3vpss ]  8527: NULL_SRC: Start Done !!!
 [m3vpss ]  8542: CAPTURE: Fields = 0 (fps = 0), Total Resets = 0 (Avg 0 ms per reset)
 [m3vpss ] Capture Frame Count: 0. 720x480
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  Channel:0 inputframerate:30 targetfps:30
 [m3vpss ]  Channel:1 inputframerate:30 targetfps:30
 [m3vpss ] CAPTURE: Inter Frame Interval  = 0 msec
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  Channel:2 inputframerate:60 targetfps:60
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  8815: CAPTURE: Dequeued frame more than once (0,0, b1ac2c80) tmpValue: 8655
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  8831: CAPTURE: Dequeued frame more than once (0,0, b1b4cc80) tmpValue: 8670
 [m3vpss ]  8847: CAPTURE: Dequeued frame more than once (0,0, b1bd6c80) tmpValue: 8687
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  8863: CAPTURE: Dequeued frame more than once (0,0, b1c60c80) tmpValue: 8703
 [m3vpss ]  8879: CAPTURE: Dequeued frame more than once (0,0, b1ceac80) tmpValue: 8719
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  8895: CAPTURE: Dequeued frame more than once (0,0, b1810c80) tmpValue: 8734
Host has received 1 encoded frame from capture

 [m3vpss ]  8911: CAPTURE: Dequeued frame more than once (0,0, b189ac80) tmpValue: 8751
Host has received 1 encoded frame from capture

 [m3vpss ]  8927: CAPTURE: Dequeued frame more than once (0,0, b1924c80) tmpValue: 8766
 [m3vpss ]  8943: CAPTURE: Dequeued frame more than once (0,0, b19aec80) tmpValue: 8783
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  8975: CAPTURE: Dequeued frame more than once (0,0, b1a38c80) tmpValue: 8798
Host has received 1 encoded frame from capture

 [m3vpss ]  8991: CAPTURE: Dequeued frame more than once (0,0, b1ac2c80) tmpValue: 8815
 [m3vpss ]  9007: CAPTURE: Dequeued frame more than once (0,0, b1b4cc80) tmpValue: 8831
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9023: CAPTURE: Dequeued frame more than once (0,0, b1bd6c80) tmpValue: 8847
 [m3vpss ]  9039: CAPTURE: Dequeued frame more than once (0,0, b1c60c80) tmpValue: 8863
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9055: CAPTURE: Dequeued frame more than once (0,0, b1ceac80) tmpValue: 8880
 [m3vpss ]  9071: CAPTURE: Dequeued frame more than once (0,0, b1810c80) tmpValue: 8895
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9087: CAPTURE: Dequeued frame more than once (0,0, b189ac80) tmpValue: 8912
Host has received 1 encoded frame from capture

 [m3vpss ]  9103: CAPTURE: Dequeued frame more than once (0,0, b1924c80) tmpValue: 8927
Host has received 1 encoded frame from capture

 [m3vpss ]  9119: CAPTURE: Dequeued frame more than once (0,0, b19aec80) tmpValue: 8943
Host has received 1 encoded frame from capture

 [m3vpss ]  9135: CAPTURE: Dequeued frame more than once (0,0, b1a38c80) tmpValue: 8975
Host has received 1 encoded frame from capture

 [m3vpss ]  9151: CAPTURE: Dequeued frame more than once (0,0, b1ac2c80) tmpValue: 8991
Host has received 1 encoded frame from capture

 [m3vpss ]  9167: CAPTURE: Dequeued frame more than once (0,0, b1b4cc80) tmpValue: 9007
 [m3vpss ]  9183: CAPTURE: Dequeued frame more than once (0,0, b1bd6c80) tmpValue: 9024
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9199: CAPTURE: Dequeued frame more than once (0,0, b1c60c80) tmpValue: 9039
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9215: CAPTURE: Dequeued frame more than once (0,0, b1ceac80) tmpValue: 9056
 [m3vpss ]  9231: CAPTURE: Dequeued frame more than once (0,0, b1810c80) tmpValue: 9071
Host has received 1 encoded frame from capture

 [m3vpss ]  9247: CAPTURE: Dequeued frame more than once (0,0, b189ac80) tmpValue: 9087
Host has received 1 encoded frame from capture

 [m3vpss ]  9263: CAPTURE: Dequeued frame more than once (0,0, b1924c80) tmpValue: 9103
Host has received 1 encoded frame from capture

 [m3vpss ]  9279: CAPTURE: Dequeued frame more than once (0,0, b19aec80) tmpValue: 9119
Host has received 1 encoded frame from capture

 [m3vpss ]  9295: CAPTURE: Dequeued frame more than once (0,0, b1a38c80) tmpValue: 9135
Host has received 1 encoded frame from capture

 [m3vpss ]  9311: CAPTURE: Dequeued frame more than once (0,0, b1ac2c80) tmpValue: 9151
Host has received 1 encoded frame from capture

 [m3vpss ]  9327: CAPTURE: Dequeued frame more than once (0,0, b1b4cc80) tmpValue: 9167
Host has received 1 encoded frame from capture

 [m3vpss ]  9359: CAPTURE: Dequeued frame more than once (0,0, b1bd6c80) tmpValue: 9183
 [m3vpss ]  9375: CAPTURE: Dequeued frame more than once (0,0, b1c60c80) tmpValue: 9199
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9391: CAPTURE: Dequeued frame more than once (0,0, b1ceac80) tmpValue: 9215
 [m3vpss ]  9407: CAPTURE: Dequeued frame more than once (0,0, b1810c80) tmpValue: 9231
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9423: CAPTURE: Dequeued frame more than once (0,0, b189ac80) tmpValue: 9247
Host has received 1 encoded frame from capture

 [m3vpss ]  9438: CAPTURE: Dequeued frame more than once (0,0, b1924c80) tmpValue: 9263
Host has received 1 encoded frame from capture

 [m3vpss ]  9455: CAPTURE: Dequeued frame more than once (0,0, b19aec80) tmpValue: 9280
 [m3vpss ]  9471: CAPTURE: Dequeued frame more than once (0,0, b1a38c80) tmpValue: 9295
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9487: CAPTURE: Dequeued frame more than once (0,0, b1ac2c80) tmpValue: 9311
 [m3vpss ]  9503: CAPTURE: Dequeued frame more than once (0,0, b1b4cc80) tmpValue: 9327
Host has received 1 encoded frame from capture

 [m3vpss ]  9519: CAPTURE: Dequeued frame more than once (0,0, b1bd6c80) tmpValue: 9359
Host has received 1 encoded frame from capture

 [m3vpss ]  9535: CAPTURE: Dequeued frame more than once (0,0, b1c60c80) tmpValue: 9375
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9551: CAPTURE: Dequeued frame more than once (0,0, b1ceac80) tmpValue: 9391
 [m3vpss ]  9567: CAPTURE: Dequeued frame more than once (0,0, b1810c80) tmpValue: 9408
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9583: CAPTURE: Dequeued frame more than once (0,0, b189ac80) tmpValue: 9423
 [m3vpss ]  9599: CAPTURE: Dequeued frame more than once (0,0, b1924c80) tmpValue: 9440
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9615: CAPTURE: Dequeued frame more than once (0,0, b19aec80) tmpValue: 9455
Host has received 1 encoded frame from capture

 [m3vpss ]  9631: CAPTURE: Dequeued frame more than once (0,0, b1a38c80) tmpValue: 9471
Host has received 1 encoded frame from capture

 [m3vpss ]  9647: CAPTURE: Dequeued frame more than once (0,0, b1ac2c80) tmpValue: 9487
Host has received 1 encoded frame from capture

 [m3vpss ]  9663: CAPTURE: Dequeued frame more than once (0,0, b1b4cc80) tmpValue: 9503
Host has received 1 encoded frame from capture

 [m3vpss ]  9679: CAPTURE: Dequeued frame more than once (0,0, b1bd6c80) tmpValue: 9519
Host has received 1 encoded frame from capture

 [m3vpss ]  9695: CAPTURE: Dequeued frame more than once (0,0, b1c60c80) tmpValue: 9535
 [m3vpss ]  9711: CAPTURE: Dequeued frame more than once (0,0, b1ceac80) tmpValue: 9552
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9727: CAPTURE: Dequeued frame more than once (0,0, b1810c80) tmpValue: 9567
Host has received 1 encoded frame from capture

 [m3vpss ]  9759: CAPTURE: Dequeued frame more than once (0,0, b189ac80) tmpValue: 9584
Host has received 1 encoded frame from capture

 [m3vpss ]  9775: CAPTURE: Dequeued frame more than once (0,0, b1924c80) tmpValue: 9599
Host has received 1 encoded frame from capture

 [m3vpss ]  9791: CAPTURE: Dequeued frame more than once (0,0, b19aec80) tmpValue: 9615
Host has received 1 encoded frame from capture

 [m3vpss ]  9807: CAPTURE: Dequeued frame more than once (0,0, b1a38c80) tmpValue: 9631
Host has received 1 encoded frame from capture

 [m3vpss ]  9823: CAPTURE: Dequeued frame more than once (0,0, b1ac2c80) tmpValue: 9647
Host has received 1 encoded frame from capture

 [m3vpss ]  9839: CAPTURE: Dequeued frame more than once (0,0, b1b4cc80) tmpValue: 9663
Host has received 1 encoded frame from capture

 [m3vpss ]  9855: CAPTURE: Dequeued frame more than once (0,0, b1bd6c80) tmpValue: 9679
 [m3vpss ]  9871: CAPTURE: Dequeued frame more than once (0,0, b1c60c80) tmpValue: 9695
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9935: CAPTURE: Dequeued frame more than once (0,0, b1924c80) tmpValue: 9775
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  9951: CAPTURE: Dequeued frame more than once (0,0, b19aec80) tmpValue: 9791
Host has received 1 encoded frame from capture

 [m3vpss ]  9967: CAPTURE: Dequeued frame more than once (0,0, b1a38c80) tmpValue: 9808
Host has received 1 encoded frame from capture

 [m3vpss ]  9983: CAPTURE: Dequeued frame more than once (0,0, b1ac2c80) tmpValue: 9823
 [m3vpss ]  9999: CAPTURE: Dequeued frame more than once (0,0, b1b4cc80) tmpValue: 9840
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  10015: CAPTURE: Dequeued frame more than once (0,0, b1bd6c80) tmpValue: 9855
 [m3vpss ]  10031: CAPTURE: Dequeued frame more than once (0,0, b1c60c80) tmpValue: 9871
Host has received 1 encoded frame from capture

 [m3vpss ]  10047: CAPTURE: Dequeued frame more than once (0,0, b1ceac80) tmpValue: 9887
Host has received 1 encoded frame from capture

 [m3vpss ]  10063: CAPTURE: Dequeued frame more than once (0,0, b1810c80) tmpValue: 9903
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  10079: CAPTURE: Dequeued frame more than once (0,0, b189ac80) tmpValue: 9919
 [m3vpss ]  10095: CAPTURE: Dequeued frame more than once (0,0, b1924c80) tmpValue: 9936
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  10111: CAPTURE: Dequeued frame more than once (0,0, b19aec80) tmpValue: 9951
Host has received 1 encoded frame from capture

 [m3vpss ]  10143: CAPTURE: Dequeued frame more than once (0,0, b1a38c80) tmpValue: 9968
Host has received 1 encoded frame from capture

 [m3vpss ]  10159: CAPTURE: Dequeued frame more than once (0,0, b1ac2c80) tmpValue: 9983
Host has received 1 encoded frame from capture

 [m3vpss ]  10175: CAPTURE: Dequeued frame more than once (0,0, b1b4cc80) tmpValue: 9999
Host has received 1 encoded frame from capture

 [m3vpss ]  10191: CAPTURE: Dequeued frame more than once (0,0, b1bd6c80) tmpValue: 10015
Host has received 1 encoded frame from capture

 [m3vpss ]  10207: CAPTURE: Dequeued frame more than once (0,0, b1c60c80) tmpValue: 10031
Host has received 1 encoded frame from capture

 [m3vpss ]  10223: CAPTURE: Dequeued frame more than once (0,0, b1ceac80) tmpValue: 10047
 [m3vpss ]  10239: CAPTURE: Dequeued frame more than once (0,0, b1810c80) tmpValue: 10063
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  10255: CAPTURE: Dequeued frame more than once (0,0, b189ac80) tmpValue: 10080
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  10271: CAPTURE: Dequeued frame more than once (0,0, b1924c80) tmpValue: 10095
 [m3vpss ]  10287: CAPTURE: Dequeued frame more than once (0,0, b19aec80) tmpValue: 10112
Host has received 1 encoded frame from capture

 [m3vpss ]  10303: CAPTURE: Dequeued frame more than once (0,0, b1a38c80) tmpValue: 10143
Host has received 1 encoded frame from capture

 [m3vpss ]  10319: CAPTURE: Dequeued frame more than once (0,0, b1ac2c80) tmpValue: 10159
Host has received 1 encoded frame from capture

 [m3vpss ]  10335: CAPTURE: Dequeued frame more than once (0,0, b1b4cc80) tmpValue: 10175
Host has received 1 encoded frame from capture

 [m3vpss ]  10351: CAPTURE: Dequeued frame more than once (0,0, b1bd6c80) tmpValue: 10191
Host has received 1 encoded frame from capture

 [m3vpss ]  10367: CAPTURE: Dequeued frame more than once (0,0, b1c60c80) tmpValue: 10207
Host has received 1 encoded frame from capture

 [m3vpss ]  10383: CAPTURE: Dequeued frame more than once (0,0, b1ceac80) tmpValue: 10223
 [m3vpss ]  10399: CAPTURE: Dequeued frame more than once (0,0, b1810c80) tmpValue: 10239
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  10415: CAPTURE: Dequeued frame more than once (0,0, b189ac80) tmpValue: 10255
 [m3vpss ]  10431: CAPTURE: Dequeued frame more than once (0,0, b1924c80) tmpValue: 10271
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  10447: CAPTURE: Dequeued frame more than once (0,0, b19aec80) tmpValue: 10287
 [m3vpss ]  10463: CAPTURE: Dequeued frame more than once (0,0, b1a38c80) tmpValue: 10303
Host has received 1 encoded frame from capture

Host has received 1 encoded frame from capture

 [m3vpss ]  10479: CAPTURE: Dequeued frame more than once (0,0, b1ac2c80) tmpValue: 10319
Host has received 1 encoded frame from capture

 [m3vpss ]  10495: CAPTURE: Dequeued frame more than once (0,0, b1b4cc80) tmpValue: 10336
Host has received 1 encoded frame from capture

 [m3vpss ]  10511: CAPTURE: Dequeued frame more than once (0,0, b1bd6c80) tmpValue: 10351
Host has received 1 encoded frame from capture

 [m3vpss ]  10530: CAPTURE: Stop in progress !!!
 [m3vpss ]  10530: CAPTURE: Stop Done !!!
 [m3vpss ]  10531: NULL_SRC: Stop Done !!!
 [m3vpss ]  10533: ENCODE: CH-1:
 [m3vpss ] Stop in progress !!!
 [m3vpss ]  10539: ENCODE: CH-1:
 [m3vpss ] Stop done !!!


 [host] Date time task deleted

 [host] Stopping all links...
 [m3vpss ] ################# Tsk Main Cmd: 00000002
 [m3vpss ]  11541: SCLR    : Stop in progress, 0 requests pending !!!
 [m3vpss ]  11542: SCLR    : Stop Done !!!

 [host] Stopping all links finished

 [host] Deleting all links...
 [m3vpss ]  11543: ENCODE: CH-1:
 [m3vpss ] Stop in progress !!!
 [m3vpss ]  11543: ENCODE: CH-1:
 [m3vpss ] Stop done !!!
 [m3vpss ] ################# Tsk Main Cmd: 00000003
 [m3vpss ]
 [m3vpss ]  *** Capture Driver Advanced Statistics ***

 [host] 3583: IPCBITSIN:Link[30000020]:
 [host] RECV:238        FREE:238,DROPPED:0,AVGLATENCY:1,AVG_APP_CB_TIME:0
 [host]  3583: IPC_BITS_IN   : Delete in progress !!!

 [host]  3584: IPC_BITS_IN   : Delete Done !!!

 [host] Deleting all finished

 [host]  3587: SYSTEM: System Common De-Init in progress !!!

 [host] OSA_tskDelete:In progress...
 [host] OSA_tskDelete:In progress...
 [host] OSA_tskDelete:In progress...
 [host] OSA_tskDelete:In progress...
 [host] OSA_tskDelete:In progress... [m3vpss ]

 [host] OSA_tskDelete:In progress...
 [host] OSA_tskDelete:In progress...
 [host] OSA_tskDelete:In progress...
 [host] OSA_tskDelete:In progress...
 [host] OSA_tskDelete:In progress...
 [host] OSA_tskDelete:In progress...
 [host]  3596: SYSTEM: IPC de-init in progress !!!
 [m3vpss ]  VIP Parser Reset Count : 0
 [m3vpss ]
 [m3vpss ]      |   Total    Even     Odd  Total  Even   Odd  Min /  Max  Min /  Max Dropped Fid Repeat Frame Error Y/C

 [host]  3631: SYSTEM: IPC de-init DONE !!!

 [host]  3631: SYSTEM: System Common De-Init Done !!!
 [m3vpss ]  CH  |  Fields  Fields  Fields    FPS   FPS   FPS       Width      Height  Fields      Count (Desc Error Y/C)
 [m3vpss ]  ------------------------------------------------------------------------------------------------------------
 [m3vpss ]  000 |     119     119       0     59    59     0  720 /  720  507 /  507       1          0 0/0 (0/0)
 [m3vpss ]
 [m3vpss ]  VIP Capture Port 0 | DescMissMatch1 = 0, DescMissMatch2 = 0 , DescMissMatch3 = 0
 [m3vpss ]
 [m3vpss ]  *** Capture List Manager Advanced Statistics ***
 [m3vpss ]
 [m3vpss ]  List Post Count        : 251
 [m3vpss ]  List Stall Count       : 0
 [m3vpss ]  List Post Time (ms)    : Max = 0, Min = 0, Avg = 0, Total = 0
 [m3vpss ]  INTC Timeout Count     : (0, 0) (Min timeout value = 993, 1000)
 [m3vpss ]  Descriptor miss found count : 0
 [m3vpss ]
 [m3vpss ]
 [m3vpss ]  VIP and VPDMA registers,
 [m3vpss ]  VIP0 : FIQ_STATUS  : 0x4810551c = 0x00000000
 [m3vpss ]  VIP1 : FIQ_STATUS  : 0x48105a1c = 0x00000000
 [m3vpss ]  VPDMA: LIST_BUSY   : 0x4810d00c = 0x00000000
 [m3vpss ]
 [m3vpss ]
 [m3vpss ]  11550: CAPTURE: Fields = 118 (fps = 58, CPU Load = 26)
 [m3vpss ]  11551: CAPTURE: Num Resets = 0 (Avg 0 ms per reset)
 [m3vpss ]  11551: SYSTEM  : FREE SPACE : System Heap      = 3954632 B, Mbx = 10237 msgs)
 [m3vpss ]  11551: SYSTEM  : FREE SPACE : SR0 Heap         = 14975104 B (14 MB)
 [m3vpss ]  11552: SYSTEM  : FREE SPACE : Frame Buffer     = 197288448 B (188 MB)
 [m3vpss ]  11552: SYSTEM  : FREE SPACE : Bitstream Buffer = 42051456 B (40 MB)
 [m3vpss ]  11553: SYSTEM  : FREE SPACE : Tiler Buffer     = 15 B (0 MB)  - TILER OFF
 [m3vpss ]  11553: CAPTURE: Delete in progress !!!
 [m3vpss ] Vps_lvds_ds90ub91xDelete() - done !!
 [m3vpss ]  11554: CAPTURE: Delete Done !!!
 [m3vpss ]  11554: NULL_SRC: Delete in progress !!!
 [m3vpss ]  11555: NULL_SRC: Delete Done !!!
 [m3vpss ]  11555: DUP   : Delete Done !!!
 [m3vpss ]  11556: SCLR    : Stop in progress, 0 requests pending !!!
 [m3vpss ]  11556: SCLR    : Stop Done !!!
 [m3vpss ]  11556: SCLR    : Fields = 60 (fps = 90), FRAMES -> Total 60, skipped 0, fps = 90!!!
 [m3vpss ]  11557: SCLR: Delete in progress !!!
 [m3vpss ]  11557: SCLR: Delete Done !!!
 [m3vpss ]  11558: MERGE   : Delete Done !!!
 [m3vpss ]  11479: SWOSD   : Delete Done !!!
 [m3vpss ]  11566: ENCODE: CH-1:
 [m3vpss ] Stop in progress !!!


 [m3vpss ]  11567: ENCODE: CH-1:
 [m3vpss ] Stop done !!!



 [m3vpss ]  11567: ENCODE: CH-1:
 [m3vpss ]  ENC    : Delete in progress !!!
 [m3vpss ] MemoryLeak:STAGE:0   HEAPNUM:0       ALLOC=13272     FREED=11720
 [m3vpss ]  11569: ENCODE: CH0: FrameNum :       60, Processed Frames :       55, Total Process Time :     1307, Total Frame Interval:     1815, Dropped Frames:        0, FPS:       60 (Required FPS:       30)
 [m3vpss ]  11570: ENCODE: CH1: FrameNum :       60, Processed Frames :       55, Total Process Time :     1011, Total Frame Interval:     1814, Dropped Frames:        0, FPS:       60 (Required FPS:       30)
 [m3vpss ] MemoryLeak:STAGE:0   HEAPNUM:0       ALLOC=11720     FREED=13272
 [m3vpss ]  11573: ENCODE: CH2: FrameNum :      118, Processed Frames :      113, Total Process Time :     1660, Total Frame Interval:     1873, Dropped Frames:        0, FPS:      118 (Required FPS:       60)
 [m3vpss ] Motion Detect Task Exit Completed


 [m3vpss ]  11575: ENCODE: CH-1:
 [m3vpss ]  ENC    : Delete done !!!
 [m3vpss ]  11576: IPC_BITS_OUT   : Delete in progress !!!
 [m3vpss ] 11576: IPCBITSOUT:Link[2000001e]:
 [m3vpss ] RECV:238     FREE:237,DROPPED:0,AVGLATENCY:9
 [m3vpss ]  11577: PRF : IPC_BITS_OUT0 : t: 15 ms, c: 201, f: 238, fps: 15866, fpc: 1
 [m3vpss ]  11577: IPC_BITS_OUT   : Delete Done !!!
 [m3vpss ]
 [m3vpss ]  11578: LOAD: CPU: 29.1% HWI: 1.1%, SWI:1.3%
 [m3vpss ]

As you can see, the reserved value (tmpValue in the print out) is around:  8703

However on other runs it's a much different, for example, I just ran it again and the values are around 1730751. This leads me to believe that the reserved pointer is never initialized. Also what is interesting is that it seems like the host always receive at 14 encoded frames from the VPSS before this issue shows up (The print out of "Host has received 1 encoded frame from capture" indicates a received frame by the A8 host). 

The recorded video all appears to be correct and I don't think I'm missing any data, however, the video appears to play back in slow motion. I'm not sure if that's related to the 60FPS capture and not yet converting to 30FPS.

So my questions are:

1. Why am I receiving that print, is it an issue with my setup or is there a bug in the mcfw code with the reserved pointer?

2. What is the best way of converting the 60FPS capture to 30FPS? Should I do this in the encoder (where it appears it has an inputFrameRate and a targetFrameRate value) or is there a way to do this earlier?

3. Is the "slow motion" appearance of my recorded video a result of treating 60FPS capture as a 30FPS encoding? If so, I assume this would go away when I reduce the frame rate down to 30.

Thanks!

  • As a test, I connected the Capture directly to a NULL link. This combination did not give the same "CAPTURE: Dequeued frame more than once" printout. Any ideas what this might mean? 

  • Answered my own questions again, I think:

    1. Why am I receiving that print, is it an issue with my setup or is there a bug in the mcfw code with the reserved pointer?

    I think this is a bug with how the dequeue counter is implemented, but I'm still not really sure why it seems to get corrupted.To validate, I added a print  to every enqueue and dequeue operation  that output info about the buffer and manually verified that each frame was only being dequeued once. Unless there is another place in code where these buffers are being dequeued, I think this shows that they are being handled correctly.

    To fix the print, I modified the FVID2_Frame type to add a dedicated dequeue count. Then, I made sure to initialize the dequeue count in the locations where the reserved pointer is initialized to NULL, and updated the checks to use the new dequeue count. This has made the print stop happening, the dequeue count is now always the correct value after an operation.

    If this is not the correct way to fix this issue, please let me know.

    I've ran the program for several hours without issues.

    2. What is the best way of converting the 60FPS capture to 30FPS? Should I do this in the encoder (where it appears it has an inputFrameRate and a targetFrameRate value) or is there a way to do this earlier?

    Easier than I thought, however a bit obscure. In the capture out parameters, there is a frameSkipMask. Setting this to 0xAAAAAAAA will cause capture to drop every other frame.

    3. Is the "slow motion" appearance of my recorded video a result of treating 60FPS capture as a 30FPS encoding? If so, I assume this would go away when I reduce the frame rate down to 30.

    Yep, this was fixed when I set the frameSkipMask.

  • Hello Mikael Nelson
    Recently,I was busy debugging this problem that DM385 is still printing CAPTURE: Dequeued frame more than once .Maybe our problem have some difference.I found when we captured one video and enc one video,DM385 would print CAPTURE: Dequeued frame more than once frequently.But when we capture one video and enc two video,DM385 would not print CAPTURE: Dequeued frame more than once any more.
    I donnot know whether you try to capture one and enc one.
  • In our setup we were capturing once and encoding three videos actually (encoding the capture once and encoding two other independent streams). I'm not sure if it's the right answer, however if you try out the steps I outlined above, it might take care of your problem. We've been running the capture with these modifications for a week now and it seems like we're not having any issues with them.

  • Hi,Mikael Nelson
    I don't understand what you have said. My basic knowledge about video & audio is not enough to comprehend this case.
    Can you give me a glimpse of your code. I donnot how to sovle this problem .
    Thank you.