Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

Understanding ipcFramesIn/Out on A8 and SwOSD flow

$
0
0

Hi TI gurus, as I'm quite a newbie to the McFW (IPNC RDK v3.0) I'm mainly doing some trial and errors on 2 main flows:

1. Video Analytic mode that uses both the DSP and SwOSD (refer to multich_tristream_smartAnalytics.c).

2. Capture Display flow as I'm very interested in the YUV-->A8 feature (refer to multich_Stream_CaptureDisplay.c with YUV_FRAMES_TO_A8).

Regarding 1. - I'm trying to understand how eventually the display gets the SwOSD drawing part. It's obvious from the code (and as the name states) that the SwOSD is simply a mean to draw directly on the video buffer. What I don't understand is the actual flow, both the SwOSD and Display link have single ancestor which is the display dup (merely a name) but if the dup has propagated the buffers ptr to all its outputs, doesn't the frame the SwOSD is working on is after the Display link already queued the dup frame into the Display Driver and hence, probably displayed it? I'm still a bit confused about the putFrame and emptyFrame. I guess a link A send a successor link B a frame, which is now locked until link B will call empty to its predecessor (hence link A) but if my understanding is correct, how do one know how the flow is synced i.e. if I made some logic at the scaler/ DSP/ FD link, how do I know to what frame the OSD drawing refer; after all, the entire link system is somewhat a-synchronous, not?

Regarding 2. I understand that due to ISR issues, the implementation of A8 frames In/Out isn't like in Bios6 ones but what I don't understand (and you can see in the McFW pdf CaptureDisplay graph) is how frames of YUV that gets to A8 (M3-->A8) are then sent back from A8 to M3. From the graph creation phase, it's obvious there's no link from HostIn to HostOut (HostIn->next = NULL, hostOut->prev = NULL) so from where the frames are pulled, if they actually are...?

The more I dwell into McFW links, I feel like although the links concept is generic, each link has its own "special" features and it's hard to make real changes to a given flow... maybe if I can better understand the queue and put/empty mechanism I can make changes w/o making hazardous mistakes.

Last thought, is it possible to send frames from Host to M3/C67 w/o using the Capture Link and if so... what triggers a new frame event?

Thanks in advance,

Roei


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>