|
FFmpeg
|
#include "avassert.h"#include "hdr_dynamic_metadata.h"#include "mem.h"#include "libavcodec/defs.h"#include "libavcodec/get_bits.h"#include "libavcodec/put_bits.h"Go to the source code of this file.
Macros | |
| #define | GET_BITS_OR_FAIL(var, n) |
Functions | |
| AVDynamicHDRPlus * | av_dynamic_hdr_plus_alloc (size_t *size) |
| Allocate an AVDynamicHDRPlus structure and set its fields to default values. More... | |
| AVDynamicHDRPlus * | av_dynamic_hdr_plus_create_side_data (AVFrame *frame) |
| Allocate a complete AVDynamicHDRPlus and add it to the frame. More... | |
| int | av_dynamic_hdr_plus_from_t35 (AVDynamicHDRPlus *s, const uint8_t *data, size_t size) |
| Parse the user data registered ITU-T T.35 to AVbuffer (AVDynamicHDRPlus). More... | |
| int | av_dynamic_hdr_plus_to_t35 (const AVDynamicHDRPlus *s, uint8_t **data, size_t *size) |
| Serialize dynamic HDR10+ metadata to a user data registered ITU-T T.35 buffer, excluding the first 48 bytes of the header, and beginning with the application mode. More... | |
| AVDynamicHDRSmpte2094App5 * | av_dynamic_hdr_smpte2094_app5_alloc (size_t *size) |
| Allocate an AVDynamicHDRSmpte2094App5 structure and set its fields to default values. More... | |
| AVDynamicHDRSmpte2094App5 * | av_dynamic_hdr_smpte2094_app5_create_side_data (AVFrame *frame) |
| Allocate a complete AVDynamicHDRSmpte2094App5 and add it to the frame. More... | |
| int | av_dynamic_hdr_smpte2094_app5_from_t35 (AVDynamicHDRSmpte2094App5 *s, const uint8_t *data, size_t size) |
| Parse the user data formatted as ITU-T T.35 message to AVDynamicHDRSmpte2094App5. More... | |
| int | av_dynamic_hdr_smpte2094_app5_to_t35 (const AVDynamicHDRSmpte2094App5 *s, uint8_t **data, size_t *size) |
| Serialize dynamic SMPTE-2094-50 metadata to a ITU-T T.35 message. More... | |
Variables | |
| static const int64_t | luminance_den = 1 |
| Copyright (c) 2018 Mohammad Izadi <moh.izadi at gmail.com> More... | |
| static const int32_t | peak_luminance_den = 15 |
| static const int64_t | rgb_den = 100000 |
| static const int32_t | fraction_pixel_den = 1000 |
| static const int32_t | knee_point_den = 4095 |
| static const int32_t | bezier_anchor_den = 1023 |
| static const int32_t | saturation_weight_den = 8 |
| #define GET_BITS_OR_FAIL | ( | var, | |
| n | |||
| ) |
Definition at line 424 of file hdr_dynamic_metadata.c.
| AVDynamicHDRPlus* av_dynamic_hdr_plus_alloc | ( | size_t * | size | ) |
Allocate an AVDynamicHDRPlus structure and set its fields to default values.
The resulting struct can be freed using av_freep().
Definition at line 36 of file hdr_dynamic_metadata.c.
| AVDynamicHDRPlus* av_dynamic_hdr_plus_create_side_data | ( | AVFrame * | frame | ) |
Allocate a complete AVDynamicHDRPlus and add it to the frame.
| frame | The frame which side data is added to. |
Definition at line 48 of file hdr_dynamic_metadata.c.
Referenced by decode_metadata_itu_t_t35(), export_itut_t35(), and parse_itut_t35_metadata().
| int av_dynamic_hdr_plus_from_t35 | ( | AVDynamicHDRPlus * | s, |
| const uint8_t * | data, | ||
| size_t | size | ||
| ) |
Parse the user data registered ITU-T T.35 to AVbuffer (AVDynamicHDRPlus).
The T.35 buffer must begin with the application mode, skipping the country code, terminal provider codes, and application identifier.
| s | A pointer containing the decoded AVDynamicHDRPlus structure. |
| data | The byte array containing the raw ITU-T T.35 data. |
| size | Size of the data array in bytes. |
Definition at line 61 of file hdr_dynamic_metadata.c.
Referenced by decode_metadata_itu_t_t35(), export_itut_t35(), and parse_itut_t35_metadata().
| int av_dynamic_hdr_plus_to_t35 | ( | const AVDynamicHDRPlus * | s, |
| uint8_t ** | data, | ||
| size_t * | size | ||
| ) |
Serialize dynamic HDR10+ metadata to a user data registered ITU-T T.35 buffer, excluding the first 48 bytes of the header, and beginning with the application mode.
| s | A pointer containing the decoded AVDynamicHDRPlus structure. | |
| [in,out] | data | A pointer to pointer to a byte buffer to be filled with the serialized metadata. If *data is NULL, a buffer be will be allocated and a pointer to it stored in its place. The caller assumes ownership of the buffer. May be NULL, in which case the function will only store the required buffer size in *size. |
| [in,out] | size | A pointer to a size to be set to the returned buffer's size. If *data is not NULL, *size must contain the size of the input buffer. May be NULL only if *data is NULL. |
Buffer size per CTA-861-H p.253-254: 48 header bits (excluded from the serialized payload) 8 bits for application_mode 2 bits for num_windows 153 bits for window geometry, for each window above 1 27 bits for targeted_system_display_maximum_luminance 1-2511 bits for targeted system display peak luminance information 82-442 bits per window for pixel distribution information 1-2511 bits for mastering display peak luminance information 1-179 bits per window for tonemapping information 1-7 bits per window for color saturation mapping information Total: 123-7249 bits, excluding trimmed header bits
Definition at line 239 of file hdr_dynamic_metadata.c.
Referenced by add_hdr_plus(), and mkv_write_block().
| AVDynamicHDRSmpte2094App5* av_dynamic_hdr_smpte2094_app5_alloc | ( | size_t * | size | ) |
Allocate an AVDynamicHDRSmpte2094App5 structure and set its fields to default values.
The resulting struct can be freed using av_freep().
Definition at line 399 of file hdr_dynamic_metadata.c.
| AVDynamicHDRSmpte2094App5* av_dynamic_hdr_smpte2094_app5_create_side_data | ( | AVFrame * | frame | ) |
Allocate a complete AVDynamicHDRSmpte2094App5 and add it to the frame.
| frame | The frame which side data is added to. |
Definition at line 411 of file hdr_dynamic_metadata.c.
Referenced by parse_itut_t35_metadata().
| int av_dynamic_hdr_smpte2094_app5_from_t35 | ( | AVDynamicHDRSmpte2094App5 * | s, |
| const uint8_t * | data, | ||
| size_t | size | ||
| ) |
Parse the user data formatted as ITU-T T.35 message to AVDynamicHDRSmpte2094App5.
| s | A pointer containing the decoded AVDynamicHDRSmpte2094App5 structure. |
| data | The byte array containing the raw ITU-T T.35 data. |
| size | Size of the data array in bytes. |
Definition at line 433 of file hdr_dynamic_metadata.c.
Referenced by parse_itut_t35_metadata().
| int av_dynamic_hdr_smpte2094_app5_to_t35 | ( | const AVDynamicHDRSmpte2094App5 * | s, |
| uint8_t ** | data, | ||
| size_t * | size | ||
| ) |
Serialize dynamic SMPTE-2094-50 metadata to a ITU-T T.35 message.
Excluding the country_code, provider_code and provider_oriented_code.
| s | A pointer containing the AVDynamicHDRSmpte2094App5 data. | |
| [in,out] | data | A pointer to pointer to a byte buffer to be filled with the serialized metadata. If *data is NULL, a buffer be will be allocated and a pointer to it stored in its place. The caller assumes ownership of the buffer. May be NULL, in which case the function will only store the required buffer size in *size. |
| [in,out] | size | A pointer to a size to be set to the returned buffer's size. If *data is not NULL, *size must contain the size of the input buffer. May be NULL only if *data is NULL. |
Definition at line 564 of file hdr_dynamic_metadata.c.
Referenced by mkv_write_block().
|
static |
Copyright (c) 2018 Mohammad Izadi <moh.izadi at gmail.com>
This file is part of FFmpeg.
FFmpeg is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
FFmpeg is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with FFmpeg; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Definition at line 28 of file hdr_dynamic_metadata.c.
Referenced by av_dynamic_hdr_plus_from_t35(), and av_dynamic_hdr_plus_to_t35().
|
static |
Definition at line 29 of file hdr_dynamic_metadata.c.
Referenced by av_dynamic_hdr_plus_from_t35(), and av_dynamic_hdr_plus_to_t35().
|
static |
Definition at line 30 of file hdr_dynamic_metadata.c.
Referenced by av_dynamic_hdr_plus_from_t35(), and av_dynamic_hdr_plus_to_t35().
|
static |
Definition at line 31 of file hdr_dynamic_metadata.c.
Referenced by av_dynamic_hdr_plus_from_t35(), and av_dynamic_hdr_plus_to_t35().
|
static |
Definition at line 32 of file hdr_dynamic_metadata.c.
Referenced by av_dynamic_hdr_plus_from_t35(), and av_dynamic_hdr_plus_to_t35().
|
static |
Definition at line 33 of file hdr_dynamic_metadata.c.
Referenced by av_dynamic_hdr_plus_from_t35(), and av_dynamic_hdr_plus_to_t35().
|
static |
Definition at line 34 of file hdr_dynamic_metadata.c.
Referenced by av_dynamic_hdr_plus_from_t35(), and av_dynamic_hdr_plus_to_t35().
1.8.17