[Ffmpeg-devel] Re: [PATCH] x264 avc encoding, movenc avcC, ctts
    Michael Niedermayer 
    michaelni
       
    Mon Feb 20 19:48:33 CET 2006
    
    
  
Hi
On Mon, Feb 20, 2006 at 06:53:53PM +0100, Baptiste COUDURIER wrote:
> Michael Niedermayer wrote:
> > [...]
> > 
> > 
> > use trk->cluster[cl][id].cts= (pkt->pts - pkt->dts) * enc->time_base.num;
> > 
> 
> Humm. Here is what I get:
> 
> from generated sample (using pkt->pts - pkt->dts) * enc->time_base.num
> 
> timescale : 25
> stts : count 22 duration 1
> 
> count 1, duration 3600
> count 1, duration 10800
> count 2, duration 0
> count 1, duration 10800
> count 2, duration 0
> count 1, duration 10800
> count 2, duration 0
> count 1, duration 7200
> count 1, duration 0
> count 1, duration 3600
> count 1, duration 10800
> count 2, duration 0
> count 1, duration 10800
> 
> ...
> 
> from H264_GOP125.mp4 generated by FCP:
> 
> timescale : 2500
> stts : count 201 duration 100
> 
> count 1, duration 100
> count 1, duration 200
> count 1, duration 0
> count 1, duration 200
> count 1, duration 0
> count 1, duration 200
> count 1, duration 0
> count 1, duration 200
> count 1, duration 0
> count 1, duration 200
> count 1, duration 0
> 
> ...
> 
> pkt->dts - pkt->pts is a multiple of pkt->duration, the latter being 3600.
> 
> If I rescale I will get the right values. I must be missing something.
no, movenc.c is missing something
av_set_pts_info(s->streams[i], 64, 1, timescale);
and then 
trk->cluster[cl][id].cts= pkt->pts - pkt->dts;
should work
if not, tell me what happens ...
[...]
-- 
Michael
    
    
More information about the ffmpeg-devel
mailing list