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",
255 "Clipping illegal num_reorder_frames %d\n",
275 int i, last = 8, next = 8;
278 memcpy(factors, fallback_list, size *
sizeof(
uint8_t));
280 for (i = 0; i <
size; i++) {
284 memcpy(factors, jvt_list, size *
sizeof(
uint8_t));
287 last = factors[scan[i]] = next ? next : last;
292 PPS *pps,
int is_sps,
326 int profile_idc, level_idc, constraint_set_flags = 0;
328 int i, log2_max_frame_num_minus4;
383 "Different chroma and luma bit depth");
404 "log2_max_frame_num_minus4 out of range (0-12): %d\n",
405 log2_max_frame_num_minus4);
451 if ((
unsigned)sps->
mb_width >= INT_MAX / 16 ||
452 (
unsigned)sps->
mb_height >= INT_MAX / 16 ||
467 #ifndef ALLOW_INTERLACE
470 "MBAFF support not included; enable it at compile-time.\n");
483 "values are l:%u r:%u t:%u b:%u\n",
484 crop_left, crop_right, crop_top, crop_bottom);
494 int step_x = 1 << hsub;
501 "Reducing left cropping to %d "
502 "chroma samples to preserve alignment.\n",
506 if (crop_left > (
unsigned)INT_MAX / 4 / step_x ||
507 crop_right > (
unsigned)INT_MAX / 4 / step_x ||
508 crop_top > (
unsigned)INT_MAX / 4 / step_y ||
509 crop_bottom> (
unsigned)INT_MAX / 4 / step_y ||
510 (crop_left + crop_right ) * step_x >= width ||
511 (crop_top + crop_bottom) * step_y >= height
513 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);
541 static const char csp[4][5] = {
"Gray",
"420",
"422",
"444" };
543 "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",
575 const int max_qp = 51 + 6 * (depth - 8);
576 for (i = 0; i < max_qp + 1; i++)
586 if ((profile_idc == 66 || profile_idc == 77 ||
589 "Current profile doesn't provide more RBSP data in PPS, skipping\n");
622 "Invalid luma bit depth=%d\n",
627 "Unimplemented luma bit depth=%d\n",
641 |
for (i = 0; i <= num_slice_groups_minus1; i++) | | |
642 | run_length[i] |1 |ue(
v) |
647 |
for (i = 0; i < num_slice_groups_minus1; i++) { | | |
648 | top_left_mb[i] |1 |ue(
v) |
649 | bottom_right_mb[i] |1 |ue(
v) |
657 | slice_group_change_direction_flag |1 |
u(1) |
658 | slice_group_change_rate_minus1 |1 |ue(
v) |
663 | slice_group_id_cnt_minus1 |1 |ue(
v) |
664 |
for (i = 0; i <= slice_group_id_cnt_minus1; i++)| | |
665 | slice_group_id[i] |1 |
u(
v) |
712 "pps:%u sps:%u %s slice_groups:%d ref:%d/%d %s qp:%d/%d/%d/%d %s %s %s %s\n",
714 pps->
cabac ?
"CABAC" :
"CAVLC",