[FFmpeg-devel] [PATCH] RoQ muxer
Michael Niedermayer
michaelni
Wed May 9 15:59:15 CEST 2007
Hi
On Wed, May 09, 2007 at 10:47:30AM +0200, Vitor wrote:
> Michael Niedermayer wrote:
> >> Actually, I don't have Quake 3, so I can't verify if it really is so
> >> sensible to the frame interleaving...
> >>
> > that is a problem
> >
> "fixed", downloads in http://ioquake3.org/ and
> ftp://ftp.idsoftware.com/idstuff/quake3/linux/linuxq3ademo-1.11-6.x86.gz.sh
> >> The original's author comment says
> >> so, and the format description in Tim Ferguson page specifies that
> >> order.
> >>
> > the idroq.txt file shows in an example that audio packets and video
> > packets are interleaved together one after one but your code does not produce
> > this it rather omits audio packets if it received 2 consecutive video packets
> > after dts ordering, this is very odd
> > also its just a example diagram in idroq.txt ive not found any mentioning
> > of this interleaving requirement in the actual text
> >
> I've done some experiments with it. In the idlogo.RoQ (that's part of
> the Q3 demo), the frames are ordered like the following:
> AVAVAVAVAVAVAV ... AVAVAVAVAVAVAVVVVVVV ... VVVV
> The file jk02.roq in the samples ftp show the same ordering. The file
> demoEnd.RoQ is video only.
>
> >> If this order is really necessary, I don't think that just dts
> >> interleaving (even subtracting a constant of the dts audio packets) will
> >> be enough to assure a proper packet ordering.
> >>
> >
> > what is proper packet ordering for roq?
> >
> > blind 1 audio + 1 video is almost certainly wrong, just think of the case that
> > the duration of the audio and video packets missmatch
> > and if they match then how does your code differ from dts ordering + constant?
> >
> I've tried both the patch I submitted and the dts ordering to encode a
> file. The resulting ordering are the following:
>
> DTS:
> VAAVAVVAAVAVAVAVAVVAAVAVAVAVAVVAAVAVAVAVAVVAAVAVAVAVAVVAAVAVVAAVAVVAAVAVAVVAAVV
> AAVAVAVAVAVVAAVAVAVAVAVVAAVAVAVAVAVVAAVAVVAAVAVVAAVAVVAVAAVVAAVAVAVAVVAVAAVAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> ...
and what if you subtract a constant from the audio dts in
av_interleave_packet_per_dts()
also i agree with reimar that if normal dts interleaving works then simply
using that seems like the best solution ...
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
In a rich man's house there is no place to spit but his face.
-- Diogenes of Sinope
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070509/b65db895/attachment.pgp>
More information about the ffmpeg-devel
mailing list