xine-lib  1.2.9
nal.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008 Julian Scheel
3  *
4  * This file is part of xine, a free video player.
5  *
6  * xine is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * xine 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
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
19  *
20  * nal.h: H264 NAL structures
21  */
22 
23 #ifndef NAL_H_
24 #define NAL_H_
25 #include <stdint.h>
26 #include <vdpau/vdpau.h>
27 
29 {
44 };
45 
46 enum pic_struct {
56 };
57 
58 enum ct_type {
63 };
64 
65 /* slice types repeat from 5-9, we
66  * need a helper function for comparison
67  */
69 {
71 };
72 
74 {
94 };
95 
96 static const uint8_t zigzag_4x4[16] = {
97  0+0*4, 1+0*4, 0+1*4, 0+2*4,
98  1+1*4, 2+0*4, 3+0*4, 2+1*4,
99  1+2*4, 0+3*4, 1+3*4, 2+2*4,
100  3+1*4, 3+2*4, 2+3*4, 3+3*4,
101 };
102 
103 static const uint8_t zigzag_8x8[64] = {
104  0+0*8, 1+0*8, 0+1*8, 0+2*8,
105  1+1*8, 2+0*8, 3+0*8, 2+1*8,
106  1+2*8, 0+3*8, 0+4*8, 1+3*8,
107  2+2*8, 3+1*8, 4+0*8, 5+0*8,
108  4+1*8, 3+2*8, 2+3*8, 1+4*8,
109  0+5*8, 0+6*8, 1+5*8, 2+4*8,
110  3+3*8, 4+2*8, 5+1*8, 6+0*8,
111  7+0*8, 6+1*8, 5+2*8, 4+3*8,
112  3+4*8, 2+5*8, 1+6*8, 0+7*8,
113  1+7*8, 2+6*8, 3+5*8, 4+4*8,
114  5+3*8, 6+2*8, 7+1*8, 7+2*8,
115  6+3*8, 5+4*8, 4+5*8, 3+6*8,
116  2+7*8, 3+7*8, 4+6*8, 5+5*8,
117  6+4*8, 7+3*8, 7+4*8, 6+5*8,
118  5+6*8, 4+7*8, 5+7*8, 6+6*8,
119  7+5*8, 7+6*8, 6+7*8, 7+7*8,
120 };
121 
122 static inline uint32_t slice_type(uint32_t slice_type)
123 {
124  return (slice_type < 10 ? slice_type % 5 : slice_type);
125 }
126 
127 #if 0
128 static inline void print_slice_type(uint32_t slice_type)
129 {
130  switch(slice_type) {
131  case SLICE_P:
132  printf("SLICE_P\n");
133  break;
134  case SLICE_B:
135  printf("SLICE_B\n");
136  break;
137  case SLICE_I:
138  printf("SLICE_I\n");
139  break;
140  case SLICE_SP:
141  printf("SLICE_SP\n");
142  break;
143  case SLICE_SI:
144  printf("SLICE_SI\n");
145  break;
146  default:
147  printf("Unknown SLICE\n");
148  }
149 }
150 #endif
151 
153 {
154  uint32_t cpb_cnt_minus1;
155  uint8_t bit_rate_scale;
156  uint8_t cpb_size_scale;
157 
158  uint32_t bit_rate_value_minus1[32];
159  uint32_t cpb_size_value_minus1[32];
160  uint8_t cbr_flag[32];
161 
166 };
167 
169 {
170  uint8_t profile_idc; // 0xff
171  uint8_t constraint_setN_flag; // 0x0f
172  uint8_t level_idc; // 0xff
175  uint8_t separate_colour_plane_flag; // 0x01
180 
181  /* if(seq_scaling_matrix_present_flag) */
183 
184  uint8_t scaling_lists_4x4[6][16];
185  uint8_t scaling_lists_8x8[2][64];
186  /* endif */
187 
189  uint32_t max_frame_num;
191  // if pic_order_cnt_type==0
193  // else
198  int32_t offset_for_ref_frame[256];
199  // TODO: some more ignored here
200  uint32_t num_ref_frames;
202  /*uint32_t pic_width_in_mbs_minus1;
203  uint32_t pic_height_in_map_units_minus1;*/
204  uint32_t pic_width;
205  uint32_t pic_height;
215 
216  /* vui_parameters */
217  struct
218  {
220 
221  /* aspect_ration_info_present_flag == 1 */
223  uint16_t sar_width;
224  uint16_t sar_height;
225 
227  /* overscan_info_present_flag == 1 */
229 
231  /* video_signal_type_present_flag == 1 */
232  uint8_t video_format;
235  /* colour_description_present == 1 */
239 
241  /* chroma_loc_info_present_flag == 1 */
244 
246  /* timing_info_present_flag == 1 */
248  uint32_t time_scale;
250 
253 
256 
258 
261 
262  /* bitstream_restriction_flag == 1 */
270  } vui_parameters;
271 
272 };
273 
275 {
280 
282 
283  /* num_slice_groups_minus1 > 0 */
285 
286  /* slice_group_map_type == 1 */
287  uint32_t run_length_minus1[64];
288 
289  /* slice_group_map_type == 2 */
290  uint32_t top_left[64];
291  uint32_t bottom_right[64];
292 
293  /* slice_group_map_type == 3,4,5 */
296 
297  /* slice_group_map_type == 6 */
299  uint8_t slice_group_id[64];
300 
311 
312  /* if(more_rbsp_data) */
315 
316  /* if(pic_scaling_matrix_present_flag) */
318 
319  uint8_t scaling_lists_4x4[6][16];
320  uint8_t scaling_lists_8x8[2][64];
321 
323 };
324 
325 /*struct clock_timestamp {
326  uint8_t ct_type;
327  uint8_t nuit_fiel_based_flag;
328  uint8_t counting_type;
329  uint8_t full_timestamp_flag;
330  uint8_t discontinuity_flag;
331  uint8_t cnt_dropped_flag;
332  uint8_t n_frames
333 };*/
334 
335 /* sei contains several additional info, we do
336  * only care for pic_timing, to handle display
337  * reordering
338  */
340 {
341  uint32_t payload_type;
343  uint32_t payload_size;
345 
346  struct
347  {
348  /* cpb_dpb_delays_present_flag == 1 */
351 
352  uint8_t pic_struct;
353  uint8_t ct_type : 1;
355  uint8_t counting_type : 5;
356  uint8_t full_timestamp_flag : 1;
357  uint8_t discontinuity_flag : 1;
358  uint8_t cnt_dropped_flag : 1;
359  uint8_t n_frames;
360 
361  uint8_t seconds_value : 6;
362  uint8_t minutes_value : 6;
363  uint8_t hours_value : 5;
364 
365  int32_t time_offset;
366  } pic_timing;
367 };
368 
370 {
372  uint32_t slice_type;
375  uint32_t frame_num;
376  uint8_t field_pic_flag;
378  uint32_t idr_pic_id;
379 
380  /* sps->pic_order_cnt_type == 0 */
383  /* sps->pic_order_cnt_type == 1 && !sps->delta_pic_order_always_zero_flag */
385 
386  /* pps->redundant_pic_cnt_present_flag == 1 */
388 
389  /* slice_type == B */
391 
392  /* slice_type == P, SP, B */
394  /* num_ref_idx_active_override_flag == 1 */
396  /* slice type == B */
398 
399  /* ref_pic_list_reordering */
400  struct
401  {
402  /* slice_type != I && slice_type != SI */
404 
405  /* slice_type == B */
407 
408  /* ref_pic_list_reordering_flag_l0 == 1 */
410 
411  /* reordering_of_pic_nums_idc == 0, 1 */
413 
414  /* reordering_of_pic_nums_idc == 2) */
417 
418  /* pred_weight_table */
419  struct
420  {
422 
423  /* chroma_format_idc != 0 */
425 
426  int32_t luma_weight_l0[32];
427  int32_t luma_offset_l0[32];
428 
429  int32_t chroma_weight_l0[32][2];
430  int32_t chroma_offset_l0[32][2];
431 
432  int32_t luma_weight_l1[32];
433  int32_t luma_offset_l1[32];
434 
435  int32_t chroma_weight_l1[32][2];
436  int32_t chroma_offset_l1[32][2];
438 
439  /* def_rec_pic_marking */
440  struct
441  {
442 
443  /* nal_unit_type == NAL_SLICE_IDR */
446 
447  /* else */
450 
452  uint32_t long_term_pic_num;
455  } dec_ref_pic_marking[10];
457 };
458 
459 struct nal_unit {
460  uint8_t nal_ref_idc; // 0x03
462 
463  //union {
464  struct sei_message sei;
468  //};
469 
470  struct nal_unit *prev;
471  struct nal_unit *next;
472 
473  uint32_t lock_counter;
474 };
475 
476 struct nal_buffer {
477  struct nal_unit *first;
478  struct nal_unit *last;
479 
480  uint8_t max_size;
481  uint8_t used;
482 };
483 
484 static struct nal_buffer* create_nal_buffer(uint8_t max_size);
485 static void free_nal_buffer(struct nal_buffer *nal_buffer);
486 static void nal_buffer_append(struct nal_buffer *nal_buffer, struct nal_unit *nal);
487 static void nal_buffer_remove(struct nal_buffer *nal_buffer, struct nal_unit *nal);
488 #if 0
489 static void nal_buffer_flush(struct nal_buffer *nal_buffer);
490 #endif
491 
493  uint32_t seq_parameter_set_id);
495  uint32_t pic_parameter_set_id);
496 static struct nal_unit* nal_buffer_get_last(struct nal_buffer *nal_buffer);
497 
498 static struct nal_unit* create_nal_unit(void);
499 static void lock_nal_unit(struct nal_unit *nal);
500 static void release_nal_unit(struct nal_unit *nal);
501 #if 0
502 static void copy_nal_unit(struct nal_unit *dest, struct nal_unit *src);
503 #endif
504 
505 #endif /* NAL_H_ */
uint8_t scaling_lists_4x4[6][16]
Definition: nal.h:319
Definition: nal.h:82
uint8_t hours_value
Definition: nal.h:363
Definition: nal.h:36
uint8_t constraint_setN_flag
Definition: nal.h:171
uint8_t entropy_coding_mode_flag
Definition: nal.h:278
uint8_t field_pic_flag
Definition: nal.h:376
struct sei_message::@45 pic_timing
ct_type
Definition: nal.h:58
Definition: nal.h:90
uint8_t seq_scaling_matrix_present_flag
Definition: nal.h:179
uint32_t max_dec_frame_buffering
Definition: nal.h:269
uint8_t direct_8x8_inference_flag
Definition: nal.h:208
Definition: nal.h:30
static void nal_buffer_append(struct nal_buffer *nal_buffer, struct nal_unit *nal)
uint32_t pic_order_cnt_lsb
Definition: nal.h:381
uint8_t last_payload_type_byte
Definition: nal.h:342
uint32_t bit_depth_chroma_minus8
Definition: nal.h:177
Definition: nal.h:92
uint8_t delta_pic_order_always_zero_flag
Definition: nal.h:194
uint32_t bit_rate_value_minus1[32]
Definition: nal.h:158
uint32_t num_reorder_frames
Definition: nal.h:268
uint8_t transform_8x8_mode_flag
Definition: nal.h:313
uint8_t pic_scaling_list_present_flag[8]
Definition: nal.h:317
uint8_t vui_parameters_present_flag
Definition: nal.h:214
Definition: nal.h:38
struct sei_message sei
Definition: nal.h:464
uint32_t abs_diff_pic_num_minus1
Definition: nal.h:412
Definition: nal.h:70
uint8_t nal_hrd_parameters_present_flag
Definition: nal.h:251
Definition: nal.h:76
Definition: nal.h:476
int32_t offset_for_non_ref_pic
Definition: nal.h:195
Definition: nal.h:70
int32_t luma_weight_l1[32]
Definition: nal.h:432
uint32_t pic_parameter_set_id
Definition: nal.h:373
uint8_t pic_scaling_matrix_present_flag
Definition: nal.h:314
uint32_t max_long_term_frame_idx_plus1
Definition: nal.h:454
uint32_t seq_parameter_set_id
Definition: nal.h:277
Definition: nal.h:43
uint8_t pic_struct_present_flag
Definition: nal.h:259
struct nal_unit * prev
Definition: nal.h:470
uint8_t n_frames
Definition: nal.h:359
Definition: nal.h:32
Definition: nal.h:77
Definition: nal.h:75
struct slice_header::@48 dec_ref_pic_marking[10]
uint8_t separate_colour_plane_flag
Definition: nal.h:175
struct pic_parameter_set_rbsp pps
Definition: nal.h:466
int32_t second_chroma_qp_index_offset
Definition: nal.h:322
uint32_t chroma_log2_weight_denom
Definition: nal.h:424
Definition: nal.h:70
Definition: nal.h:47
uint32_t memory_management_control_operation
Definition: nal.h:449
uint32_t num_ref_idx_l0_active_minus1
Definition: nal.h:301
uint8_t slice_group_id[64]
Definition: nal.h:299
uint8_t chroma_sample_loc_type_bottom_field
Definition: nal.h:243
uint32_t frame_crop_top_offset
Definition: nal.h:212
uint32_t payload_type
Definition: nal.h:341
uint8_t constrained_intra_pred_flag
Definition: nal.h:309
Definition: nal.h:78
Definition: nal.h:62
int32_t pic_init_qs_minus26
Definition: nal.h:306
Definition: nal.h:86
struct nal_unit * next
Definition: nal.h:471
int32_t luma_weight_l0[32]
Definition: nal.h:426
uint32_t lock_counter
Definition: nal.h:473
Definition: nal.h:87
uint32_t frame_num
Definition: nal.h:375
uint32_t log2_max_pic_order_cnt_lsb_minus4
Definition: nal.h:192
Definition: nal.h:91
int32_t delta_pic_order_cnt_bottom
Definition: nal.h:382
uint32_t log2_max_frame_num_minus4
Definition: nal.h:188
struct slice_header::@47 pred_weight_table
uint32_t seq_parameter_set_id
Definition: nal.h:173
uint8_t cpb_removal_delay_length_minus1
Definition: nal.h:163
Definition: nal.h:49
static uint32_t slice_type(uint32_t slice_type)
Definition: nal.h:122
static const uint8_t zigzag_8x8[64]
Definition: nal.h:103
static void release_nal_unit(struct nal_unit *nal)
enum nal_unit_types nal_unit_type
Definition: nal.h:461
Definition: nal.h:42
Definition: nal.h:70
static struct nal_unit * nal_buffer_get_by_pps_id(struct nal_buffer *nal_buffer, uint32_t pic_parameter_set_id)
uint32_t frame_crop_bottom_offset
Definition: nal.h:213
uint8_t seconds_value
Definition: nal.h:361
uint8_t video_signal_type_present_flag
Definition: nal.h:230
uint8_t dpb_output_delay_length_minus1
Definition: nal.h:164
struct nal_unit * last
Definition: nal.h:478
Definition: nal.h:51
Definition: nal.h:54
Definition: nal.h:35
struct seq_parameter_set_rbsp::@44 vui_parameters
Definition: nal.h:50
uint8_t max_size
Definition: nal.h:480
uint8_t ref_pic_list_reordering_flag_l0
Definition: nal.h:403
uint8_t full_timestamp_flag
Definition: nal.h:356
uint32_t num_ref_idx_l0_active_minus1
Definition: nal.h:395
int32_t time_offset
Definition: nal.h:365
uint8_t transfer_characteristics
Definition: nal.h:237
Definition: nal.h:31
uint16_t sar_height
Definition: nal.h:224
Definition: nal.h:53
uint8_t colour_primaries
Definition: nal.h:236
uint8_t cbr_flag[32]
Definition: nal.h:160
uint8_t frame_mbs_only_flag
Definition: nal.h:206
uint8_t fixed_frame_rate_flag
Definition: nal.h:249
Definition: nal.h:37
static struct nal_unit * create_nal_unit(void)
uint8_t weighted_bipred_idc
Definition: nal.h:304
uint32_t first_mb_in_slice
Definition: nal.h:371
uint8_t matrix_coefficients
Definition: nal.h:238
uint32_t reordering_of_pic_nums_idc
Definition: nal.h:409
uint8_t overscan_appropriate_flag
Definition: nal.h:228
struct nal_unit * first
Definition: nal.h:477
uint8_t bitstream_restriction_flag
Definition: nal.h:260
uint32_t top_left[64]
Definition: nal.h:290
int32_t chroma_offset_l1[32][2]
Definition: nal.h:436
uint8_t scaling_lists_8x8[2][64]
Definition: nal.h:320
uint32_t num_slice_groups_minus1
Definition: nal.h:281
uint8_t chroma_sample_loc_type_top_field
Definition: nal.h:242
Definition: nal.h:34
uint8_t scaling_lists_8x8[2][64]
Definition: nal.h:185
uint32_t long_term_frame_idx
Definition: nal.h:453
uint8_t time_offset_length
Definition: nal.h:165
int32_t offset_for_ref_frame[256]
Definition: nal.h:198
uint8_t colour_description_present
Definition: nal.h:234
uint32_t log2_max_mv_length_vertical
Definition: nal.h:267
uint8_t cnt_dropped_flag
Definition: nal.h:358
static void lock_nal_unit(struct nal_unit *nal)
Definition: nal.h:48
uint32_t luma_log2_weight_denom
Definition: nal.h:421
uint8_t cpb_size_scale
Definition: nal.h:156
uint32_t payload_size
Definition: nal.h:343
static struct nal_unit * nal_buffer_get_by_sps_id(struct nal_buffer *nal_buffer, uint32_t seq_parameter_set_id)
Definition: nal.h:40
uint32_t dec_ref_pic_marking_count
Definition: nal.h:456
Definition: nal.h:89
uint8_t vc1_hrd_parameters_present_flag
Definition: nal.h:254
uint32_t pic_order_cnt_type
Definition: nal.h:190
uint8_t video_format
Definition: nal.h:232
int32_t delta_pic_order_cnt[2]
Definition: nal.h:384
Definition: nal.h:88
uint8_t cpb_removal_delay
Definition: nal.h:349
Definition: nal.h:80
uint8_t profile_idc
Definition: nal.h:170
uint8_t pic_struct
Definition: nal.h:352
Definition: nal.h:369
uint8_t aspect_ratio_idc
Definition: nal.h:222
Definition: nal.h:459
uint8_t gaps_in_frame_num_value_allowed_flag
Definition: nal.h:201
int32_t offset_for_top_to_bottom_field
Definition: nal.h:196
Definition: nal.h:52
uint8_t nuit_field_based_flag
Definition: nal.h:354
uint8_t pic_order_present_flag
Definition: nal.h:279
aspect_ratio
Definition: alterh264_decode.h:50
Definition: nal.h:152
Definition: nal.h:81
uint8_t no_output_of_prior_pics_flag
Definition: nal.h:444
uint32_t pic_parameter_set_id
Definition: nal.h:276
uint8_t seq_scaling_list_present_flag[8]
Definition: nal.h:182
uint8_t scaling_lists_4x4[6][16]
Definition: nal.h:184
int32_t luma_offset_l1[32]
Definition: nal.h:433
Definition: nal.h:93
static struct nal_unit * nal_buffer_get_last(struct nal_buffer *nal_buffer)
Definition: nal.h:39
Definition: nal.h:339
uint8_t chroma_loc_info_present_flag
Definition: nal.h:240
uint8_t counting_type
Definition: nal.h:355
int32_t chroma_weight_l1[32][2]
Definition: nal.h:435
Definition: nal.h:84
uint32_t max_bits_per_mb_denom
Definition: nal.h:265
int32_t chroma_offset_l0[32][2]
Definition: nal.h:430
uint32_t cpb_cnt_minus1
Definition: nal.h:154
static struct nal_buffer * create_nal_buffer(uint8_t max_size)
uint32_t pic_size_in_map_units_minus1
Definition: nal.h:298
uint8_t low_delay_hrd_flag
Definition: nal.h:257
uint8_t bit_rate_scale
Definition: nal.h:155
int32_t redundant_pic_cnt
Definition: nal.h:387
uint32_t pic_width
Definition: nal.h:204
uint8_t long_term_reference_flag
Definition: nal.h:445
uint8_t weighted_pred_flag
Definition: nal.h:303
Definition: nal.h:33
uint8_t frame_cropping_flag
Definition: nal.h:209
uint8_t deblocking_filter_control_present_flag
Definition: nal.h:308
uint32_t bottom_right[64]
Definition: nal.h:291
uint32_t idr_pic_id
Definition: nal.h:378
uint32_t slice_type
Definition: nal.h:372
Definition: nal.h:61
uint8_t ct_type
Definition: nal.h:353
uint8_t adaptive_ref_pic_marking_mode_flag
Definition: nal.h:448
uint32_t pic_height
Definition: nal.h:205
static void free_nal_buffer(struct nal_buffer *nal_buffer)
int32_t chroma_weight_l0[32][2]
Definition: nal.h:429
uint32_t max_frame_num
Definition: nal.h:189
uint8_t direct_spatial_mv_pred_flag
Definition: nal.h:390
uint8_t motion_vectors_over_pic_boundaries
Definition: nal.h:263
struct seq_parameter_set_rbsp sps
Definition: nal.h:465
uint32_t num_ref_idx_l1_active_minus1
Definition: nal.h:397
struct slice_header slc
Definition: nal.h:467
pic_struct
Definition: nal.h:46
uint32_t log2_max_mv_length_horizontal
Definition: nal.h:266
struct hrd_parameters nal_hrd_parameters
Definition: nal.h:252
uint16_t sar_width
Definition: nal.h:223
Definition: nal.h:60
Definition: nal.h:70
uint8_t qpprime_y_zero_transform_bypass_flag
Definition: nal.h:178
struct slice_header::@46 ref_pic_list_reordering
uint8_t initial_cpb_removal_delay_length_minus1
Definition: nal.h:162
uint32_t difference_of_pic_nums_minus1
Definition: nal.h:451
uint8_t level_idc
Definition: nal.h:172
uint8_t discontinuity_flag
Definition: nal.h:357
Definition: nal.h:85
uint8_t bottom_field_flag
Definition: nal.h:377
uint32_t num_ref_frames
Definition: nal.h:200
int32_t luma_offset_l0[32]
Definition: nal.h:427
uint32_t long_term_pic_num
Definition: nal.h:415
uint8_t overscan_info_present_flag
Definition: nal.h:226
uint32_t frame_crop_right_offset
Definition: nal.h:211
uint8_t dpb_output_delay
Definition: nal.h:350
uint8_t nal_ref_idc
Definition: nal.h:460
Definition: nal.h:168
slice_types
Definition: nal.h:68
Definition: nal.h:59
int32_t chroma_qp_index_offset
Definition: nal.h:307
uint8_t minutes_value
Definition: nal.h:362
int32_t pic_init_qp_minus26
Definition: nal.h:305
uint32_t time_scale
Definition: nal.h:248
static void nal_buffer_remove(struct nal_buffer *nal_buffer, struct nal_unit *nal)
uint32_t max_bytes_per_pic_denom
Definition: nal.h:264
Definition: nal.h:274
uint8_t used
Definition: nal.h:481
uint32_t num_units_in_tick
Definition: nal.h:247
Definition: nal.h:83
uint8_t last_payload_size_byte
Definition: nal.h:344
uint8_t mb_adaptive_frame_field_flag
Definition: nal.h:207
uint32_t slice_group_change_rate_minus1
Definition: nal.h:295
uint8_t redundant_pic_cnt_present_flag
Definition: nal.h:310
uint32_t num_ref_idx_l1_active_minus1
Definition: nal.h:302
nal_unit_types
Definition: nal.h:28
uint32_t run_length_minus1[64]
Definition: nal.h:287
Definition: nal.h:79
Definition: nal.h:41
uint8_t slice_group_change_direction_flag
Definition: nal.h:294
uint32_t bit_depth_luma_minus8
Definition: nal.h:176
uint32_t frame_crop_left_offset
Definition: nal.h:210
uint32_t chroma_format_idc
Definition: nal.h:174
uint8_t ref_pic_list_reordering_flag_l1
Definition: nal.h:406
uint8_t timing_info_present_flag
Definition: nal.h:245
uint8_t num_ref_frames_in_pic_order_cnt_cycle
Definition: nal.h:197
struct hrd_parameters vc1_hrd_parameters
Definition: nal.h:255
uint8_t colour_plane_id
Definition: nal.h:374
uint32_t slice_group_map_type
Definition: nal.h:284
uint32_t cpb_size_value_minus1[32]
Definition: nal.h:159
uint8_t aspect_ration_info_present_flag
Definition: nal.h:219
uint8_t video_full_range_flag
Definition: nal.h:233
uint8_t num_ref_idx_active_override_flag
Definition: nal.h:393
static const uint8_t zigzag_4x4[16]
Definition: nal.h:96
Definition: nal.h:55