[FFmpeg-devel] [PATCH] probetest.c

Kostya kostya.shishkov
Wed Sep 16 06:51:03 CEST 2009


On Tue, Sep 15, 2009 at 09:12:35PM +0200, Michael Niedermayer wrote:
> On Tue, Sep 15, 2009 at 09:04:22PM +0300, Kostya wrote:
> > On Tue, Sep 15, 2009 at 07:39:59PM +0200, Vitor Sessak wrote:
> > > Michael Niedermayer wrote:
> > >> On Mon, Sep 14, 2009 at 05:19:03PM +0200, Michael Niedermayer wrote:
> > >>> Some simple probe testing code should be attached
> > >>>
> > >>> its output, aka formats that detect random data with a score >25 are:
> > >>> Failure of h261 probing code with score=50 type=0 p=B53 size=2
> > >>> Failure of vc1test probing code with score=50 type=0 p=40E size=4
> > >>> Failure of h263 probing code with score=50 type=0 p=C1E size=4
> > >>> Failure of idcin probing code with score=50 type=0 p=E93 size=8
> > >>> Failure of mm probing code with score=50 type=0 p=FC0 size=128
> > >>> Failure of dv probing code with score=75 type=1 p=E85 size=256
> > >>> Failure of vmd probing code with score=50 type=0 p=AF4 size=512
> > >>> Failure of mpeg probing code with score=52 type=0 p=D9C size=4096
> > >>> Failure of dts probing code with score=51 type=1 p=B8F size=8192
> > >>>
> > >>> maintainers of the listed formats should look into fixing their probe
> > >>> code!
> > >>> ill try to look at h26*/mpeg if i find the time, that said if someone
> > >>> else is faster thats welcome of course ...
> > >>
> > >> and as everyone celebrates victory, probetest returns from the depths of
> > >> hell stronger and more evil to devour more demuxers
> > >> heres the output up to 32k
> > >
> > > [...]
> > >
> > >> Failure of mpc8 probing code with score=100 type=3 p=85A size=64
> > 
> > May I say that it would fail in many cases since any string of uppercase
> > letters starting with 'MPCK' can be parsed as valid Moosepack SV8 file
> > with strange but valid tags?
> 
> is that some kind of ukrainian humor?
> lets see
> 
>     if(tag != TAG_STREAMHDR){
>         av_log(s, AV_LOG_ERROR, "Stream header not found\n");
>         return -1;
>     }
>     pos = url_ftell(pb);
>     url_fskip(pb, 4); //CRC
>     c->ver = get_byte(pb);
>     if(c->ver != 8){
>         av_log(s, AV_LOG_ERROR, "Unknown stream version %d\n", c->ver);
>         return -1;
>     }

If you read SV8 spec or even my code, you'll see that file may contain
any number of tags before stream header, so file like:
MPCKMNF<67 bytes with  anything>FFM<76 other bytes with anything>SH\017...
is valid.
 
> so please fix it or if you are too busy/lazy or have something more important
> to do then of course its ok not to but spare me of the excuses why it cant be
> improved (that also applies to the other things you maintain)
> I am well able to read the code and its full of things that can be checked
> beyond the 4 upper case letters
> 
> and no matter what, no demuxer should return AVPROBE_SCORE_MAX in probetest
> thats just a broken probe function. If it gets listed in probetest then its
> not good enough for AVPROBE_SCORE_MAX

Enhanced it for normal scenario and lowered score for other cases.
 
> [...]
> -- 
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB



More information about the ffmpeg-devel mailing list