On Thu, Apr 6, 2017 at 11:08 AM, Hendrik Leppkes <h.lepp...@gmail.com> wrote: > On Thu, Apr 6, 2017 at 11:01 AM, Steve Lhomme <rob...@gmail.com> wrote: >> Hi, >> >> As I am progressing in proper HDR10 support in VLC, I am facing an >> issue. The mastering (and lighting pending patch) metadata are set on >> the AVFrame but not available to the ff_get_format() receiver. >> >> That means when we configure our vout and decoder we don't know if >> it's going to have HDR metadata or not. >> >> Could we move the mastering (and lighting) metadata on the >> AVCodecContext ? Or provide the metadata on the ff_get_format() call ? >> >> I CC'ed libav as they have opinions on possible API changes, even >> though there is no mastering metadata support in there yet. > > > I'm against polluting AVCodecContext with more random fields, and > get_format is fixed API/ABI, we can't change that very easily.
I understand, that's why I prefer asking before trying things out. > In general, this is per-frame metadata, which can appear or change > with any given frame, without get_format being invoked again. You > should probably just be able to have your output react to that once it > receives it. This is already the case. I copy the relevant metadata of the AVFrame in the picture we are going to display. But the underlying stream format has no idea that it has HDR metadata. We can't tell the user what kind of metadata the stream has (think of ffprobe-like info). Also as a more general case there can even be an issue with selecting/configuring the display when ff_get_format() is called. For example you don't know the frame packing format (3D, side by side, etc). It's available in SEI_TYPE_FRAME_PACKING for H264 and HEVC. Couldn't there be a way to query AVCodecContext for certain metadata ? In the case of HEVC/H264 it would look in the calling associated HEVCContext/H264Context. Which is the (upper) context that is calling the ff_get_format(). > - Hendrik > _______________________________________________ > libav-devel mailing list > libav-devel@libav.org > https://lists.libav.org/mailman/listinfo/libav-devel _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel