[Ffmpeg-devel] Bug in pts computation in compute_pkt_fields() ?
Wolfram Gloger
wmglo
Sun Mar 25 15:57:03 CEST 2007
Hi,
> > //if(pkt->dts < 0)
> > // pkt->dts=3D 0; //this happens for low_delay=3D0 and b frames, =
> FIXME, needs further invstigation about what we should do here
> >=20
> > if (pkt->pts !=3D AV_NOPTS_VALUE)
> > pkt->pts &=3D pts_mask;
> > if (pkt->dts !=3D AV_NOPTS_VALUE)
> > pkt->dts &=3D pts_mask;
> > }
> >=20
> > So, if negative dts is allowed, at least the two lines above need to
> > be uncommented, no? Or some better solution must be found.
>
> no, i see no problem here
Well, if pkt->dts<0, it will be changed to a huge positive value by
the above process, e.g. for the common 33 bit timestamp accuracy.
> > Background: I'm now seeing errors even in "make test" for the mpeg-ts
> > muxer; some packets' dts becomes negative due to the new code in
>
> make test passed last time i tried (which was today)=20
So you don't have all of my wonderful patches applied :)
Seriously, it is easy to reproduce this problem. Either apply
--- trunk/tests/regression.sh 2007-03-24 11:22:44.000000000 +0100
+++ ffmpeg-wg/tests/regression.sh 2007-03-25 15:31:44.000000000 +0200
@@ -114,7 +114,7 @@
# create the data directory if it does not exist
mkdir -p $datadir
-FFMPEG_OPTS="-y -flags +bitexact -dct fastint -idct simple"
+FFMPEG_OPTS="-y -flags +bitexact -dct fastint -idct simple -itsoffset 0.001"
do_ffmpeg()
{
or just run
../ffmpeg_g -y -flags +bitexact -dct fastint -idct simple -itsoffset 0.001 -i .data/b-libav.ts -f crc ./data/ffmpeg.crc
manually in "tests" after a normal "make test". This will consume
_huge_ amounts of memory and will never complete. I recommend running
this with "ulimit -v 200000".
Regards,
Wolfram.
More information about the ffmpeg-devel
mailing list