39 #define MAX_LOG2_MAX_FRAME_NUM (12 + 4)
40 #define MIN_LOG2_MAX_FRAME_NUM 4
62 #define QP(qP,depth) ( (qP)+6*((depth)-8) )
64 #define CHROMA_QP_TABLE_END(d) \
65 QP(0,d), QP(1,d), QP(2,d), QP(3,d), QP(4,d), QP(5,d),\
66 QP(6,d), QP(7,d), QP(8,d), QP(9,d), QP(10,d), QP(11,d),\
67 QP(12,d), QP(13,d), QP(14,d), QP(15,d), QP(16,d), QP(17,d),\
68 QP(18,d), QP(19,d), QP(20,d), QP(21,d), QP(22,d), QP(23,d),\
69 QP(24,d), QP(25,d), QP(26,d), QP(27,d), QP(28,d), QP(29,d),\
70 QP(29,d), QP(30,d), QP(31,d), QP(32,d), QP(32,d), QP(33,d),\
71 QP(34,d), QP(34,d), QP(35,d), QP(35,d), QP(36,d), QP(36,d),\
72 QP(37,d), QP(37,d), QP(37,d), QP(38,d), QP(38,d), QP(38,d),\
73 QP(39,d), QP(39,d), QP(39,d), QP(39,d)
133 { 6,10,13,16,18,23,25,27,
134 10,11,16,18,23,25,27,29,
135 13,16,18,23,25,27,29,31,
136 16,18,23,25,27,29,31,33,
137 18,23,25,27,29,31,33,36,
138 23,25,27,29,31,33,36,38,
139 25,27,29,31,33,36,38,40,
140 27,29,31,33,36,38,40,42
142 9,13,15,17,19,21,22,24,
143 13,13,17,19,21,22,24,25,
144 15,17,19,21,22,24,25,27,
145 17,19,21,22,24,25,27,28,
146 19,21,22,24,25,27,28,30,
147 21,22,24,25,27,28,30,32,
148 22,24,25,27,28,30,32,33,
149 24,25,27,28,30,32,33,35
163 for(i=0; i<cpb_count; i++){
177 int aspect_ratio_info_present_flag;
178 unsigned int aspect_ratio_idc;
182 if( aspect_ratio_info_present_flag ) {
188 sps->
sar= pixel_aspect[aspect_ratio_idc];
282 int i, last = 8, next = 8;
285 memcpy(factors, fallback_list, size*
sizeof(
uint8_t));
291 memcpy(factors, jvt_list, size*
sizeof(
uint8_t));
294 last = factors[scan[i]] = next ? next : last;
329 int profile_idc, level_idc, constraint_set_flags = 0;
331 int i, log2_max_frame_num_minus4;
399 "log2_max_frame_num_minus4 out of range (0-12): %d\n",
400 log2_max_frame_num_minus4);
442 if((
unsigned)sps->
mb_width >= INT_MAX/16 || (
unsigned)sps->
mb_height >= INT_MAX/16 ||
456 #ifndef ALLOW_INTERLACE
471 "values are l:%u r:%u t:%u b:%u\n", crop_left, crop_right,
472 crop_top, crop_bottom);
481 int step_x = 1 << hsub;
488 "chroma samples to preserve alignment.\n",
492 if (crop_left > (
unsigned)INT_MAX / 4 / step_x ||
493 crop_right > (
unsigned)INT_MAX / 4 / step_x ||
494 crop_top > (
unsigned)INT_MAX / 4 / step_y ||
495 crop_bottom> (
unsigned)INT_MAX / 4 / step_y ||
496 (crop_left + crop_right ) * step_x >= width ||
497 (crop_top + crop_bottom) * step_y >= height
499 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);
525 static const char csp[4][5] = {
"Gray",
"420",
"422",
"444" };
526 av_log(h->
avctx,
AV_LOG_DEBUG,
"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",
558 const int max_qp = 51 + 6*(depth-8);
559 for(i = 0; i < max_qp+1; i++)
568 if ((profile_idc == 66 || profile_idc == 77 ||
571 "Current profile doesn't provide more RBSP data in PPS, skipping\n");
617 |
for( i = 0; i <= num_slice_groups_minus1; i++ ) | | |
618 | run_length[ i ] |1 |ue(
v) |
623 |
for( i = 0; i < num_slice_groups_minus1; i++ ) | | |
625 | top_left_mb[ i ] |1 |ue(
v) |
626 | bottom_right_mb[ i ] |1 |ue(
v) |
634 | slice_group_change_direction_flag |1 |
u(1) |
635 | slice_group_change_rate_minus1 |1 |ue(
v) |
640 | slice_group_id_cnt_minus1 |1 |ue(
v) |
641 |
for( i = 0; i <= slice_group_id_cnt_minus1; i++ | | |
643 | slice_group_id[ i ] |1 |
u(
v) |
686 pps->
cabac ?
"CABAC" :
"CAVLC",