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.

Linux/DRA746: how to retrieve pts of output video frame?

Part Number: DRA746

Tool/software: Linux

since the order/sequence of decoded/output video frame isn't identical to the order/sequence of input frame, (because of B frame)

usually we send pts with input frame, and retrieve the pts back on output frame.

however, I don't find the method in libdce interface. could anyone tell me how to retrieve pts of output frame for libdce?

thanks.

  • Hi Halley,
    PTS information can not be managed at libdce/dce level. It will have to be managed at OMX or similar framework level.
    To identify which frame is fed to decoder and which frame is output , inputID and outputID will be used.
    decoder's inArgs has inputID which is unique and decoder after decoding a frame outputs one outputID which depends on the frame order.
    If there is no B frame, outputID returned and inputID fed will be same.

    Refer H264 or any other decoder's userGuide to get info on inputID , outputID and freeBufID.

    Ramprasad
  • thanks,
    libdce treats inputID/outputID as opaque index/handle, and will not touch the data behind it.
    client can retrieve anything by this handle.

    take omapdrmtest/util/util.h struct buffer { ...} as example, I can add a "int64_t pts;"; then assign input data pts to it.
    buf->pts = pts;
    inArgs->inputID = (XDAS_Int32)buf;
    so, after the buffer is returned in outputID, i can retrieve the pts directly. right?
  • Hi Halley,
    Yes, upper layer like OMX will use similar method to handle pts from the outputID returned

    Ramprasad