add slit center option
This commit is contained in:
parent
0d8495ea8f
commit
f33a1cfe4f
2 changed files with 11 additions and 3 deletions
|
@ -42,6 +42,7 @@ tiles without having to decode the video again.
|
||||||
parser.add_option('-s', '--sizes', dest='sizes', help='timeline size(s) (64 or 64,16)')
|
parser.add_option('-s', '--sizes', dest='sizes', help='timeline size(s) (64 or 64,16)')
|
||||||
parser.add_option('-w', '--wide', dest='wide', default=False, action='store_true', help='keep wide frames tiles')
|
parser.add_option('-w', '--wide', dest='wide', default=False, action='store_true', help='keep wide frames tiles')
|
||||||
parser.add_option('-l', '--log', dest='log', default=False, action='store_true', help='log performance')
|
parser.add_option('-l', '--log', dest='log', default=False, action='store_true', help='log performance')
|
||||||
|
parser.add_option('-x', '--slit-position', dest='slit_position', default=None, action='store_true', help='slit scan position (default center frame)')
|
||||||
(opts, args) = parser.parse_args()
|
(opts, args) = parser.parse_args()
|
||||||
|
|
||||||
if None in (opts.modes, opts.sizes, opts.tiles) or not args:
|
if None in (opts.modes, opts.sizes, opts.tiles) or not args:
|
||||||
|
@ -54,4 +55,4 @@ tiles without having to decode the video again.
|
||||||
opts.modes = [m.strip() for m in opts.modes.split(',')]
|
opts.modes = [m.strip() for m in opts.modes.split(',')]
|
||||||
opts.sizes = list(map(int, opts.sizes.split(',')))
|
opts.sizes = list(map(int, opts.sizes.split(',')))
|
||||||
|
|
||||||
oxtimelines.Timelines(opts.videos, opts.tiles, opts.cuts, opts.points, opts.modes, opts.sizes, opts.wide, opts.log).render()
|
oxtimelines.Timelines(opts.videos, opts.tiles, opts.cuts, opts.points, opts.modes, opts.sizes, opts.wide, opts.log, slit_positoin=opts.slit_position).render()
|
||||||
|
|
|
@ -23,7 +23,8 @@ class Timelines():
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self, video_files, tile_path, cuts_path,
|
self, video_files, tile_path, cuts_path,
|
||||||
points, modes, sizes, render_wide_tiles, log
|
points, modes, sizes, render_wide_tiles, log,
|
||||||
|
slit_position=None
|
||||||
):
|
):
|
||||||
|
|
||||||
self.video_files = video_files
|
self.video_files = video_files
|
||||||
|
@ -46,6 +47,11 @@ class Timelines():
|
||||||
self.render_data = 'data' in modes
|
self.render_data = 'data' in modes
|
||||||
self.render_video = len(modes) > 1 if self.render_audio else True
|
self.render_video = len(modes) > 1 if self.render_audio else True
|
||||||
|
|
||||||
|
if slit_position:
|
||||||
|
self.frame_center = int(slit_position)
|
||||||
|
else:
|
||||||
|
self.frame_center = None
|
||||||
|
|
||||||
if self.detect_cuts or self.render_cuts or self.render_keyframes:
|
if self.detect_cuts or self.render_cuts or self.render_keyframes:
|
||||||
self.detect_cuts = True
|
self.detect_cuts = True
|
||||||
self.cuts = [0]
|
self.cuts = [0]
|
||||||
|
@ -132,7 +138,8 @@ class Timelines():
|
||||||
frame_size = self.videos[0].get_size()
|
frame_size = self.videos[0].get_size()
|
||||||
self.frame_w = frame_size[0]
|
self.frame_w = frame_size[0]
|
||||||
self.frame_ratio = frame_size[0] / frame_size[1]
|
self.frame_ratio = frame_size[0] / frame_size[1]
|
||||||
self.frame_center = int(frame_size[0] / 2)
|
if self.frame_center is None:
|
||||||
|
self.frame_center = int(frame_size[0] / 2)
|
||||||
|
|
||||||
self.large_tile_n = int(math.ceil(self.frame_n / self.large_tile_w))
|
self.large_tile_n = int(math.ceil(self.frame_n / self.large_tile_w))
|
||||||
self.large_tile_last_w = self.frame_n % self.large_tile_w or self.large_tile_w
|
self.large_tile_last_w = self.frame_n % self.large_tile_w or self.large_tile_w
|
||||||
|
|
Loading…
Reference in a new issue