[MEncoder-users] Encoding with an EDL

Olivier Rolland billl at users.sf.net
Mon Jun 11 12:34:11 CEST 2007


Hi,

On 6/6/07, Olivier Rolland <billl at users.sf.net> wrote:
> The time counter is reinitialized at some point.

I've started working on a patch. I already have a preliminary version
which works quite well in precise seeking (-hr-edl-seek) but not in
normal seeking. That's why I need some clarifications.

Line 1100 of mencoder.c, the pts of the video demuxer is saved
(last_pos = d_video->pts). After a call to edl_seek, it is compared to
the pts of the video stream (sh_video->pts). If last_post is greater
than or equal to sh_video->pts, a backwards seek is detected. The
current EDL record is then discarded and the following EDL record is
selected.

- In non precise seeking, within edl_seek, after the call to
demux_seek and before the call to resync_video_stream, d_video->pts is
explicitely assigned to sh_video->pts (line 1720). Is d_video->pts
modified by demux_seek ? Is sh_video->pts modified by
resync_video_stream ? If sh_video->pts is not modified by
resync_video_stream, we then compare the value of d_video->pts before
and after the call to demux_s
eek.

- In precise seeking, however, we compare the value of d_video->pts
before the call to slowseek and the value of sh_video->pts after the
call to slowseek. Given that slowseek does not modify d_video->pts a
nd that sh_video->pts has (should have ?) increased, how can
sh_video->pts can be lesser than last_pos ?

Finally, what is the relation between d_video->pts and sh_video->pts ?

Thanks for your help,

Olivier



More information about the MEncoder-users mailing list