37 #define MAX_LOG2_MAX_FRAME_NUM (12 + 4)
38 #define MIN_LOG2_MAX_FRAME_NUM 4
40 #define QP(qP, depth) ((qP) + 6 * ((depth) - 8))
42 #define CHROMA_QP_TABLE_END(d) \
43 QP(0, d), QP(1, d), QP(2, d), QP(3, d), QP(4, d), QP(5, d), \
44 QP(6, d), QP(7, d), QP(8, d), QP(9, d), QP(10, d), QP(11, d), \
45 QP(12, d), QP(13, d), QP(14, d), QP(15, d), QP(16, d), QP(17, d), \
46 QP(18, d), QP(19, d), QP(20, d), QP(21, d), QP(22, d), QP(23, d), \
47 QP(24, d), QP(25, d), QP(26, d), QP(27, d), QP(28, d), QP(29, d), \
48 QP(29, d), QP(30, d), QP(31, d), QP(32, d), QP(32, d), QP(33, d), \
49 QP(34, d), QP(34, d), QP(35, d), QP(35, d), QP(36, d), QP(36, d), \
50 QP(37, d), QP(37, d), QP(37, d), QP(38, d), QP(38, d), QP(38, d), \
51 QP(39, d), QP(39, d), QP(39, d), QP(39, d)
85 { 6, 13, 20, 28, 13, 20, 28, 32,
86 20, 28, 32, 37, 28, 32, 37, 42 },
87 { 10, 14, 20, 24, 14, 20, 24, 27,
88 20, 24, 27, 30, 24, 27, 30, 34 }
92 { 6, 10, 13, 16, 18, 23, 25, 27,
93 10, 11, 16, 18, 23, 25, 27, 29,
94 13, 16, 18, 23, 25, 27, 29, 31,
95 16, 18, 23, 25, 27, 29, 31, 33,
96 18, 23, 25, 27, 29, 31, 33, 36,
97 23, 25, 27, 29, 31, 33, 36, 38,
98 25, 27, 29, 31, 33, 36, 38, 40,
99 27, 29, 31, 33, 36, 38, 40, 42 },
100 { 9, 13, 15, 17, 19, 21, 22, 24,
101 13, 13, 17, 19, 21, 22, 24, 25,
102 15, 17, 19, 21, 22, 24, 25, 27,
103 17, 19, 21, 22, 24, 25, 27, 28,
104 19, 21, 22, 24, 25, 27, 28, 30,
105 21, 22, 24, 25, 27, 28, 30, 32,
106 22, 24, 25, 27, 28, 30, 32, 33,
107 24, 25, 27, 28, 30, 32, 33, 35 }
115 if (cpb_count > 32
U) {
122 for (i = 0; i < cpb_count; i++) {
137 int aspect_ratio_info_present_flag;
138 unsigned int aspect_ratio_idc;
140 aspect_ratio_info_present_flag =
get_bits1(&h->
gb);
142 if (aspect_ratio_info_present_flag) {
198 "time_scale/num_units_in_tick invalid or unsupported (%"PRIu32
"/%"PRIu32
")\n",
237 "Clipping illegal num_reorder_frames %d\n",
251 int i, last = 8, next = 8;
254 memcpy(factors, fallback_list, size *
sizeof(
uint8_t));
256 for (i = 0; i <
size; i++) {
260 memcpy(factors, jvt_list, size *
sizeof(
uint8_t));
263 last = factors[scan[i]] = next ? next : last;
268 PPS *pps,
int is_sps,
302 int profile_idc, level_idc, constraint_set_flags = 0;
304 int i, log2_max_frame_num_minus4;
365 "Different chroma and luma bit depth");
387 "log2_max_frame_num_minus4 out of range (0-12): %d\n",
388 log2_max_frame_num_minus4);
434 if ((
unsigned)sps->
mb_width >= INT_MAX / 16 ||
435 (
unsigned)sps->
mb_height >= INT_MAX / 16 ||
450 #ifndef ALLOW_INTERLACE
453 "MBAFF support not included; enable it at compile-time.\n");
466 "values are l:%d r:%d t:%d b:%d\n",
467 crop_left, crop_right, crop_top, crop_bottom);
477 int step_x = 1 << hsub;
484 "Reducing left cropping to %d "
485 "chroma samples to preserve alignment.\n",
489 if (crop_left > (
unsigned)INT_MAX / 4 / step_x ||
490 crop_right > (
unsigned)INT_MAX / 4 / step_x ||
491 crop_top > (
unsigned)INT_MAX / 4 / step_y ||
492 crop_bottom> (
unsigned)INT_MAX / 4 / step_y ||
493 (crop_left + crop_right ) * step_x >= width ||
494 (crop_top + crop_bottom) * step_y >= height
496 av_log(h->
avctx,
AV_LOG_ERROR,
"crop values invalid %d %d %d %d / %d %d\n", crop_left, crop_right, crop_top, crop_bottom, width, height);
523 if (!ignore_truncation)
531 static const char csp[4][5] = {
"Gray",
"420",
"422",
"444" };
533 "sps:%u profile:%d/%d poc:%d ref:%d %dx%d %s %s crop:%u/%u/%u/%u %s %s %"PRId32
"/%"PRId32
" b%d reo:%d\n",
565 const int max_qp = 51 + 6 * (depth - 8);
566 for (i = 0; i < max_qp + 1; i++)
576 if ((profile_idc == 66 || profile_idc == 77 ||
579 "Current profile doesn't provide more RBSP data in PPS, skipping\n");
612 "Invalid luma bit depth=%d\n",
617 "Unimplemented luma bit depth=%d\n",
631 |
for (i = 0; i <= num_slice_groups_minus1; i++) | | |
632 | run_length[i] |1 |ue(
v) |
637 |
for (i = 0; i < num_slice_groups_minus1; i++) { | | |
638 | top_left_mb[i] |1 |ue(
v) |
639 | bottom_right_mb[i] |1 |ue(
v) |
647 | slice_group_change_direction_flag |1 |
u(1) |
648 | slice_group_change_rate_minus1 |1 |ue(
v) |
653 | slice_group_id_cnt_minus1 |1 |ue(
v) |
654 |
for (i = 0; i <= slice_group_id_cnt_minus1; i++)| | |
655 | slice_group_id[i] |1 |
u(
v) |
702 "pps:%u sps:%u %s slice_groups:%d ref:%u/%u %s qp:%d/%d/%d/%d %s %s %s %s\n",
704 pps->
cabac ?
"CABAC" :
"CAVLC",