FFmpeg
Loading...
Searching...
No Matches
cbs_apv.h
Go to the documentation of this file.
1/*
2 * This file is part of FFmpeg.
3 *
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19#ifndef AVCODEC_CBS_APV_H
20#define AVCODEC_CBS_APV_H
21
22#include <stddef.h>
23#include <stdint.h>
24
25#include "libavutil/buffer.h"
26#include "apv.h"
27
28// Arbitrary limits to avoid large structures.
29#define CBS_APV_MAX_AU_FRAMES 8
30#define CBS_APV_MAX_METADATA_PAYLOADS 8
31
32
33typedef struct APVRawPBUHeader {
34 uint8_t pbu_type;
35 uint16_t group_id;
38
39typedef struct APVRawFiller {
42
55
59
66
84
92
100
110
123
132
141
142typedef struct APVRawMetadataCLL {
143 uint16_t max_cll;
144 uint16_t max_fall;
146
150
158
164
177
188
189
196
197#endif /* AVCODEC_CBS_APV_H */
#define APV_MAX_NUM_COMP
refcounted data buffer API
#define CBS_APV_MAX_AU_FRAMES
Definition cbs_apv.h:29
#define CBS_APV_MAX_METADATA_PAYLOADS
Definition cbs_apv.h:30
@ APV_TR_SIZE
Definition apv.h:42
@ APV_MAX_TILE_COUNT
Definition apv.h:77
uint8_t reserved_zero_8bits[CBS_APV_MAX_AU_FRAMES]
Definition cbs_apv.h:116
uint8_t reserved_zero_8bits_2
Definition cbs_apv.h:119
APVRawFrameInfo frame_info[CBS_APV_MAX_AU_FRAMES]
Definition cbs_apv.h:117
APVRawFiller filler
Definition cbs_apv.h:121
uint16_t num_frames
Definition cbs_apv.h:112
uint8_t group_id[CBS_APV_MAX_AU_FRAMES]
Definition cbs_apv.h:115
uint8_t pbu_type[CBS_APV_MAX_AU_FRAMES]
Definition cbs_apv.h:114
size_t filler_size
Definition cbs_apv.h:40
APVRawTileInfo tile_info
Definition cbs_apv.h:80
uint8_t color_primaries
Definition cbs_apv.h:72
uint8_t color_description_present_flag
Definition cbs_apv.h:71
APVRawFrameInfo frame_info
Definition cbs_apv.h:68
APVRawQuantizationMatrix quantization_matrix
Definition cbs_apv.h:78
uint8_t full_range_flag
Definition cbs_apv.h:75
uint8_t matrix_coefficients
Definition cbs_apv.h:74
uint8_t reserved_zero_8bits
Definition cbs_apv.h:69
uint8_t reserved_zero_8bits_2
Definition cbs_apv.h:82
uint8_t transfer_characteristics
Definition cbs_apv.h:73
uint8_t use_q_matrix
Definition cbs_apv.h:77
uint8_t level_idc
Definition cbs_apv.h:45
uint8_t reserved_zero_5bits
Definition cbs_apv.h:47
uint32_t frame_width
Definition cbs_apv.h:48
uint8_t band_idc
Definition cbs_apv.h:46
uint8_t bit_depth_minus8
Definition cbs_apv.h:51
uint8_t reserved_zero_8bits
Definition cbs_apv.h:53
uint8_t profile_idc
Definition cbs_apv.h:44
uint32_t frame_height
Definition cbs_apv.h:49
uint8_t chroma_format_idc
Definition cbs_apv.h:50
uint8_t capture_time_distance
Definition cbs_apv.h:52
APVRawFrameHeader frame_header
Definition cbs_apv.h:103
APVRawFiller filler
Definition cbs_apv.h:106
AVBufferRef * tile_data_ref
Definition cbs_apv.h:108
APVRawTile tile[APV_MAX_TILE_COUNT]
Definition cbs_apv.h:105
APVRawPBUHeader pbu_header
Definition cbs_apv.h:102
uint32_t tile_size[APV_MAX_TILE_COUNT]
Definition cbs_apv.h:104
uint16_t max_cll
Definition cbs_apv.h:143
uint16_t max_fall
Definition cbs_apv.h:144
uint32_t payload_size
Definition cbs_apv.h:148
AVBufferRef * data_ref
Definition cbs_apv.h:129
uint8_t itu_t_t35_country_code_extension
Definition cbs_apv.h:126
uint8_t itu_t_t35_country_code
Definition cbs_apv.h:125
uint16_t primary_chromaticity_x[3]
Definition cbs_apv.h:134
uint16_t white_point_chromaticity_y
Definition cbs_apv.h:137
uint16_t primary_chromaticity_y[3]
Definition cbs_apv.h:135
uint32_t min_mastering_luminance
Definition cbs_apv.h:139
uint16_t white_point_chromaticity_x
Definition cbs_apv.h:136
uint32_t max_mastering_luminance
Definition cbs_apv.h:138
APVRawMetadataUndefined undefined
Definition cbs_apv.h:174
APVRawMetadataMDCV mdcv
Definition cbs_apv.h:170
APVRawMetadataFiller filler
Definition cbs_apv.h:172
uint32_t payload_type
Definition cbs_apv.h:166
uint32_t payload_size
Definition cbs_apv.h:167
APVRawMetadataITUTT35 itu_t_t35
Definition cbs_apv.h:169
APVRawMetadataUserDefined user_defined
Definition cbs_apv.h:173
APVRawMetadataCLL cll
Definition cbs_apv.h:171
AVBufferRef * data_ref
Definition cbs_apv.h:161
AVBufferRef * data_ref
Definition cbs_apv.h:155
APVRawPBUHeader pbu_header
Definition cbs_apv.h:179
APVRawMetadataPayload payloads[CBS_APV_MAX_METADATA_PAYLOADS]
Definition cbs_apv.h:184
APVRawFiller filler
Definition cbs_apv.h:186
uint32_t metadata_size
Definition cbs_apv.h:181
uint32_t metadata_count
Definition cbs_apv.h:182
uint8_t pbu_type
Definition cbs_apv.h:34
uint8_t reserved_zero_8bits
Definition cbs_apv.h:36
uint16_t group_id
Definition cbs_apv.h:35
uint8_t q_matrix[APV_MAX_NUM_COMP][APV_TR_SIZE][APV_TR_SIZE]
Definition cbs_apv.h:57
uint32_t tile_data_size[APV_MAX_NUM_COMP]
Definition cbs_apv.h:88
uint16_t tile_index
Definition cbs_apv.h:87
uint16_t tile_header_size
Definition cbs_apv.h:86
uint8_t reserved_zero_8bits
Definition cbs_apv.h:90
uint8_t tile_qp[APV_MAX_NUM_COMP]
Definition cbs_apv.h:89
uint32_t tile_width_in_mbs
Definition cbs_apv.h:61
uint32_t tile_height_in_mbs
Definition cbs_apv.h:62
uint32_t tile_size_in_fh[APV_MAX_TILE_COUNT]
Definition cbs_apv.h:64
uint8_t tile_size_present_in_fh_flag
Definition cbs_apv.h:63
APVRawTileHeader tile_header
Definition cbs_apv.h:94
uint8_t * tile_dummy_byte
Definition cbs_apv.h:97
uint8_t * tile_data[APV_MAX_NUM_COMP]
Definition cbs_apv.h:96
uint32_t tile_dummy_byte_size
Definition cbs_apv.h:98
A reference to a data buffer.
Definition buffer.h:82