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",
257 int i, last = 8, next = 8;
260 memcpy(factors, fallback_list, size *
sizeof(
uint8_t));
262 for (i = 0; i <
size; i++) {
266 memcpy(factors, jvt_list, size *
sizeof(
uint8_t));
269 last = factors[scan[i]] = next ? next : last;
274 PPS *pps,
int is_sps,
308 int profile_idc, level_idc, constraint_set_flags = 0;
310 int i, log2_max_frame_num_minus4;
371 "Different chroma and luma bit depth");
392 "log2_max_frame_num_minus4 out of range (0-12): %d\n",
393 log2_max_frame_num_minus4);
439 if ((
unsigned)sps->
mb_width >= INT_MAX / 16 ||
440 (
unsigned)sps->
mb_height >= INT_MAX / 16 ||
455 #ifndef ALLOW_INTERLACE
458 "MBAFF support not included; enable it at compile-time.\n");
471 "values are l:%d r:%d t:%d b:%d\n",
472 crop_left, crop_right, crop_top, crop_bottom);
482 int step_x = 1 << hsub;
489 "Reducing left cropping to %d "
490 "chroma samples to preserve alignment.\n",
494 if (crop_left > (
unsigned)INT_MAX / 4 / step_x ||
495 crop_right > (
unsigned)INT_MAX / 4 / step_x ||
496 crop_top > (
unsigned)INT_MAX / 4 / step_y ||
497 crop_bottom> (
unsigned)INT_MAX / 4 / step_y ||
498 (crop_left + crop_right ) * step_x >= width ||
499 (crop_top + crop_bottom) * step_y >= height
501 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);
529 static const char csp[4][5] = {
"Gray",
"420",
"422",
"444" };
531 "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",
563 const int max_qp = 51 + 6 * (depth - 8);
564 for (i = 0; i < max_qp + 1; i++)
574 if ((profile_idc == 66 || profile_idc == 77 ||
577 "Current profile doesn't provide more RBSP data in PPS, skipping\n");
610 "Invalid luma bit depth=%d\n",
615 "Unimplemented luma bit depth=%d\n",
629 |
for (i = 0; i <= num_slice_groups_minus1; i++) | | |
630 | run_length[i] |1 |ue(
v) |
635 |
for (i = 0; i < num_slice_groups_minus1; i++) { | | |
636 | top_left_mb[i] |1 |ue(
v) |
637 | bottom_right_mb[i] |1 |ue(
v) |
645 | slice_group_change_direction_flag |1 |
u(1) |
646 | slice_group_change_rate_minus1 |1 |ue(
v) |
651 | slice_group_id_cnt_minus1 |1 |ue(
v) |
652 |
for (i = 0; i <= slice_group_id_cnt_minus1; i++)| | |
653 | slice_group_id[i] |1 |
u(
v) |
700 "pps:%u sps:%u %s slice_groups:%d ref:%u/%u %s qp:%d/%d/%d/%d %s %s %s %s\n",
702 pps->
cabac ?
"CABAC" :
"CAVLC",