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.

Decoder Sync Problem

Hi

 We have been doing project using McFW. But we meet some problem at using vdec module in McFW.

 

Our test process is like bellow...

 

1. Get one frame data in some where stored.

2. Get EmptyBuffer from vdec module using API Vdec_requestBitstreamBuffer()

3. Fill EmptyBuffer with frame data

4. Send Buffer to vdec module by call  Vdec_putBitstreamBuffer()

 

Problem is that when we try to excute process with any delay each frame we get Error Message from vdec module like follow

=================================================================================================

[m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[0],FirstPTS[0]  

[m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1

[m3video] 153936:DECLINK::links_m3video/iva_dec/decLink_h264.c:[376]::INTERNAL ERROR:-1

[m3video] ALGPROCESS FAILED:STATUS  [m3video] outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x2000a00

[m3video] Sequence called number 50  

[m3video] 157224:DECLINK::links_m3video/iva_dec/decLink_h264.c:[376]::INTERNAL ERROR:-1  

[m3video] ALGPROCESS FAILED:STATUS  

[m3video] outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x1021

[m3video] Sequence called number 131

[m3video] 180438:DECLINK::links_m3video/iva_dec/decLink_h264.c:[376]::INTERNAL ERROR:-1  

[m3video] ALGPROCESS FAILED:STATUS  

[m3video] outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x102

[m3video] Sequence called number 377

================================================================================================

 

So we deal with the problem by put some delay ( use sleep() ...etc) in each frame decoding process.

Then we get Error Message any more. But we think that is is an hoc procedure.

 

So now we have some question.

1. What is the correct reason that happened above problem and Debug Error Message?

2. Is there any way check decoder state that we decide whether frame data send to decoder or not?

3. How we control decoding speed and display speed? ( in McFW or DeLink)

 

I hope replay !

 

 

  • Delaying frames will not cause decode errors. If you are getting frames from network it may be dropping frames due to buffer becoming full. All error codes indicate corrupted bitstream which means application is feeding corrupted/incomplete bitstream. Where exactly are you adding the delay >

     

    Jae Kwon Lee1 said:
    2. Is there any way check decoder state that we decide whether frame data send to decoder or not?

    Which RDK release are you using ? You can use Vdec_getBufferStatistics to get number of output buffers in decLink but it indicates the number of free output buffers which will depend on number of reference buffers in the stream and doesn't indicate  if decoding is complete.

     

    Jae Kwon Lee1 said:
    3. How we control decoding speed and display speed? ( in McFW or DeLink)

    DVR RDK supports AVSYNC functionality in SwMs link. If you set correct timestamp in the frame and enable AVSYNC , Avsync will correctly control the display rate.