diff options
author | Steve Lhomme <robux4@gmail.com> | 2017-04-03 10:29:45 +0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2017-04-06 17:26:25 +0300 |
commit | b378f5bd640177801681479ddb9fe80ececd9cf8 (patch) | |
tree | 9ff921d7c9c124e76ab1a0d5305f148316936f22 /libavutil/mastering_display_metadata.c | |
parent | 2a512f86c12d2ed588733c454a12930efbad49f4 (diff) |
lavu: add support for Content Light Level side metadata
As found in HEVC.
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavutil/mastering_display_metadata.c')
-rw-r--r-- | libavutil/mastering_display_metadata.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libavutil/mastering_display_metadata.c b/libavutil/mastering_display_metadata.c index e1683e55c7..6069347617 100644 --- a/libavutil/mastering_display_metadata.c +++ b/libavutil/mastering_display_metadata.c @@ -41,3 +41,26 @@ AVMasteringDisplayMetadata *av_mastering_display_metadata_create_side_data(AVFra return (AVMasteringDisplayMetadata *)side_data->data; } + +AVContentLightMetadata *av_content_light_metadata_alloc(size_t *size) +{ + AVContentLightMetadata *metadata = av_mallocz(sizeof(AVContentLightMetadata)); + + if (size) + *size = sizeof(*metadata); + + return metadata; +} + +AVContentLightMetadata *av_content_light_metadata_create_side_data(AVFrame *frame) +{ + AVFrameSideData *side_data = av_frame_new_side_data(frame, + AV_FRAME_DATA_CONTENT_LIGHT_LEVEL, + sizeof(AVContentLightMetadata)); + if (!side_data) + return NULL; + + memset(side_data->data, 0, sizeof(AVContentLightMetadata)); + + return (AVContentLightMetadata *)side_data->data; +} |