37 #define MAX_LOG2_MAX_FRAME_NUM (12 + 4)
38 #define MIN_LOG2_MAX_FRAME_NUM 4
60 #define QP(qP, depth) ((qP) + 6 * ((depth) - 8))
62 #define CHROMA_QP_TABLE_END(d) \
63 QP(0, d), QP(1, d), QP(2, d), QP(3, d), QP(4, d), QP(5, d), \
64 QP(6, d), QP(7, d), QP(8, d), QP(9, d), QP(10, d), QP(11, d), \
65 QP(12, d), QP(13, d), QP(14, d), QP(15, d), QP(16, d), QP(17, d), \
66 QP(18, d), QP(19, d), QP(20, d), QP(21, d), QP(22, d), QP(23, d), \
67 QP(24, d), QP(25, d), QP(26, d), QP(27, d), QP(28, d), QP(29, d), \
68 QP(29, d), QP(30, d), QP(31, d), QP(32, d), QP(32, d), QP(33, d), \
69 QP(34, d), QP(34, d), QP(35, d), QP(35, d), QP(36, d), QP(36, d), \
70 QP(37, d), QP(37, d), QP(37, d), QP(38, d), QP(38, d), QP(38, d), \
71 QP(39, d), QP(39, d), QP(39, d), QP(39, d)
105 { 6, 13, 20, 28, 13, 20, 28, 32,
106 20, 28, 32, 37, 28, 32, 37, 42 },
107 { 10, 14, 20, 24, 14, 20, 24, 27,
108 20, 24, 27, 30, 24, 27, 30, 34 }
112 { 6, 10, 13, 16, 18, 23, 25, 27,
113 10, 11, 16, 18, 23, 25, 27, 29,
114 13, 16, 18, 23, 25, 27, 29, 31,
115 16, 18, 23, 25, 27, 29, 31, 33,
116 18, 23, 25, 27, 29, 31, 33, 36,
117 23, 25, 27, 29, 31, 33, 36, 38,
118 25, 27, 29, 31, 33, 36, 38, 40,
119 27, 29, 31, 33, 36, 38, 40, 42 },
120 { 9, 13, 15, 17, 19, 21, 22, 24,
121 13, 13, 17, 19, 21, 22, 24, 25,
122 15, 17, 19, 21, 22, 24, 25, 27,
123 17, 19, 21, 22, 24, 25, 27, 28,
124 19, 21, 22, 24, 25, 27, 28, 30,
125 21, 22, 24, 25, 27, 28, 30, 32,
126 22, 24, 25, 27, 28, 30, 32, 33,
127 24, 25, 27, 28, 30, 32, 33, 35 }
135 if (cpb_count > 32
U) {
142 for (i = 0; i < cpb_count; i++) {
157 int aspect_ratio_info_present_flag;
158 unsigned int aspect_ratio_idc;
160 aspect_ratio_info_present_flag =
get_bits1(&h->
gb);
162 if (aspect_ratio_info_present_flag) {
168 sps->
sar = pixel_aspect[aspect_ratio_idc];
218 "time_scale/num_units_in_tick invalid or unsupported (%"PRIu32
"/%"PRIu32
")\n",
257 "Clipping illegal num_reorder_frames %d\n",
277 int i, last = 8, next = 8;
280 memcpy(factors, fallback_list, size *
sizeof(
uint8_t));
282 for (i = 0; i <
size; i++) {
286 memcpy(factors, jvt_list, size *
sizeof(
uint8_t));
289 last = factors[scan[i]] = next ? next : last;
294 PPS *pps,
int is_sps,
328 int profile_idc, level_idc, constraint_set_flags = 0;
330 int i, log2_max_frame_num_minus4;
391 "Different chroma and luma bit depth");
412 "log2_max_frame_num_minus4 out of range (0-12): %d\n",
413 log2_max_frame_num_minus4);
459 if ((
unsigned)sps->
mb_width >= INT_MAX / 16 ||
460 (
unsigned)sps->
mb_height >= INT_MAX / 16 ||
475 #ifndef ALLOW_INTERLACE
478 "MBAFF support not included; enable it at compile-time.\n");
491 "values are l:%d r:%d t:%d b:%d\n",
492 crop_left, crop_right, crop_top, crop_bottom);
502 int step_x = 1 << hsub;
509 "Reducing left cropping to %d "
510 "chroma samples to preserve alignment.\n",
514 if (crop_left > (
unsigned)INT_MAX / 4 / step_x ||
515 crop_right > (
unsigned)INT_MAX / 4 / step_x ||
516 crop_top > (
unsigned)INT_MAX / 4 / step_y ||
517 crop_bottom> (
unsigned)INT_MAX / 4 / step_y ||
518 (crop_left + crop_right ) * step_x >= width ||
519 (crop_top + crop_bottom) * step_y >= height
521 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);
549 static const char csp[4][5] = {
"Gray",
"420",
"422",
"444" };
551 "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",
583 const int max_qp = 51 + 6 * (depth - 8);
584 for (i = 0; i < max_qp + 1; i++)
594 if ((profile_idc == 66 || profile_idc == 77 ||
597 "Current profile doesn't provide more RBSP data in PPS, skipping\n");
630 "Invalid luma bit depth=%d\n",
635 "Unimplemented luma bit depth=%d\n",
649 |
for (i = 0; i <= num_slice_groups_minus1; i++) | | |
650 | run_length[i] |1 |ue(
v) |
655 |
for (i = 0; i < num_slice_groups_minus1; i++) { | | |
656 | top_left_mb[i] |1 |ue(
v) |
657 | bottom_right_mb[i] |1 |ue(
v) |
665 | slice_group_change_direction_flag |1 |
u(1) |
666 | slice_group_change_rate_minus1 |1 |ue(
v) |
671 | slice_group_id_cnt_minus1 |1 |ue(
v) |
672 |
for (i = 0; i <= slice_group_id_cnt_minus1; i++)| | |
673 | slice_group_id[i] |1 |
u(
v) |
720 "pps:%u sps:%u %s slice_groups:%d ref:%u/%u %s qp:%d/%d/%d/%d %s %s %s %s\n",
722 pps->
cabac ?
"CABAC" :
"CAVLC",