video: add SMPTE 2086 meta API for partially supporting HDR
Submitted by Seungha Yang
To fully support HDR by Gstreamer framework, HDR related color meta data
should be passed to rendering device. Note that, the meta data is used for post processing rather than YUV
<->RGB conversion. So there are not much things to do with the HDR meta in Gstreamer pipeline.
However, there is no official APIs to pass the meta data to render device in linux, so we have to be dependent on device specific implementation now (actually, HDR is very render device dependent tech).
Specifically, v4l2, wayland, x11, things don't provide APIs for them know yet. AFAIK, nvidia provides some APIs on windows system which allow it. See https://lwn.net/Articles/702563/
What should we do now then?
- Add new API for HDR related meta data in order to pass it to any element.
Custom sink element might be able to utilize it.
- Parsing the meta from ES stream (see Bug 785823) or container (webm or mp4).
- Write it to muxer/encoder