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");
393 "log2_max_frame_num_minus4 out of range (0-12): %d\n",
394 log2_max_frame_num_minus4);
440 if ((
unsigned)sps->
mb_width >= INT_MAX / 16 ||
441 (
unsigned)sps->
mb_height >= INT_MAX / 16 ||
456 #ifndef ALLOW_INTERLACE
459 "MBAFF support not included; enable it at compile-time.\n");
472 "values are l:%d r:%d t:%d b:%d\n",
473 crop_left, crop_right, crop_top, crop_bottom);
483 int step_x = 1 << hsub;
490 "Reducing left cropping to %d "
491 "chroma samples to preserve alignment.\n",
495 if (crop_left > (
unsigned)INT_MAX / 4 / step_x ||
496 crop_right > (
unsigned)INT_MAX / 4 / step_x ||
497 crop_top > (
unsigned)INT_MAX / 4 / step_y ||
498 crop_bottom> (
unsigned)INT_MAX / 4 / step_y ||
499 (crop_left + crop_right ) * step_x >= width ||
500 (crop_top + crop_bottom) * step_y >= height
502 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);
530 static const char csp[4][5] = {
"Gray",
"420",
"422",
"444" };
532 "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",
564 const int max_qp = 51 + 6 * (depth - 8);
565 for (i = 0; i < max_qp + 1; i++)
575 if ((profile_idc == 66 || profile_idc == 77 ||
578 "Current profile doesn't provide more RBSP data in PPS, skipping\n");
611 "Invalid luma bit depth=%d\n",
616 "Unimplemented luma bit depth=%d\n",
630 |
for (i = 0; i <= num_slice_groups_minus1; i++) | | |
631 | run_length[i] |1 |ue(
v) |
636 |
for (i = 0; i < num_slice_groups_minus1; i++) { | | |
637 | top_left_mb[i] |1 |ue(
v) |
638 | bottom_right_mb[i] |1 |ue(
v) |
646 | slice_group_change_direction_flag |1 |
u(1) |
647 | slice_group_change_rate_minus1 |1 |ue(
v) |
652 | slice_group_id_cnt_minus1 |1 |ue(
v) |
653 |
for (i = 0; i <= slice_group_id_cnt_minus1; i++)| | |
654 | slice_group_id[i] |1 |
u(
v) |
701 "pps:%u sps:%u %s slice_groups:%d ref:%u/%u %s qp:%d/%d/%d/%d %s %s %s %s\n",
703 pps->
cabac ?
"CABAC" :
"CAVLC",