76 { 1280, 720, 10, 50 },
77 { 1920, 1080, 1, 40 },
78 { 1920, 1080, 5, 50 },
79 { 1920, 1080, 13, 50 },
80 { 1920, 1080, 14, 51 },
81 { 3840, 2160, 5, 51 },
82 { 3840, 2160, 6, 60 },
83 { 3840, 2160, 16, 60 },
84 { 7680, 4320, 5, 60 },
97 { 100000000, 77, 50 },
98 { 100000000, 100, 50 },
99 { 100000000, 244, 41 },
100 { 999999999, 77, 0 },
101 { 999999999, 100, 62 },
103 { 32 * 1200, 66, 10 },
104 { 32 * 1500, 100, 10 },
105 { 96 * 1200, 66, 10 },
106 { 96 * 1500, 100, 9 },
107 { 144 * 1200, 66, 11 },
108 { 144 * 1500, 100, 11 },
111 static const struct {
120 {
"Bluray 1080p 40Mb/s", 100, 40000000, 1920, 1080, 4, 41 },
121 {
"Bluray 1080p 24Mb/s", 100, 24000000, 1920, 1080, 4, 40 },
122 {
"Bluray 720p 40Mb/s", 100, 40000000, 1280, 720, 6, 41 },
123 {
"Bluray 720p 24Mb/s", 100, 24000000, 1280, 720, 6, 40 },
124 {
"Bluray PAL 40Mb/s", 100, 40000000, 720, 576, 6, 41 },
125 {
"Bluray PAL 24Mb/s", 100, 24000000, 720, 576, 6, 32 },
126 {
"Bluray PAL 16Mb/s", 100, 16800000, 720, 576, 6, 31 },
127 {
"Bluray PAL 12Mb/s", 100, 12000000, 720, 576, 5, 30 },
128 {
"Bluray NTSC 40Mb/s", 100, 40000000, 720, 480, 6, 41 },
129 {
"Bluray NTSC 24Mb/s", 100, 24000000, 720, 480, 6, 32 },
130 {
"Bluray NTSC 16Mb/s", 100, 16800000, 720, 480, 6, 31 },
131 {
"Bluray NTSC 12Mb/s", 100, 12000000, 720, 480, 6, 30 },
139 #define CHECK(expected, format, ...) do { \
140 if (expected ? (!level || level->level_idc != expected) \
142 av_log(NULL, AV_LOG_ERROR, "Incorrect level for " \
143 format ": expected %d, got %d.\n", __VA_ARGS__, \
144 expected, level ? level->level_idc : -1); \
static const struct @150 test_all[]
static const struct @147 test_sizes[]
static const struct @149 test_bitrate[]
const H264LevelDescriptor * ff_h264_guess_level(int profile_idc, int64_t bitrate, int width, int height, int max_dec_frame_buffering)
Guess the level of a stream from some parameters.
#define FF_ARRAY_ELEMS(a)
#define CHECK(expected, format,...)
common internal and external API header
static const struct @148 test_dpb[]