35 #define MAX_LOG2_MAX_FRAME_NUM (12 + 4)
36 #define MIN_LOG2_MAX_FRAME_NUM 4
58 #define QP(qP, depth) ((qP) + 6 * ((depth) - 8))
60 #define CHROMA_QP_TABLE_END(d) \
61 QP(0, d), QP(1, d), QP(2, d), QP(3, d), QP(4, d), QP(5, d), \
62 QP(6, d), QP(7, d), QP(8, d), QP(9, d), QP(10, d), QP(11, d), \
63 QP(12, d), QP(13, d), QP(14, d), QP(15, d), QP(16, d), QP(17, d), \
64 QP(18, d), QP(19, d), QP(20, d), QP(21, d), QP(22, d), QP(23, d), \
65 QP(24, d), QP(25, d), QP(26, d), QP(27, d), QP(28, d), QP(29, d), \
66 QP(29, d), QP(30, d), QP(31, d), QP(32, d), QP(32, d), QP(33, d), \
67 QP(34, d), QP(34, d), QP(35, d), QP(35, d), QP(36, d), QP(36, d), \
68 QP(37, d), QP(37, d), QP(37, d), QP(38, d), QP(38, d), QP(38, d), \
69 QP(39, d), QP(39, d), QP(39, d), QP(39, d)
81 { 6, 13, 20, 28, 13, 20, 28, 32,
82 20, 28, 32, 37, 28, 32, 37, 42 },
83 { 10, 14, 20, 24, 14, 20, 24, 27,
84 20, 24, 27, 30, 24, 27, 30, 34 }
88 { 6, 10, 13, 16, 18, 23, 25, 27,
89 10, 11, 16, 18, 23, 25, 27, 29,
90 13, 16, 18, 23, 25, 27, 29, 31,
91 16, 18, 23, 25, 27, 29, 31, 33,
92 18, 23, 25, 27, 29, 31, 33, 36,
93 23, 25, 27, 29, 31, 33, 36, 38,
94 25, 27, 29, 31, 33, 36, 38, 40,
95 27, 29, 31, 33, 36, 38, 40, 42 },
96 { 9, 13, 15, 17, 19, 21, 22, 24,
97 13, 13, 17, 19, 21, 22, 24, 25,
98 15, 17, 19, 21, 22, 24, 25, 27,
99 17, 19, 21, 22, 24, 25, 27, 28,
100 19, 21, 22, 24, 25, 27, 28, 30,
101 21, 22, 24, 25, 27, 28, 30, 32,
102 22, 24, 25, 27, 28, 30, 32, 33,
103 24, 25, 27, 28, 30, 32, 33, 35 }
111 if (cpb_count > 32
U) {
118 for (i = 0; i < cpb_count; i++) {
133 int aspect_ratio_info_present_flag;
134 unsigned int aspect_ratio_idc;
136 aspect_ratio_info_present_flag =
get_bits1(&h->
gb);
138 if (aspect_ratio_info_present_flag) {
144 sps->
sar = pixel_aspect[aspect_ratio_idc];
189 "time_scale/num_units_in_tick invalid or unsupported (%d/%d)\n",
227 "Clipping illegal num_reorder_frames %d\n",
246 int i, last = 8, next = 8;
249 memcpy(factors, fallback_list, size *
sizeof(
uint8_t));
251 for (i = 0; i <
size; i++) {
255 memcpy(factors, jvt_list, size *
sizeof(
uint8_t));
258 last = factors[scan[i]] = next ? next : last;
263 PPS *pps,
int is_sps,
299 int profile_idc, level_idc, constraint_set_flags = 0;
301 int i, log2_max_frame_num_minus4;
348 "Different chroma and luma bit depth");
364 "log2_max_frame_num_minus4 out of range (0-12): %d\n",
365 log2_max_frame_num_minus4);
404 if ((
unsigned)sps->
mb_width >= INT_MAX / 16 ||
405 (
unsigned)sps->
mb_height >= INT_MAX / 16 ||
421 "This stream was generated by a broken encoder, invalid 8x8 inference\n");
425 #ifndef ALLOW_INTERLACE
428 "MBAFF support not included; enable it at compile-time.\n");
439 "values are l:%u r:%u t:%u b:%u\n",
440 crop_left, crop_right, crop_top, crop_bottom);
450 int step_x = 1 << hsub;
457 "Reducing left cropping to %d "
458 "chroma samples to preserve alignment.\n",
486 static const char csp[4][5] = {
"Gray",
"420",
"422",
"444" };
488 "sps:%u profile:%d/%d poc:%d ref:%d %dx%d %s %s crop:%d/%d/%d/%d %s %s %d/%d\n",
518 const int max_qp = 51 + 6 * (depth - 8);
519 for (i = 0; i < max_qp + 1; i++)
536 "Unimplemented luma bit depth=%d (max=10)\n",
560 |
for (i = 0; i <= num_slice_groups_minus1; i++) | | |
561 | run_length[i] |1 |ue(v) |
566 |
for (i = 0; i < num_slice_groups_minus1; i++) { | | |
567 | top_left_mb[i] |1 |ue(v) |
568 | bottom_right_mb[i] |1 |ue(v) |
576 | slice_group_change_direction_flag |1 |u(1) |
577 | slice_group_change_rate_minus1 |1 |ue(v) |
582 | slice_group_id_cnt_minus1 |1 |ue(v) |
583 |
for (i = 0; i <= slice_group_id_cnt_minus1; i++)| | |
584 | slice_group_id[i] |1 |u(v) |
614 if (bits_left && (bits_left > 8 ||
615 show_bits(&h->
gb, bits_left) != 1 << (bits_left - 1))) {
634 "pps:%u sps:%u %s slice_groups:%d ref:%d/%d %s qp:%d/%d/%d/%d %s %s %s %s\n",
636 pps->
cabac ?
"CABAC" :
"CAVLC",