Sorry, any major changes on that front are very unlikely - if it's not there already, then it'd be a fair chunk of work to add it, and not an area of code I'm familiar with.Momoko_Fan wrote:Just gonna mention Periodic Intra Refresh again, in case anything changed or became possible since April.
One of the modes in MMAL_VIDEO_INTRA_REFRESH_T, maybe MMAL_VIDEO_INTRA_REFRESH_CYCLIC or MMAL_VIDEO_INTRA_REFRESH_PSEUDO_RAND. Could help with achieving true CBR and interference mitigation if the video is transmitted over wireless or networks where packet loss is possible.
The settings for MMAL_VIDEO_INTRA_REFRESH_CYCLIC, MMAL_VIDEO_INTRA_REFRESH_ADAPTIVE and MMAL_VIDEO_INTRA_REFRESH_BOTH appear to plumbed in to do something.
Having just spoken to the codecs guys, he recalls CyclicMrows to actually be the one actively used for a previous product to split the I-frame into about 5. I'll add pseudo random and cyclic mrows to MMAL, but you're on your own working out useful settings, and may not achieve 1080P30 if pushed too far.
edit: So MMAL_VIDEO_INTRA_REFRESH_CYCLIC_MROWS and MMAL_VIDEO_INTRA_REFRESH_PSEUDO_RAND are defined. Not sure why I missed them before. So the advice was for MMAL_VIDEO_INTRA_REFRESH_CYCLIC_MROWS and cir_mbs set probably to 5 (at a guess).