From f0649f13d698eb6aeffeaacd6801b666c4366caf Mon Sep 17 00:00:00 2001 From: Uoti Urpala Date: Wed, 15 Dec 2010 01:09:47 +0200 Subject: core: add support for precise non-keyframe-limited seeks Add support for seeking to an arbitrary non-keyframe position by decoding video starting from the previous keyframe. Whether to use this functionality when seeking is controlled by the new option -hr-seek and a new third argument to the "seek" command. The default is to use it for absolute seeks (like chapter seeks) but not for relative ones. Because there's currently no support for cutting encoded audio some desync is expected if encoded audio passthrough is used. Currently precise seeks always go to the first frame with timestamp equal to or greater than the target position; there's no support for "matching or earlier" backwards seeks at frame level. --- DOCS/tech/slave.txt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'DOCS/tech') diff --git a/DOCS/tech/slave.txt b/DOCS/tech/slave.txt index be0ebf9937..6187affab5 100644 --- a/DOCS/tech/slave.txt +++ b/DOCS/tech/slave.txt @@ -272,11 +272,16 @@ radio_step_channel <-1|1> radio_step_freq Tune frequency by the (positive - up, negative - down). -seek [type] +seek [type] [hr-seek] Seek to some place in the movie. - 0 is a relative seek of +/- seconds (default). - 1 is a seek to % in the movie. - 2 is a seek to an absolute position of seconds. + type = 0 is a relative seek of +/- seconds (default). + type = 1 is a seek to % in the movie. + type = 2 is a seek to an absolute position of seconds. + The hr-seek parameter controls whether to use precise seeks (not limited + to keyframe positions in video). + hr-seek = 0 means use default set with option -hr-seek (default). + hr-seek = 1 means force precise seek if possible. + hr-seek = -1 means force non-precise seek. seek_chapter [type] Seek to the start of a chapter. @@ -513,6 +518,7 @@ name type min max get set step comment osdlevel int 0 3 X X X as -osdlevel speed float 0.01 100 X X X as -speed loop int -1 X X X as -loop +hr_seek string X X X as -hr-seek pts_association_mode string X X X as -pts-association-mode pause flag 0 1 X 1 if paused, use with pausing_keep_force filename string X file playing wo path -- cgit v1.2.3