Hi, I'm developing on DM8127 IPNC with IPNC_RDK 2.0
My ultimate goal is porting algorithm on dsp core.
multich_usecase_dsp.c default setting is [tristream 1080p60p(H.264) + D130p(H.264) + 1080p5p(Mjpeg)]
My algorithm needs 1024x768 30fps and using Y space data.
I found usecase of OSD example. (1080p60p stream modified frame buffer and 1080P H.264 stream and 1080P Mjpeg stream layed logo on topleft.)
[A]. "swosd" in "multich_tristream_fullFeature.c"(Not use dsp core)
[B]. "sw_osd" using dsp.
In OsdLink_algProcessData(...) function (osdLink_alg.c)
So, I modified [B] code below.
#if 0 //original code (just memcpy Y/UV logo buffer by dsp core)
for (i = 0; i < 64; i++)
{
memcpy((void*)((UInt32)pFrame->addr[0][0] + 720 * i), &TILogo_Y_160_64[160 * i], 160);
}
for (i = 0; i < 32; i++)
{
memcpy((void*)((UInt32)pFrame->addr[0][1] + 720 * i), &TILogo_UV_160_64[160 * i], 160);
}
#else
unsigned char* ucPtr; // for only V value
ucPtr = (unsigned char*)pFrame->addr[0][0];
// 720x480 part converted black or white in 1920x1080 fullframe.
for (i = 0 ;i<720 ; i++)
{
for (j = 0 ;j < 480 ; j++)
{
if (ucPtr[i*1920 + j] <128)
ucPtr[i*1920 + j] = 10;
else
ucPtr[i*1920 + j] = 245;
}
}
#endif
This code is simple image processing in part of full frame.(binary convert)
I think this simple algorithm need low CPU(DSP) power, but edited result framerate is slowdown 60 fps --> 17 fps
I don't know why so many delay occur.
Thank you.