2019-03-08 7:39 GMT+01:00, Decai Lin <decai....@intel.com>: > 1. add MaxMBPS checking for level idc setting to align with AVC spec > AnnexA table A-1/A-6 level limits. > 2. update h264 level fate test. > > Signed-off-by: Decai Lin <decai....@intel.com> > --- > libavcodec/h264_levels.c | 6 +++++ > libavcodec/h264_levels.h | 1 + > libavcodec/h264_metadata_bsf.c | 10 +++++++- > libavcodec/tests/h264_levels.c | 58 > +++++++++++++++++++++++++++++++++++++++--- > libavcodec/vaapi_encode_h264.c | 7 +++++ > 5 files changed, 78 insertions(+), 4 deletions(-) > > diff --git a/libavcodec/h264_levels.c b/libavcodec/h264_levels.c > index 7a55116..7fdb61d 100644 > --- a/libavcodec/h264_levels.c > +++ b/libavcodec/h264_levels.c > @@ -89,6 +89,7 @@ const H264LevelDescriptor *ff_h264_get_level(int > level_idc, > > const H264LevelDescriptor *ff_h264_guess_level(int profile_idc, > int64_t bitrate, > + int framerate, > int width, int height, > int max_dec_frame_buffering) > { > @@ -116,6 +117,11 @@ const H264LevelDescriptor *ff_h264_guess_level(int > profile_idc, > continue; > > if (width_mbs && height_mbs) { > + if (framerate > level->max_mbps / (width_mbs * height_mbs)) > + continue; > + } > + > + if (width_mbs && height_mbs) {
This looks very strange: Do I miss something or can these blocks be merged / the last two inserts be removed? [...] > @@ -244,7 +245,14 @@ static int h264_metadata_update_sps(AVBSFContext *bsf, > height = 16 * (sps->pic_height_in_map_units_minus1 + 1) * > (2 - sps->frame_mbs_only_flag); > > - desc = ff_h264_guess_level(sps->profile_idc, bit_rate, > + if (sps->vui.timing_info_present_flag) { > + framerate = sps->vui.time_scale / > sps->vui.num_units_in_tick; > + } > + else { Please merge these lines. Carl Eugen _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel