Am Mo., 27. Jan. 2020 um 22:01 Uhr schrieb Paul B Mahol <one...@gmail.com>: > > Signed-off-by: Paul B Mahol <one...@gmail.com> > --- > libavformat/tty.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/libavformat/tty.c b/libavformat/tty.c > index 8d48f2c45c..acc6da27cc 100644 > --- a/libavformat/tty.c > +++ b/libavformat/tty.c > @@ -24,6 +24,8 @@ > * Tele-typewriter demuxer > */ > > +#include <ctype.h> > + > #include "libavutil/intreadwrite.h" > #include "libavutil/avstring.h" > #include "libavutil/log.h" > @@ -42,6 +44,16 @@ typedef struct TtyDemuxContext { > AVRational framerate; /**< Set by a private option. */ > } TtyDemuxContext; > > +static int read_probe(const AVProbeData *p) > +{ > + int64_t cnt = 0; > + > + for (int i = 0; i < p->buf_size; i++) > + cnt += !!isalnum(p->buf[i]); > + > + return cnt * 100 / p->buf_size;
The function looks as if it could return scores higher than SCORE_MAX and as if it would return high scores for very small probe size. Both are not good, normally we test for both a minimum number of counts and a high percentage of correct values. > +} > + > /** > * Parse EFI header > */ > @@ -153,6 +165,7 @@ AVInputFormat ff_tty_demuxer = { > .name = "tty", > .long_name = NULL_IF_CONFIG_SMALL("Tele-typewriter"), > .priv_data_size = sizeof(TtyDemuxContext), > + .read_probe = read_probe, > .read_header = read_header, > .read_packet = read_packet, > .extensions = "ans,art,asc,diz,ice,nfo,txt,vt", You could add the extensions to above test. Background: An mpv user uploaded a jpg sample to the mpv bug tracker and renamed it to sample1.txt. Because of its high resolution and because the jpg probe function tries to distinguish from mjpeg (which only works by checking if EOI is at EOF) the extension returns a higher score than the jpg probe (the probe function works fine if I remove the filename suffix), So another fix would be to merge the mjpeg demuxer with the jpeg_pipe demuxer, I don't remember atm why I didn't do that. Carl Eugen _______________________________________________ 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".