From b2c00784b0e765ea2bc6fc4e072bc58fb37662ac Mon Sep 17 00:00:00 2001 From: kris Date: Fri, 21 Jun 2019 22:08:22 +0100 Subject: [PATCH] Minor code cleanups --- transcoder/frame_grabber.py | 11 ++++++----- transcoder/machine.py | 14 +------------- transcoder/make_data_tables.py | 3 +-- transcoder/movie.py | 9 +++++---- transcoder/video.py | 7 ++++--- transcoder/video_test.py | 4 +++- 6 files changed, 20 insertions(+), 28 deletions(-) diff --git a/transcoder/frame_grabber.py b/transcoder/frame_grabber.py index 6e56cd4..5a0fcb8 100644 --- a/transcoder/frame_grabber.py +++ b/transcoder/frame_grabber.py @@ -116,12 +116,13 @@ class FileFrameGrabber(FrameGrabber): def worker(): """Invoke bmp2dhr to encode input image frames and push to queue.""" + + decode = ( + _dhgr_decode if self.video_mode == VideoMode.DHGR else + _hgr_decode + ) for _idx, _frame in enumerate(self._frame_grabber()): - if self.video_mode == VideoMode.DHGR: - res = _dhgr_decode(_idx, _frame) - else: - res = _hgr_decode(_idx, _frame) - q.put(res) + q.put(decode(_idx, _frame)) q.put((None, None)) diff --git a/transcoder/machine.py b/transcoder/machine.py index 6826530..b714bcd 100644 --- a/transcoder/machine.py +++ b/transcoder/machine.py @@ -2,24 +2,12 @@ from typing import Iterator -import numpy as np - -import screen - class Machine: """Represents Apple II and player virtual machine state.""" - def __init__( - self, - memmap: screen.MemoryMap, - update_priority: np.array - ): + def __init__(self): self.page = 0x20 # type: int - self.content = 0x7f # type: int - - self.memmap = memmap # type: screen.MemoryMap - self.update_priority = update_priority # type: np.array def emit(self, opcode: "Opcode") -> Iterator[int]: """ diff --git a/transcoder/make_data_tables.py b/transcoder/make_data_tables.py index 05f8fbc..6f00280 100644 --- a/transcoder/make_data_tables.py +++ b/transcoder/make_data_tables.py @@ -1,12 +1,11 @@ import bz2 import functools import pickle -from typing import Dict, List, Iterable, Type +from typing import Iterable, Type import colormath.color_conversions import colormath.color_diff import colormath.color_objects - import numpy as np import weighted_levenshtein diff --git a/transcoder/movie.py b/transcoder/movie.py index b539985..b75217e 100644 --- a/transcoder/movie.py +++ b/transcoder/movie.py @@ -38,15 +38,16 @@ class Movie: palette=self.palette ) # type: video.Video + # Byte offset within TCP stream self.stream_pos = 0 # type: int + # Current audio tick opcode count within movie stream. self.ticks = 0 # type: int - self.state = machine.Machine( - self.video.memory_map, - self.video.update_priority - ) + # Tracks internal state of player virtual machine + self.state = machine.Machine() + # Currently operating on AUX memory bank? self.aux_memory_bank = False def encode(self) -> Iterator[opcodes.Opcode]: diff --git a/transcoder/video.py b/transcoder/video.py index 0fbe5ae..043abc1 100644 --- a/transcoder/video.py +++ b/transcoder/video.py @@ -22,15 +22,16 @@ class Video: def __init__( self, frame_grabber: FrameGrabber, - ticks_per_second: int, + ticks_per_second: float, mode: VideoMode = VideoMode.HGR, palette: Palette = Palette.NTSC ): self.mode = mode # type: VideoMode self.frame_grabber = frame_grabber # type: FrameGrabber - self.ticks_per_second = float(ticks_per_second) # type: float + self.ticks_per_second = ticks_per_second # type: float self.ticks_per_frame = ( - self.ticks_per_second / frame_grabber.input_frame_rate) # type: float + self.ticks_per_second / frame_grabber.input_frame_rate + ) # type: float self.frame_number = 0 # type: int self.palette = palette # type: Palette diff --git a/transcoder/video_test.py b/transcoder/video_test.py index 25bf295..a4d58d0 100644 --- a/transcoder/video_test.py +++ b/transcoder/video_test.py @@ -12,7 +12,9 @@ import video_mode class TestVideo(unittest.TestCase): def test_diff_weights(self): fs = frame_grabber.FrameGrabber(mode=video_mode.VideoMode.DHGR) - v = video.Video(fs, ticks_per_second=10000, mode=video_mode.VideoMode.DHGR) + v = video.Video( + fs, ticks_per_second=10000., + mode=video_mode.VideoMode.DHGR) frame = screen.MemoryMap(screen_page=1) frame.page_offset[0, 0] = 0b1111111