Thanks for this detailed analytics. My replies refer to: https://ffmpeg.org/doxygen/trunk/…_accessors.html
1) I need to access the color information from the filter chain. The methods av_buffersink_get_color_range() and av_buffersink_get_colorspace() have been added recently (I guess). I'm using them in the next version. But I didn't find the methods av_buffersink_get_color_primaries() and av_buffersink_get_color_trc() yet. I have asked the libav devs.
3) The vendor tag should be written correctly (as reported in MediaInfo)
4) I'd also need a method to access the field order of the resulting frames. There are filters to change field order or even deinterlace filters. So I guess I'd need that buffersink_get method to get the final field order. Currently this is hardcoded to "progressive".