FFmpeg
Loading...
Searching...
No Matches
ps.h
Go to the documentation of this file.
1/*
2 * HEVC parameter set parsing
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 AVCODEC_HEVC_PS_H
22#define AVCODEC_HEVC_PS_H
23
24#include <stdint.h>
25
26#include "libavutil/pixfmt.h"
27#include "libavutil/rational.h"
28
29#include "libavcodec/avcodec.h"
30#include "libavcodec/get_bits.h"
32
33#include "hevc.h"
34
35#define HEVC_VPS_MAX_LAYERS 2
36
44
45// flags in bitmask form
51
74
75typedef struct ShortTermRPS {
77 uint32_t used;
78
79 uint8_t delta_idx;
83
84 uint16_t abs_delta_rps;
85 unsigned delta_rps_sign:1;
86
87 unsigned rps_predict:1;
88 unsigned use_delta:1;
90
91typedef struct HEVCWindow {
92 unsigned int left_offset;
93 unsigned int right_offset;
94 unsigned int top_offset;
95 unsigned int bottom_offset;
97
126
149
157
158typedef struct RepFormat {
163 uint8_t bit_depth_luma; ///< bit_depth_vps_luma_minus8 + 8
164 uint8_t bit_depth_chroma; ///< bit_depth_vps_chroma_minus8 + 8
166} RepFormat;
167
168typedef struct HEVCVPS {
169 unsigned int vps_id;
170
173 int vps_max_sub_layers; ///< vps_max_temporal_layers_minus1 + 1
174
181 int vps_num_layer_sets; ///< vps_num_layer_sets_minus1 + 1
186 int vps_num_ticks_poc_diff_one; ///< vps_num_ticks_poc_diff_one_minus1 + 1
188
190
191 /* VPS extension */
192
193 /* Number of layers this VPS was parsed for, between 1 and
194 * min(HEVC_VPS_MAX_LAYERS, vps_max_layers).
195 *
196 * Note that vps_max_layers contains the layer count declared in the
197 * bitstream, while nb_layers contains the number of layers exported to
198 * users of this API (which may be smaller as we only support a subset of
199 * multilayer extensions).
200 *
201 * Arrays below documented as [layer_idx] have nb_layers valid entries.
202 */
204
206
207 // LayerIdxInVps[nuh_layer_id], i.e. a mapping of nuh_layer_id to VPS layer
208 // indices. Valid values are between 0 and HEVC_VPS_MAX_LAYERS. Entries for
209 // unmapped values of nuh_layer_id are set to -1.
211
213
217 // bitmask of poc_lsb_not_present[layer_idx]
219
220 struct {
221 unsigned max_dec_pic_buffering; // max_vps_dec_pic_buffering_minus1 + 1
222 unsigned max_num_reorder_pics; // max_vps_num_reorder_pics
223 unsigned max_latency_increase; // max_vps_latency_increase_plus1 - 1
225
226 // ViewId[layer_idx]
228
229 // NumOutputLayerSets
231 // Bitmasks specifying output layer sets. i-th bit set means layer with VPS
232 // index i is present in the layer set.
234
235 // NumDirectRefLayers[layer_idx]
238
240
241 uint8_t *data;
243} HEVCVPS;
244
245typedef struct ScalingList {
246 /* This is a little wasteful, since sizeID 0 only needs 8 coeffs,
247 * and size ID 3 only has 2 arrays, not 6. */
248 uint8_t sl[4][6][64];
249 uint8_t sl_dc[2][6];
251
252typedef struct HEVCSPS {
253 unsigned vps_id;
255
257
259
261
266
267 unsigned int log2_max_poc_lsb;
268
270 struct {
275
279
281
282 unsigned int nb_st_rps;
284
288
289 struct {
290 uint8_t bit_depth;
295
296 unsigned int log2_min_cb_size;
298 unsigned int log2_min_tb_size;
300 unsigned int log2_ctb_size;
301 unsigned int log2_min_pu_size;
303
306
309 uint8_t pcm_enabled;
315 uint8_t amp_enabled;
316 uint8_t sao_enabled;
330
333
339
345
346 /// coded frame dimension in various units
347 int width;
359
360 int hshift[3];
361 int vshift[3];
362
364
365 uint8_t *data;
367
368 const HEVCVPS *vps; ///< RefStruct reference
369} HEVCSPS;
370
371typedef struct HEVCPPS {
372 unsigned int pps_id;
373 unsigned int sps_id; ///< seq_parameter_set_id
374
376
378
379 int num_ref_idx_l0_default_active; ///< num_ref_idx_l0_default_active_minus1 + 1
380 int num_ref_idx_l1_default_active; ///< num_ref_idx_l1_default_active_minus1 + 1
382
385
388
396
400
401 uint16_t num_tile_columns; ///< num_tile_columns_minus1 + 1
402 uint16_t num_tile_rows; ///< num_tile_rows_minus1 + 1
405
407
410 uint8_t disable_dbf;
411 int beta_offset; ///< beta_offset_div2 * 2
412 int tc_offset; ///< tc_offset_div2 * 2
413
416
418 int log2_parallel_merge_level; ///< log2_parallel_merge_level_minus2 + 2
435
436 // Multilayer extension parameters
453 uint8_t phase_hor_luma[64];
454 uint8_t phase_ver_luma[64];
459 uint8_t cm_ref_layer_id[62];
470
471 // 3D extension parameters
473
474 // SCC extension parameters
478 int8_t pps_act_y_qp_offset; // _plus5
479 int8_t pps_act_cb_qp_offset; // _plus5
480 int8_t pps_act_cr_qp_offset; // _plus3
487
488 // Inferred parameters
489 unsigned int *column_width; ///< ColumnWidth
490 unsigned int *row_height; ///< RowHeight
491 unsigned int *col_bd; ///< ColBd
492 unsigned int *row_bd; ///< RowBd
494
495 int *ctb_addr_rs_to_ts; ///< CtbAddrRSToTS
496 int *ctb_addr_ts_to_rs; ///< CtbAddrTSToRS
497 int *tile_id; ///< TileId
498 int *tile_pos_rs; ///< TilePosRS
499 int *min_tb_addr_zs; ///< MinTbAddrZS
500 int *min_tb_addr_zs_tab;///< MinTbAddrZS
501
502 uint8_t *data;
504
505 const HEVCSPS *sps; ///< RefStruct reference
506} HEVCPPS;
507
508typedef struct HEVCParamSets {
509 const HEVCVPS *vps_list[HEVC_MAX_VPS_COUNT]; ///< RefStruct references
510 const HEVCSPS *sps_list[HEVC_MAX_SPS_COUNT]; ///< RefStruct references
511 const HEVCPPS *pps_list[HEVC_MAX_PPS_COUNT]; ///< RefStruct references
513
514/**
515 * Parse the SPS from the bitstream into the provided HEVCSPS struct.
516 *
517 * @param sps_id the SPS id will be written here
518 * @param apply_defdispwin if set 1, the default display window from the VUI
519 * will be applied to the video dimensions
520 * @param vps_list if non-NULL, this function will validate that the SPS refers
521 * to an existing VPS
522 */
523int ff_hevc_parse_sps(HEVCSPS *sps, GetBitContext *gb, unsigned int *sps_id,
524 unsigned nuh_layer_id, int apply_defdispwin,
525 const HEVCVPS * const *vps_list, AVCodecContext *avctx);
526
528 HEVCParamSets *ps);
530 HEVCParamSets *ps, unsigned nuh_layer_id,
531 int apply_defdispwin);
533 HEVCParamSets *ps);
534
536
538 ShortTermRPS *rps, const HEVCSPS *sps, int is_slice_header);
539
540int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned int id,
541 uint8_t *buf, int buf_size);
542
543/**
544 * Compute POC of the current frame and return it.
545 */
546int ff_hevc_compute_poc2(unsigned log2_max_poc_lsb, int pocTid0, int poc_lsb, int nal_unit_type);
547
548static inline int ff_hevc_compute_poc(const HEVCSPS *sps, int pocTid0, int poc_lsb, int nal_unit_type)
549{
550 return ff_hevc_compute_poc2(sps->log2_max_poc_lsb, pocTid0, poc_lsb, nal_unit_type);
551}
552
553#endif /* AVCODEC_HEVC_PS_H */
int32_t
Libavcodec external API header.
static int FUNC sps(CodedBitstreamContext *ctx, RWContext *rw, H264RawSPS *current)
static int FUNC vps(CodedBitstreamContext *ctx, RWContext *rw, H265RawVPS *current)
bitstream reader API header.
int ff_hevc_decode_nal_pps(GetBitContext *gb, AVCodecContext *avctx, HEVCParamSets *ps)
Definition ps.c:2201
void ff_hevc_ps_uninit(HEVCParamSets *ps)
Definition ps.c:2473
static int ff_hevc_compute_poc(const HEVCSPS *sps, int pocTid0, int poc_lsb, int nal_unit_type)
Definition ps.h:548
#define HEVC_VPS_MAX_LAYERS
Definition ps.h:35
int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned int id, uint8_t *buf, int buf_size)
Definition ps_enc.c:66
int ff_hevc_parse_sps(HEVCSPS *sps, GetBitContext *gb, unsigned int *sps_id, unsigned nuh_layer_id, int apply_defdispwin, const HEVCVPS *const *vps_list, AVCodecContext *avctx)
Parse the SPS from the bitstream into the provided HEVCSPS struct.
Definition ps.c:1239
int ff_hevc_decode_nal_vps(GetBitContext *gb, AVCodecContext *avctx, HEVCParamSets *ps)
Definition ps.c:786
int ff_hevc_decode_short_term_rps(GetBitContext *gb, AVCodecContext *avctx, ShortTermRPS *rps, const HEVCSPS *sps, int is_slice_header)
Definition ps.c:113
int ff_hevc_compute_poc2(unsigned log2_max_poc_lsb, int pocTid0, int poc_lsb, int nal_unit_type)
Compute POC of the current frame and return it.
Definition ps.c:2485
int ff_hevc_decode_nal_sps(GetBitContext *gb, AVCodecContext *avctx, HEVCParamSets *ps, unsigned nuh_layer_id, int apply_defdispwin)
Definition ps.c:1735
@ HEVC_MAX_CPB_CNT
Definition hevc.h:134
@ HEVC_MAX_LONG_TERM_REF_PICS
Definition hevc.h:127
@ HEVC_MAX_SPS_COUNT
Definition hevc.h:115
@ HEVC_MAX_PALETTE_PREDICTOR_SIZE
Definition hevc.h:162
@ HEVC_MAX_PPS_COUNT
Definition hevc.h:117
@ HEVC_MAX_SUB_LAYERS
Definition hevc.h:105
@ HEVC_MAX_VPS_COUNT
Definition hevc.h:113
@ HEVC_MAX_SHORT_TERM_REF_PIC_SETS
Definition hevc.h:125
@ HEVC_MAX_NUH_LAYER_ID
Definition hevc.h:110
pixel format definitions
AVPixelFormat
Pixel format.
Definition pixfmt.h:71
Utilities for rational number calculation.
main external API structure.
Definition avcodec.h:443
uint8_t fixed_pic_rate_general_flag
Definition ps.h:47
uint8_t low_delay_hrd_flag
Definition ps.h:49
uint8_t fixed_pic_rate_within_cvs_flag
Definition ps.h:48
uint8_t initial_cpb_removal_delay_length_minus1
Definition ps.h:65
uint8_t sub_pic_cpb_params_in_pic_timing_sei_flag
Definition ps.h:57
uint8_t vcl_hrd_parameters_present_flag
Definition ps.h:55
uint8_t dpb_output_delay_du_length_minus1
Definition ps.h:61
HEVCHdrFlagParams flags
Definition ps.h:53
uint8_t nal_hrd_parameters_present_flag
Definition ps.h:54
uint8_t tick_divisor_minus2
Definition ps.h:59
uint8_t sub_pic_hrd_params_present_flag
Definition ps.h:56
uint8_t cpb_size_du_scale
Definition ps.h:64
uint16_t elemental_duration_in_tc_minus1[HEVC_MAX_SUB_LAYERS]
Definition ps.h:69
HEVCSublayerHdrParams nal_params[HEVC_MAX_SUB_LAYERS]
Definition ps.h:71
uint8_t cpb_size_scale
Definition ps.h:63
uint8_t dpb_output_delay_length_minus1
Definition ps.h:67
HEVCSublayerHdrParams vcl_params[HEVC_MAX_SUB_LAYERS]
Definition ps.h:72
uint8_t au_cpb_removal_delay_length_minus1
Definition ps.h:66
uint8_t cpb_cnt_minus1[HEVC_MAX_SUB_LAYERS]
Definition ps.h:68
uint8_t bit_rate_scale
Definition ps.h:62
uint8_t du_cpb_removal_delay_increment_length_minus1
Definition ps.h:60
Definition ps.h:371
int8_t cb_qp_offset_list[6]
Definition ps.h:431
uint8_t disable_dbf
Definition ps.h:410
uint8_t transform_skip_enabled_flag
Definition ps.h:384
unsigned int sps_id
seq_parameter_set_id
Definition ps.h:373
uint8_t chroma_qp_offset_list_len_minus1
Definition ps.h:430
uint8_t cm_ref_layer_id[62]
Definition ps.h:459
uint8_t resample_phase_set_present_flag[64]
Definition ps.h:452
uint8_t log2_sao_offset_scale_luma
Definition ps.h:433
int tc_offset
tc_offset_div2 * 2
Definition ps.h:412
int8_t phase_ver_chroma[64]
Definition ps.h:456
uint8_t chroma_bit_depth_entry
Definition ps.h:485
uint8_t constrained_intra_pred_flag
Definition ps.h:383
uint8_t lists_modification_present_flag
Definition ps.h:417
const HEVCSPS * sps
RefStruct reference.
Definition ps.h:505
uint8_t pps_scaling_list_ref_layer_id
Definition ps.h:439
uint8_t diff_cu_chroma_qp_offset_depth
Definition ps.h:429
uint8_t ref_loc_offset_layer_id[64]
Definition ps.h:441
uint8_t pps_palette_predictor_initializers_present_flag
Definition ps.h:481
int16_t ref_region_bottom_offset[64]
Definition ps.h:451
uint8_t residual_adaptive_colour_transform_enabled_flag
Definition ps.h:476
int8_t cr_qp_offset_list[6]
Definition ps.h:432
int16_t scaled_ref_layer_top_offset[64]
Definition ps.h:444
uint8_t pps_slice_act_qp_offsets_present_flag
Definition ps.h:477
uint8_t entropy_coding_sync_enabled_flag
Definition ps.h:399
int cr_qp_offset
Definition ps.h:390
uint8_t luma_bit_depth_entry
Definition ps.h:484
uint8_t deblocking_filter_control_present_flag
Definition ps.h:408
int diff_cu_qp_delta_depth
Definition ps.h:387
uint8_t chroma_bit_depth_cm_output
Definition ps.h:465
int * tile_pos_rs
TilePosRS.
Definition ps.h:498
uint16_t pps_palette_predictor_initializer[3][HEVC_MAX_PALETTE_PREDICTOR_SIZE]
Definition ps.h:486
uint8_t luma_bit_depth_cm_output
Definition ps.h:464
uint8_t pps_3d_extension_flag
Definition ps.h:425
uint8_t dependent_slice_segments_enabled_flag
Definition ps.h:397
uint8_t pps_multilayer_extension_flag
Definition ps.h:424
uint8_t phase_hor_luma[64]
Definition ps.h:453
uint8_t num_cm_ref_layers
Definition ps.h:458
int * min_tb_addr_zs
MinTbAddrZS.
Definition ps.h:499
uint8_t weighted_pred_flag
Definition ps.h:392
uint8_t log2_max_transform_skip_block_size
Definition ps.h:421
uint8_t chroma_qp_offset_list_enabled_flag
Definition ps.h:428
unsigned int * col_bd
ColBd.
Definition ps.h:491
int beta_offset
beta_offset_div2 * 2
Definition ps.h:411
uint8_t pps_num_palette_predictor_initializers
Definition ps.h:482
uint8_t cabac_init_present_flag
Definition ps.h:377
uint16_t num_tile_rows
num_tile_rows_minus1 + 1
Definition ps.h:402
int cb_qp_offset
Definition ps.h:389
uint8_t luma_bit_depth_cm_input
Definition ps.h:462
int data_size
Definition ps.h:503
uint8_t deblocking_filter_override_enabled_flag
Definition ps.h:409
int16_t scaled_ref_layer_left_offset[64]
Definition ps.h:443
uint8_t colour_mapping_enabled_flag
Definition ps.h:457
int16_t ref_region_left_offset[64]
Definition ps.h:448
unsigned int * column_width
ColumnWidth.
Definition ps.h:489
uint8_t pps_infer_scaling_list_flag
Definition ps.h:438
uint8_t tiles_enabled_flag
Definition ps.h:398
uint8_t monochrome_palette_flag
Definition ps.h:483
uint8_t cm_octant_depth
Definition ps.h:460
int8_t cm_adapt_threshold_u_delta
Definition ps.h:468
int8_t cm_adapt_threshold_v_delta
Definition ps.h:469
uint8_t cm_delta_flc_bits
Definition ps.h:467
int * min_tb_addr_zs_tab
MinTbAddrZS.
Definition ps.h:500
int8_t pps_act_cb_qp_offset
Definition ps.h:479
uint8_t num_ref_loc_offsets
Definition ps.h:440
uint8_t uniform_spacing_flag
Definition ps.h:403
uint8_t cu_qp_delta_enabled_flag
Definition ps.h:386
uint8_t cm_res_quant_bits
Definition ps.h:466
uint8_t loop_filter_across_tiles_enabled_flag
Definition ps.h:404
int num_ref_idx_l1_default_active
num_ref_idx_l1_default_active_minus1 + 1
Definition ps.h:380
int log2_parallel_merge_level
log2_parallel_merge_level_minus2 + 2
Definition ps.h:418
uint8_t pps_bit_depth_for_depth_layers_minus8
Definition ps.h:472
int * ctb_addr_rs_to_ts
CtbAddrRSToTS.
Definition ps.h:495
uint8_t poc_reset_info_present_flag
Definition ps.h:437
uint8_t sign_data_hiding_flag
Definition ps.h:375
uint8_t pps_scc_extension_flag
Definition ps.h:426
int pic_init_qp_minus26
Definition ps.h:381
unsigned int pps_id
Definition ps.h:372
uint8_t log2_sao_offset_scale_chroma
Definition ps.h:434
uint8_t pps_range_extensions_flag
Definition ps.h:423
int16_t ref_region_right_offset[64]
Definition ps.h:450
int * tile_id
TileId.
Definition ps.h:497
int16_t scaled_ref_layer_right_offset[64]
Definition ps.h:445
uint8_t pps_extension_present_flag
Definition ps.h:422
uint16_t num_tile_columns
num_tile_columns_minus1 + 1
Definition ps.h:401
int8_t pps_act_cr_qp_offset
Definition ps.h:480
int8_t phase_hor_chroma[64]
Definition ps.h:455
uint8_t cross_component_prediction_enabled_flag
Definition ps.h:427
uint8_t transquant_bypass_enable_flag
Definition ps.h:395
int num_extra_slice_header_bits
Definition ps.h:419
int16_t ref_region_top_offset[64]
Definition ps.h:449
uint8_t seq_loop_filter_across_slices_enabled_flag
Definition ps.h:406
uint8_t phase_ver_luma[64]
Definition ps.h:454
uint8_t chroma_bit_depth_cm_input
Definition ps.h:463
uint8_t output_flag_present_flag
Definition ps.h:394
int * ctb_addr_ts_to_rs
CtbAddrTSToRS.
Definition ps.h:496
uint8_t ref_region_offset_present_flag[64]
Definition ps.h:447
uint8_t pps_curr_pic_ref_enabled_flag
Definition ps.h:475
int num_ref_idx_l0_default_active
num_ref_idx_l0_default_active_minus1 + 1
Definition ps.h:379
int16_t scaled_ref_layer_bottom_offset[64]
Definition ps.h:446
int8_t pps_act_y_qp_offset
Definition ps.h:478
uint8_t * data
Definition ps.h:502
uint8_t scaling_list_data_present_flag
Definition ps.h:414
uint8_t weighted_bipred_flag
Definition ps.h:393
uint8_t cm_y_part_num_log2
Definition ps.h:461
int * col_idxX
Definition ps.h:493
uint8_t slice_header_extension_present_flag
Definition ps.h:420
unsigned int * row_bd
RowBd.
Definition ps.h:492
unsigned int * row_height
RowHeight.
Definition ps.h:490
ScalingList scaling_list
Definition ps.h:415
uint8_t scaled_ref_layer_offset_present_flag[64]
Definition ps.h:442
uint8_t pic_slice_level_chroma_qp_offsets_present_flag
Definition ps.h:391
const HEVCVPS * vps_list[HEVC_MAX_VPS_COUNT]
RefStruct references.
Definition ps.h:509
const HEVCPPS * pps_list[HEVC_MAX_PPS_COUNT]
RefStruct references.
Definition ps.h:511
const HEVCSPS * sps_list[HEVC_MAX_SPS_COUNT]
RefStruct references.
Definition ps.h:510
Definition ps.h:252
int qp_bd_offset
Definition ps.h:363
int sps_num_palette_predictor_initializers
Definition ps.h:342
uint8_t long_term_ref_pics_present
Definition ps.h:317
uint8_t * data
Definition ps.h:365
int bit_depth
Definition ps.h:262
uint8_t explicit_rdpcm_enabled
Definition ps.h:324
int chroma_format_idc
Definition ps.h:254
uint8_t conformance_window
Definition ps.h:308
int ctb_width
Definition ps.h:349
uint8_t extension_present
Definition ps.h:313
int max_latency_increase
Definition ps.h:273
unsigned int log2_min_pu_size
Definition ps.h:301
uint8_t persistent_rice_adaptation_enabled
Definition ps.h:328
uint8_t intra_boundary_filtering_disabled
Definition ps.h:338
uint8_t implicit_rdpcm_enabled
Definition ps.h:323
uint8_t intra_smoothing_disabled
Definition ps.h:326
int min_cb_height
Definition ps.h:353
HEVCWindow pic_conf_win
Definition ps.h:258
struct HEVCSPS::@302232210011177073022173315071011337265217373051 temporal_layer[HEVC_MAX_SUB_LAYERS]
uint8_t amp_enabled
Definition ps.h:315
uint8_t pcm_loop_filter_disabled
Definition ps.h:310
uint16_t lt_ref_pic_poc_lsb_sps[HEVC_MAX_LONG_TERM_REF_PICS]
Definition ps.h:285
int height
Definition ps.h:348
uint8_t palette_mode_enabled
Definition ps.h:336
uint8_t curr_pic_ref_enabled
Definition ps.h:335
int tb_mask
Definition ps.h:358
uint8_t multilayer_extension
Definition ps.h:331
unsigned int log2_min_tb_size
Definition ps.h:298
unsigned int log2_max_trafo_size
Definition ps.h:299
uint8_t sublayer_ordering_info
Definition ps.h:311
unsigned int log2_max_pcm_cb_size
Definition ps.h:293
uint8_t high_precision_offsets_enabled
Definition ps.h:327
uint8_t sps_3d_extension
Definition ps.h:332
unsigned vps_id
Definition ps.h:253
int sps_palette_predictor_initializer[3][HEVC_MAX_PALETTE_PREDICTOR_SIZE]
Definition ps.h:343
uint8_t scaling_list_enabled
Definition ps.h:314
uint8_t num_long_term_ref_pics_sps
Definition ps.h:287
int min_pu_height
Definition ps.h:357
int max_sub_layers
Definition ps.h:269
uint8_t range_extension
Definition ps.h:320
uint8_t temporal_id_nesting
Definition ps.h:312
uint8_t transform_skip_rotation_enabled
Definition ps.h:321
ShortTermRPS st_rps[HEVC_MAX_SHORT_TERM_REF_PIC_SETS]
Definition ps.h:283
int motion_vector_resolution_control_idc
Definition ps.h:344
HEVCWindow output_window
Definition ps.h:256
VUI vui
Definition ps.h:277
unsigned int nb_st_rps
Definition ps.h:282
int ctb_size
Definition ps.h:351
int min_tb_height
Definition ps.h:355
int min_cb_width
Definition ps.h:352
int max_transform_hierarchy_depth_intra
Definition ps.h:305
uint8_t temporal_mvp_enabled
Definition ps.h:318
int min_tb_width
Definition ps.h:354
int min_pu_width
Definition ps.h:356
struct HEVCSPS::@242046257156327133375225362114024102042022044222 pcm
unsigned int log2_max_poc_lsb
Definition ps.h:267
int data_size
Definition ps.h:366
uint8_t extended_precision_processing
Definition ps.h:325
unsigned int log2_min_cb_size
Definition ps.h:296
int vui_present
Definition ps.h:276
unsigned int log2_min_pcm_cb_size
Definition ps.h:292
int bit_depth_chroma
Definition ps.h:263
unsigned int log2_diff_max_min_transform_block_size
Definition ps.h:302
uint32_t used_by_curr_pic_lt
Definition ps.h:286
int ctb_height
Definition ps.h:350
int width
coded frame dimension in various units
Definition ps.h:347
unsigned int log2_diff_max_min_coding_block_size
Definition ps.h:297
const HEVCVPS * vps
RefStruct reference.
Definition ps.h:368
unsigned int log2_ctb_size
Definition ps.h:300
uint8_t palette_predictor_initializers_present
Definition ps.h:337
uint8_t separate_colour_plane
Definition ps.h:307
uint8_t sao_enabled
Definition ps.h:316
uint8_t pcm_enabled
Definition ps.h:309
uint8_t cabac_bypass_alignment_enabled
Definition ps.h:329
int num_reorder_pics
Definition ps.h:272
int max_dec_pic_buffering
Definition ps.h:271
ScalingList scaling_list
Definition ps.h:280
HEVCHdrParams hdr
Definition ps.h:260
int hshift[3]
Definition ps.h:360
int max_transform_hierarchy_depth_inter
Definition ps.h:304
uint8_t strong_intra_smoothing_enabled
Definition ps.h:319
uint8_t scc_extension
Definition ps.h:334
PTL ptl
Definition ps.h:278
int delta_palette_max_predictor_size
Definition ps.h:341
int pixel_shift
Definition ps.h:264
int vshift[3]
Definition ps.h:361
int palette_max_size
Definition ps.h:340
uint8_t transform_skip_context_enabled
Definition ps.h:322
enum AVPixelFormat pix_fmt
Definition ps.h:265
uint32_t cpb_size_du_value_minus1[HEVC_MAX_CPB_CNT]
Definition ps.h:40
uint32_t bit_rate_du_value_minus1[HEVC_MAX_CPB_CNT]
Definition ps.h:41
uint32_t cbr_flag
Definition ps.h:42
uint32_t bit_rate_value_minus1[HEVC_MAX_CPB_CNT]
Definition ps.h:38
uint32_t cpb_size_value_minus1[HEVC_MAX_CPB_CNT]
Definition ps.h:39
Definition ps.h:168
int vps_max_sub_layers
vps_max_temporal_layers_minus1 + 1
Definition ps.h:173
uint64_t ols[HEVC_VPS_MAX_LAYERS]
Definition ps.h:233
uint8_t vps_temporal_id_nesting_flag
Definition ps.h:171
uint8_t layer_id_in_nuh[HEVC_VPS_MAX_LAYERS]
Definition ps.h:212
uint8_t num_add_layer_sets
Definition ps.h:237
unsigned int vps_num_reorder_pics[HEVC_MAX_SUB_LAYERS]
Definition ps.h:178
unsigned int vps_max_latency_increase[HEVC_MAX_SUB_LAYERS]
Definition ps.h:179
int vps_num_hrd_parameters
Definition ps.h:187
unsigned max_num_reorder_pics
Definition ps.h:222
unsigned max_dec_pic_buffering
Definition ps.h:221
int nb_layers
Definition ps.h:203
uint8_t vps_poc_proportional_to_timing_flag
Definition ps.h:185
HEVCHdrParams * hdr
Definition ps.h:189
PTL ptl
Definition ps.h:175
uint16_t view_id[HEVC_VPS_MAX_LAYERS]
Definition ps.h:227
unsigned int vps_max_dec_pic_buffering[HEVC_MAX_SUB_LAYERS]
Definition ps.h:177
uint8_t vps_timing_info_present_flag
Definition ps.h:182
uint8_t default_ref_layers_active
Definition ps.h:214
uint8_t poc_lsb_aligned
Definition ps.h:216
int vps_num_ticks_poc_diff_one
vps_num_ticks_poc_diff_one_minus1 + 1
Definition ps.h:186
uint8_t * data
Definition ps.h:241
RepFormat rep_format
Definition ps.h:239
uint32_t vps_time_scale
Definition ps.h:184
uint8_t num_output_layer_sets
Definition ps.h:230
int vps_sub_layer_ordering_info_present_flag
Definition ps.h:176
unsigned max_latency_increase
Definition ps.h:223
uint32_t vps_num_units_in_tick
Definition ps.h:183
int8_t layer_idx[HEVC_MAX_NUH_LAYER_ID+1]
Definition ps.h:210
int data_size
Definition ps.h:242
int vps_max_layers
Definition ps.h:172
uint8_t poc_lsb_not_present
Definition ps.h:218
unsigned int vps_id
Definition ps.h:169
uint16_t scalability_mask_flag
Definition ps.h:205
uint8_t num_direct_ref_layers[HEVC_VPS_MAX_LAYERS]
Definition ps.h:236
int vps_max_layer_id
Definition ps.h:180
uint8_t max_one_active_ref_layer
Definition ps.h:215
int vps_num_layer_sets
vps_num_layer_sets_minus1 + 1
Definition ps.h:181
unsigned int top_offset
Definition ps.h:94
unsigned int right_offset
Definition ps.h:93
unsigned int bottom_offset
Definition ps.h:95
unsigned int left_offset
Definition ps.h:92
uint8_t intra_constraint_flag
Definition ps.h:142
uint8_t level_idc
Definition ps.h:147
uint8_t max_420chroma_constraint_flag
Definition ps.h:140
uint8_t frame_only_constraint_flag
Definition ps.h:135
uint8_t progressive_source_flag
Definition ps.h:132
uint8_t lower_bit_rate_constraint_flag
Definition ps.h:144
uint8_t max_422chroma_constraint_flag
Definition ps.h:139
uint8_t interlaced_source_flag
Definition ps.h:133
uint8_t inbld_flag
Definition ps.h:146
uint8_t max_8bit_constraint_flag
Definition ps.h:138
uint8_t profile_idc
Definition ps.h:130
uint8_t max_monochrome_constraint_flag
Definition ps.h:141
uint8_t profile_space
Definition ps.h:128
uint8_t tier_flag
Definition ps.h:129
uint8_t profile_compatibility_flag[32]
Definition ps.h:131
uint8_t max_10bit_constraint_flag
Definition ps.h:137
uint8_t non_packed_constraint_flag
Definition ps.h:134
uint8_t one_picture_only_constraint_flag
Definition ps.h:143
uint8_t max_14bit_constraint_flag
Definition ps.h:145
uint8_t max_12bit_constraint_flag
Definition ps.h:136
Definition ps.h:150
PTLCommon sub_layer_ptl[HEVC_MAX_SUB_LAYERS]
Definition ps.h:152
uint8_t sub_layer_level_present_flag[HEVC_MAX_SUB_LAYERS]
Definition ps.h:155
uint8_t sub_layer_profile_present_flag[HEVC_MAX_SUB_LAYERS]
Definition ps.h:154
PTLCommon general_ptl
Definition ps.h:151
uint8_t separate_colour_plane_flag
Definition ps.h:162
uint16_t pic_height_in_luma_samples
Definition ps.h:160
uint8_t bit_depth_luma
bit_depth_vps_luma_minus8 + 8
Definition ps.h:163
uint16_t pic_width_in_luma_samples
Definition ps.h:159
uint8_t chroma_format_idc
Definition ps.h:161
HEVCWindow conf_win
Definition ps.h:165
uint8_t bit_depth_chroma
bit_depth_vps_chroma_minus8 + 8
Definition ps.h:164
uint8_t sl_dc[2][6]
Definition ps.h:249
uint8_t sl[4][6][64]
Definition ps.h:248
uint32_t used
Definition ps.h:77
unsigned rps_predict
Definition ps.h:87
unsigned delta_rps_sign
Definition ps.h:85
uint8_t rps_idx_num_delta_pocs
Definition ps.h:82
uint8_t num_delta_pocs
Definition ps.h:81
int32_t delta_poc[32]
Definition ps.h:76
uint8_t num_negative_pics
Definition ps.h:80
uint16_t abs_delta_rps
Definition ps.h:84
unsigned use_delta
Definition ps.h:88
uint8_t delta_idx
Definition ps.h:79
Definition ps.h:98
int vui_poc_proportional_to_timing_flag
Definition ps.h:112
int vui_timing_info_present_flag
Definition ps.h:109
int max_bits_per_min_cu_denom
Definition ps.h:122
int log2_max_mv_length_horizontal
Definition ps.h:123
int tiles_fixed_structure_flag
Definition ps.h:117
int motion_vectors_over_pic_boundaries_flag
Definition ps.h:118
int log2_max_mv_length_vertical
Definition ps.h:124
int bitstream_restriction_flag
Definition ps.h:116
int frame_field_info_present_flag
Definition ps.h:104
int field_seq_flag
Definition ps.h:103
int max_bytes_per_pic_denom
Definition ps.h:121
int vui_num_ticks_poc_diff_one_minus1
Definition ps.h:113
int vui_hrd_parameters_present_flag
Definition ps.h:114
uint32_t vui_time_scale
Definition ps.h:111
int min_spatial_segmentation_idc
Definition ps.h:120
int neutra_chroma_indication_flag
Definition ps.h:101
H2645VUI common
Definition ps.h:99
HEVCWindow def_disp_win
Definition ps.h:107
int default_display_window_flag
Definition ps.h:106
int restricted_ref_pic_lists_flag
Definition ps.h:119
uint32_t vui_num_units_in_tick
Definition ps.h:110
int dpb_size