Hi, > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of > josh.brews...@protonmail.com > Sent: Friday, April 17, 2020 07:05 > To: ffmpeg-devel@ffmpeg.org > Subject: [FFmpeg-devel] [PATCH] libavcodec/libx264: fix reference frame > computation based on level > > Hell, can someone please review this patch? It fixes a wrong reference frame > computation problem when using parameters such as "-level 31" instead of > "-level 3.1". > > diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c > index a08fe0ce76..1149f2d668 100644 > --- a/libavcodec/libx264.c > +++ b/libavcodec/libx264.c > @@ -701,11 +701,14 @@ FF_ENABLE_DEPRECATION_WARNINGS > > if (!strcmp(x4->level, "1b")) { > level_id = 9; > - } else if (strlen(x4->level) <= 3){ > + } else if (av_strtod(x4->level, NULL) < 7){ > level_id = av_strtod(x4->level, &tail) * 10 + 0.5; > if (*tail) > level_id = -1; > } > + else { Wrong coding style for "else", should be "} else {" > + level_id = av_strtod(x4->level, NULL); > + } > if (level_id <= 0) > av_log(avctx, AV_LOG_WARNING, "Failed to parse level\n");
This part of code of parsing level_id seems redundant, since PARSE_X264_OPT("level", level) has been called and did the same thing inside libx264, which converts x4->level to x4->params.i_level_idc correctly (equals 31), regardless of "-level 3.1 or level 31". Hence it would be better to use x4->params.i_level_idc directly. - Linjie _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".