[FFmpeg-devel] [PATCH 0/2] Implement SMPTE 2038 output support over Decklink SDI

Marton Balint cus at passwd.hu
Sun Apr 23 21:42:41 EEST 2023



On Fri, 21 Apr 2023, Devin Heitmueller wrote:

> This patch series implements output of SMPTE 2038 VANC over SDI, building
> on the prior patch series which added it in the TS domain.  Note that
> we moved the AVPacketQueue to be common code within libavdevice so it
> can be shared by both the decklink input and output.
>
> Comments/feedback are welcome.

In general, queueing packets in specific components should be avoided if 
possible. Muxed packets are normally ordered by DTS and stream id, generic 
code ensures that. If you want something other than that, then I think 
the perferred way of doing it is by providing a custom interleave 
function. (e.g. to ensure you get data packets before video even if data 
stream has a higher stream ID.)

If you are only using the queue to store multiple data packets for a 
single frame then one way to avoid it is to parse them as soon as they 
arrive via the KLV library. If you insist on queueing them (maybe because 
not every packet will be parased by the KLV lib), then I'd rather see you 
use avpriv_packet_list_*() functions, and not a custom decklink
implementation.

Regards,
Marton


More information about the ffmpeg-devel mailing list