FFmpeg
ambient_viewing_environment.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2023 Jan Ekström <jeebjp@gmail.com>
3  *
4  * This file is part of FFmpeg.
5  *
6  * FFmpeg is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * FFmpeg is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with FFmpeg; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
21 #ifndef AVUTIL_AMBIENT_VIEWING_ENVIRONMENT_H
22 #define AVUTIL_AMBIENT_VIEWING_ENVIRONMENT_H
23 
24 #include <stddef.h>
25 #include "frame.h"
26 #include "rational.h"
27 
28 /**
29  * Ambient viewing environment metadata as defined by H.274. The values are
30  * saved in AVRationals so that they keep their exactness, while allowing for
31  * easy access to a double value with f.ex. av_q2d.
32  *
33  * @note sizeof(AVAmbientViewingEnvironment) is not part of the public ABI, and
34  * it must be allocated using av_ambient_viewing_environment_alloc.
35  */
37  /**
38  * Environmental illuminance of the ambient viewing environment in lux.
39  */
41 
42  /**
43  * Normalized x chromaticity coordinate of the environmental ambient light
44  * in the nominal viewing environment according to the CIE 1931 definition
45  * of x and y as specified in ISO/CIE 11664-1.
46  */
48 
49  /**
50  * Normalized y chromaticity coordinate of the environmental ambient light
51  * in the nominal viewing environment according to the CIE 1931 definition
52  * of x and y as specified in ISO/CIE 11664-1.
53  */
56 
57 /**
58  * Allocate an AVAmbientViewingEnvironment structure.
59  *
60  * @return the newly allocated struct or NULL on failure
61  */
63 
64 /**
65  * Allocate and add an AVAmbientViewingEnvironment structure to an existing
66  * AVFrame as side data.
67  *
68  * @return the newly allocated struct, or NULL on failure
69  */
71 
72 #endif /* AVUTIL_AMBIENT_VIEWING_ENVIRONMENT_H */
AVAmbientViewingEnvironment
Ambient viewing environment metadata as defined by H.274.
Definition: ambient_viewing_environment.h:36
av_ambient_viewing_environment_alloc
AVAmbientViewingEnvironment * av_ambient_viewing_environment_alloc(size_t *size)
Allocate an AVAmbientViewingEnvironment structure.
Definition: ambient_viewing_environment.c:24
rational.h
AVFrame
This structure describes decoded (raw) audio or video data.
Definition: frame.h:344
AVAmbientViewingEnvironment::ambient_light_x
AVRational ambient_light_x
Normalized x chromaticity coordinate of the environmental ambient light in the nominal viewing enviro...
Definition: ambient_viewing_environment.h:47
AVAmbientViewingEnvironment::ambient_illuminance
AVRational ambient_illuminance
Environmental illuminance of the ambient viewing environment in lux.
Definition: ambient_viewing_environment.h:40
frame
static AVFrame * frame
Definition: demux_decode.c:54
av_ambient_viewing_environment_create_side_data
AVAmbientViewingEnvironment * av_ambient_viewing_environment_create_side_data(AVFrame *frame)
Allocate and add an AVAmbientViewingEnvironment structure to an existing AVFrame as side data.
Definition: ambient_viewing_environment.c:37
AVRational
Rational number (pair of numerator and denominator).
Definition: rational.h:58
size
int size
Definition: twinvq_data.h:10344
frame.h
AVAmbientViewingEnvironment::ambient_light_y
AVRational ambient_light_y
Normalized y chromaticity coordinate of the environmental ambient light in the nominal viewing enviro...
Definition: ambient_viewing_environment.h:54