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)
103 { 6, 13, 20, 28, 13, 20, 28, 32,
104 20, 28, 32, 37, 28, 32, 37, 42 },
105 { 10, 14, 20, 24, 14, 20, 24, 27,
106 20, 24, 27, 30, 24, 27, 30, 34 }
110 { 6, 10, 13, 16, 18, 23, 25, 27,
111 10, 11, 16, 18, 23, 25, 27, 29,
112 13, 16, 18, 23, 25, 27, 29, 31,
113 16, 18, 23, 25, 27, 29, 31, 33,
114 18, 23, 25, 27, 29, 31, 33, 36,
115 23, 25, 27, 29, 31, 33, 36, 38,
116 25, 27, 29, 31, 33, 36, 38, 40,
117 27, 29, 31, 33, 36, 38, 40, 42 },
118 { 9, 13, 15, 17, 19, 21, 22, 24,
119 13, 13, 17, 19, 21, 22, 24, 25,
120 15, 17, 19, 21, 22, 24, 25, 27,
121 17, 19, 21, 22, 24, 25, 27, 28,
122 19, 21, 22, 24, 25, 27, 28, 30,
123 21, 22, 24, 25, 27, 28, 30, 32,
124 22, 24, 25, 27, 28, 30, 32, 33,
125 24, 25, 27, 28, 30, 32, 33, 35 }
133 if (cpb_count > 32
U) {
140 for (i = 0; i < cpb_count; i++) {
155 int aspect_ratio_info_present_flag;
156 unsigned int aspect_ratio_idc;
158 aspect_ratio_info_present_flag =
get_bits1(&h->
gb);
160 if (aspect_ratio_info_present_flag) {
166 sps->
sar = pixel_aspect[aspect_ratio_idc];
216 "time_scale/num_units_in_tick invalid or unsupported (%d/%d)\n",
273 int i, last = 8, next = 8;
276 memcpy(factors, fallback_list, size *
sizeof(
uint8_t));
278 for (i = 0; i <
size; i++) {
282 memcpy(factors, jvt_list, size *
sizeof(
uint8_t));
285 last = factors[scan[i]] = next ? next : last;
290 PPS *pps,
int is_sps,
324 int profile_idc, level_idc, constraint_set_flags = 0;
326 int i, log2_max_frame_num_minus4;
367 "chroma_format_idc %d is illegal\n",
397 "log2_max_frame_num_minus4 out of range (0-12): %d\n",
398 log2_max_frame_num_minus4);
443 if ((
unsigned)sps->
mb_width >= INT_MAX / 16 ||
444 (
unsigned)sps->
mb_height >= INT_MAX / 16 ||
459 #ifndef ALLOW_INTERLACE
462 "MBAFF support not included; enable it at compile-time.\n");
475 "values are l:%u r:%u t:%u b:%u\n",
476 crop_left, crop_right, crop_top, crop_bottom);
486 int step_x = 1 << hsub;
493 "Reducing left cropping to %d "
494 "chroma samples to preserve alignment.\n",
498 if (crop_left > (
unsigned)INT_MAX / 4 / step_x ||
499 crop_right > (
unsigned)INT_MAX / 4 / step_x ||
500 crop_top > (
unsigned)INT_MAX / 4 / step_y ||
501 crop_bottom> (
unsigned)INT_MAX / 4 / step_y ||
502 (crop_left + crop_right ) * step_x >= width ||
503 (crop_top + crop_bottom) * step_y >= height
505 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);
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:%d/%d/%d/%d %s %s %d/%d 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:%d/%d %s qp:%d/%d/%d/%d %s %s %s %s\n",
704 pps->
cabac ?
"CABAC" :
"CAVLC",