last tile is not 0 if videos are exactly a multiple of large_tile_w
This commit is contained in:
parent
d761d93f8c
commit
fed701b0c8
1 changed files with 7 additions and 4 deletions
|
@ -304,7 +304,7 @@ class Timelines():
|
||||||
self.frame_center = int(frame_size[0] / 2)
|
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
|
self.large_tile_last_w = self.frame_n % self.large_tile_w or self.large_tile_w
|
||||||
if self.render_small_tiles:
|
if self.render_small_tiles:
|
||||||
self.small_tile_n = int(math.ceil(self.duration / self.small_tile_w))
|
self.small_tile_n = int(math.ceil(self.duration / self.small_tile_w))
|
||||||
self.small_tile_last_w =int(math.ceil(self.duration % self.small_tile_w))
|
self.small_tile_last_w =int(math.ceil(self.duration % self.small_tile_w))
|
||||||
|
@ -413,7 +413,8 @@ class Timelines():
|
||||||
self._render_keyframes()
|
self._render_keyframes()
|
||||||
self.cut_frames.append(frame_image)
|
self.cut_frames.append(frame_image)
|
||||||
if self.is_last_frame:
|
if self.is_last_frame:
|
||||||
self.cuts.append(self.frame_n)
|
if not self.cuts or self.cuts[-1] != self.frame_n:
|
||||||
|
self.cuts.append(self.frame_n)
|
||||||
self._render_keyframes()
|
self._render_keyframes()
|
||||||
|
|
||||||
# save large tile
|
# save large tile
|
||||||
|
@ -439,8 +440,9 @@ class Timelines():
|
||||||
wide = 1 if mode == 'keyframes' else self.wide
|
wide = 1 if mode == 'keyframes' else self.wide
|
||||||
frame_ratio = self.frame_ratio * wide
|
frame_ratio = self.frame_ratio * wide
|
||||||
cut_images = int(math.ceil(cut_width / (frame_ratio * self.large_tile_h)))
|
cut_images = int(math.ceil(cut_width / (frame_ratio * self.large_tile_h)))
|
||||||
if cut_width == cut_images == 0:
|
if cut_images == 0:
|
||||||
print 'ERROR division by zerro', cut_width, cut_images
|
print 'ERROR division by zerro', cut_width, cut_images
|
||||||
|
index = -1
|
||||||
image_widths = self._divide(cut_width, cut_images)
|
image_widths = self._divide(cut_width, cut_images)
|
||||||
image_i = self.cuts[-2]
|
image_i = self.cuts[-2]
|
||||||
large_keyframes_tile_i = self.large_keyframes_tile_i
|
large_keyframes_tile_i = self.large_keyframes_tile_i
|
||||||
|
@ -473,8 +475,9 @@ class Timelines():
|
||||||
self.large_tile_image[mode] = Image.new('RGB', (w, self.large_tile_h))
|
self.large_tile_image[mode] = Image.new('RGB', (w, self.large_tile_h))
|
||||||
self.large_tile_image[mode].paste(frame_image, (offset, 0))
|
self.large_tile_image[mode].paste(frame_image, (offset, 0))
|
||||||
image_i += image_w
|
image_i += image_w
|
||||||
if self.is_last_frame:
|
if self.is_last_frame and index > -1:
|
||||||
self._save_tile(mode, index)
|
self._save_tile(mode, index)
|
||||||
|
|
||||||
self.large_keyframes_tile_i = large_keyframes_tile_i
|
self.large_keyframes_tile_i = large_keyframes_tile_i
|
||||||
self.cut_frames = []
|
self.cut_frames = []
|
||||||
self.log and self.profiler.unset_task()
|
self.log and self.profiler.unset_task()
|
||||||
|
|
Loading…
Reference in a new issue