hi TI-friends,
after checking AlgLink_ScdalgProcess() in scdlink_alg.c and scd.h
we just found the luma data, if we need chroma data, how do we get that??
typedef struct
{
...
PTR curFrame;
/** Luma pointer to current frame */
...
} SCD_chPrm;
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.
hi TI-friends,
after checking AlgLink_ScdalgProcess() in scdlink_alg.c and scd.h
we just found the luma data, if we need chroma data, how do we get that??
typedef struct
{
...
PTR curFrame;
/** Luma pointer to current frame */
...
} SCD_chPrm;
Let me give a background before answering your question.
In SCD link, as we have some algorithms that can not process frames at 30FPS * N Channels. We need to have a mechanism wherein we dont block whole video chain otherwise we wont achieve desired 30/25 FPS at each stage of chain.
To make it happen, we have added a provision to copy the frame data to temporary buffers using DMA transfers and release the original frame as soon as possible. This way we dont block critical path of video chain and allow DSP link to work at whatever max FPS possible.You can see, two different threads running in SCD link i.e. main thread (to copy frame etc.) and process link.
Now for your knowledge, the SCD link work on only Luma data hence the DMA copy logic copies only Luma data.
If you want to bring in Chroma data as well, you need to increase the size of temporary buffer (kept in DSP side) and change the frame size that is used for DMA copy.