[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