> 2023年3月9日 07:37,Marton Balint <c...@passwd.hu> 写道: > > > On Tue, 7 Mar 2023, 1035567...@qq.com <mailto:1035567...@qq.com> wrote: > >> From: Wang Yaqiang <wangyaqian...@kuaishou.com> >> >> svg is xml, but <?xml is not required, >> it can start with <svg and can have multiple empty lines. >> >> Signed-off-by: Wang Yaqiang <wangyaqian...@kuaishou.com> >> --- >> libavformat/img2dec.c | 10 ++++++---- >> 1 file changed, 6 insertions(+), 4 deletions(-) >> >> diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c >> index 5a63d7c81d..448a574b59 100644 >> --- a/libavformat/img2dec.c >> +++ b/libavformat/img2dec.c >> @@ -25,6 +25,7 @@ >> #define _DEFAULT_SOURCE >> #define _BSD_SOURCE >> #include <sys/stat.h> >> +#include <ctype.h> > > Please no, use libavutil/avstring.h for av_isspace() instead.
Thanks,i will fix it > >> #include "libavutil/avstring.h" >> #include "libavutil/log.h" >> #include "libavutil/opt.h" >> @@ -964,18 +965,19 @@ static int svg_probe(const AVProbeData *p) >> { >> const uint8_t *b = p->buf; >> const uint8_t *end = p->buf + p->buf_size; >> - >> - if (memcmp(p->buf, "<?xml", 5)) >> + while (b && b < end && isspace(*b)) b++; > > av_isspace() Thanks,i will fix it. > >> + if (b >= end - 5) return 0; > > line break before return Thanks,i will fix it. > >> + if (memcmp(p->buf, "<?xml", 5) && memcmp(b, "<svg", 4)) >> return 0; > > Why not simply return AVPROBE_SCORE_EXTENSION + 1 here for the <svg case? You > don't have to change the rest that way which skips the first line which > supposed to contain <?xml > Thanks,i will fix it, and fix the case start with "<!—" > Regards, > Marton > >> while (b < end) { >> int inc = ff_subtitles_next_line(b); >> if (!inc) >> break; >> + if (!memcmp(b, "<svg", 4)) >> + return AVPROBE_SCORE_EXTENSION + 1; >> b += inc; >> if (b >= end - 4) >> return 0; >> - if (!memcmp(b, "<svg", 4)) >> - return AVPROBE_SCORE_EXTENSION + 1; >> } >> return 0; >> } >> -- >> 2.39.2 >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org <mailto:ffmpeg-devel@ffmpeg.org> >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel> >> >> To unsubscribe, visit link above, or email >> ffmpeg-devel-requ...@ffmpeg.org <mailto:ffmpeg-devel-requ...@ffmpeg.org> >> with subject "unsubscribe". >> > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org <mailto:ffmpeg-devel@ffmpeg.org> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel> > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org <mailto:ffmpeg-devel-requ...@ffmpeg.org> with > subject "unsubscribe". _______________________________________________ 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".