28 #include "libavutil/imgutils.h"
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;
401 "log2_max_frame_num_minus4 out of range (0-12): %d\n",
402 log2_max_frame_num_minus4);
444 if((
unsigned)sps->
mb_width >= INT_MAX/16 || (
unsigned)sps->
mb_height >= INT_MAX/16 ||
458 #ifndef ALLOW_INTERLACE
472 "discarding sps cropping, "
473 "original values are l:%u r:%u t:%u b:%u\n",
513 static const char csp[4][5] = {
"Gray",
"420",
"422",
"444" };
514 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",
548 const int max_qp = 51 + 6*(depth-8);
549 for(i = 0; i < max_qp+1; i++)
558 if ((profile_idc == 66 || profile_idc == 77 ||
561 "Current profile doesn't provide more RBSP data in PPS, skipping\n");
603 |
for( i = 0; i <= num_slice_groups_minus1; i++ ) | | |
604 | run_length[ i ] |1 |ue(
v) |
609 |
for( i = 0; i < num_slice_groups_minus1; i++ ) | | |
611 | top_left_mb[ i ] |1 |ue(
v) |
612 | bottom_right_mb[ i ] |1 |ue(
v) |
620 | slice_group_change_direction_flag |1 |
u(1) |
621 | slice_group_change_rate_minus1 |1 |ue(
v) |
626 | slice_group_id_cnt_minus1 |1 |ue(
v) |
627 |
for( i = 0; i <= slice_group_id_cnt_minus1; i++ | | |
629 | slice_group_id[ i ] |1 |
u(
v) |
672 pps->
cabac ?
"CABAC" :
"CAVLC",