X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fh264_levels.c;h=801b27fdd92551027c5fd167212fdd297d8d0365;hb=f4df5039a791a56de85c64e6b9e4448a221b5c40;hp=7a5511677391dbe598f13e1956bfa877dc9ddc56;hpb=cd8087444bb459c7c62e21913adfef5ec09675cc;p=ffmpeg diff --git a/libavcodec/h264_levels.c b/libavcodec/h264_levels.c index 7a551167739..801b27fdd92 100644 --- a/libavcodec/h264_levels.c +++ b/libavcodec/h264_levels.c @@ -75,20 +75,9 @@ static int h264_get_br_factor(int profile_idc) return 1200; } -const H264LevelDescriptor *ff_h264_get_level(int level_idc, - int constraint_set3_flag) -{ - int i; - for (i = 0; i < FF_ARRAY_ELEMS(h264_levels); i++) { - if (h264_levels[i].level_idc == level_idc && - h264_levels[i].constraint_set3_flag == constraint_set3_flag) - return &h264_levels[i]; - } - return NULL; -} - const H264LevelDescriptor *ff_h264_guess_level(int profile_idc, int64_t bitrate, + int framerate, int width, int height, int max_dec_frame_buffering) { @@ -120,6 +109,9 @@ const H264LevelDescriptor *ff_h264_guess_level(int profile_idc, FFMIN(level->max_dpb_mbs / (width_mbs * height_mbs), 16); if (max_dec_frame_buffering > max_dpb_frames) continue; + + if (framerate > (level->max_mbps / (width_mbs * height_mbs))) + continue; } return level;