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.

Dm6467 + VDCE taking extra time to close

Other Parts Discussed in Thread: TVP5154

 Hi,

My project is based on DM6467 on Linux Kernel 2.6.18 and using TVP5154.

In my project i am doing multiple instance encoding and using the VDCE for resizing.

If the source is configured to 480i resolution. It is observed that the time taken for stopping the video instance for small resolution (CIF/QCIF) is taking more time then the time taken to stop the video instance with 480i resolution. The call sequence remain almost same for all  the instance expect the call of resizer.

Plz help me.

Gaurav

  • Hi Gaurav,

     

    Closing of driver does not depend on resolution. can you sure "close" api if taking more time in one resolution?

     

    There are some performace issues in VDCE when used for scaling YUV422 images. Can you try with the YUV420 images and see if it still takes more time?

     

    Thanks,

    Brijesh Jadav

  • Hi Brijesh,

    Thanks for quick answer.

    I am using YUV420 images for encoding and with that i am seeing the issue.

    Thanks,

    Gaurav

  • Hi Gaurav,

     

    I still did not get. You are using YUV420 for the encoding but which format are you using in VDCE driver?

     

    Thx,

    Brijesh Jadav

  • Hi Brijesh,

    Camera source is giving the output in YUV422 format and i can not change the input source.

    VDCE module is converting from YUV422 to YUV420 format.

    Thanks,

    Gaurav

  • Hi

    Just to give you a complete use case in which i am getting this error.

    My camera source is configured to D1 resolution with YUV422 format. i am running two instances of video encoding. In the first instance i am encoding with D1 resolution &  YUV420 format and in the second encoding with CIF resolution & YUV420 format. In the use case VDCE is used for format conversion and resizing. One of the sub use case in this use case is to retrieve the captured YUV frame and send the buffer to the user space. The capturing, encoding and VDCE is in the kernel space. To retrieve the buffer in user space i am doing the memory mapping of physical buffer with the virtual buffer during the opening of the instance and doing the memory unmapping during the closing the instance.

    It is observed with the logs that in the case of encoding with D1 resolution the memory un-mapping is taking around 30~45ms but in case of the encoding with CIF resolution the memory unmapping is taking around 900ms. It is also observed that closing of instance is not giving any error.

    Please, help me.

    Thanks,

    Gaurav

  • Hi,

     

    Does this mean it takes more time to unmap CIF buffers than D1 buffers?

     

    Can you take measure the average time to unmap D1 and CIF buffers 1000 times? This is because VDCE driver does not do anything for unmapping buffers. It calls Linux Kernel API to do that. Depending on the other Kernel activities, it may very. I would suggest to get average over 1000 iterations.

     

    Driver always returns success from the close system call.

     

    Thanks,

    Brijesh Jadav