def encode_line(self, line): pixels = [self.yuv[col, line] for col in xrange(self.WIDTH)] channel = (line % 2) + 1 y_pixel_time = self.Y_SCAN / self.WIDTH uv_pixel_time = self.C_SCAN / self.WIDTH return chain([(FREQ_BLACK, self.SYNC_PORCH)], ((byte_to_freq(p[0]), y_pixel_time) for p in pixels), [(self.INTER_CH_FREQS[channel], self.INTER_CH_GAP), (FREQ_VIS_START, self.PORCH)], ((byte_to_freq(p[channel]), uv_pixel_time) for p in pixels))
def encode_line(self, line): pixels = [self.yuv[col, line] for col in range(self.WIDTH)] channel = 2 - (line % 2) y_pixel_time = self.Y_SCAN / self.WIDTH uv_pixel_time = self.C_SCAN / self.WIDTH return chain( [(FREQ_BLACK, self.SYNC_PORCH)], ((byte_to_freq(p[0]), y_pixel_time) for p in pixels), [(self.INTER_CH_FREQS[channel], self.INTER_CH_GAP), (FREQ_VIS_START, self.PORCH)], ((byte_to_freq(p[channel]), uv_pixel_time) for p in pixels))
def gen_image_tuples(self): yuv = self.image.convert('YCbCr').load() for line in range(0, self.HEIGHT, 2): yield from self.horizontal_sync() yield FREQ_BLACK, self.PORCH pixels0 = [yuv[col, line] for col in range(self.WIDTH)] pixels1 = [yuv[col, line + 1] for col in range(self.WIDTH)] for p in pixels0: yield byte_to_freq(p[0]), self.PIXEL for p0, p1 in zip(pixels0, pixels1): yield byte_to_freq((p0[2] + p1[2]) / 2), self.PIXEL for p0, p1 in zip(pixels0, pixels1): yield byte_to_freq((p0[1] + p1[1]) / 2), self.PIXEL for p in pixels1: yield byte_to_freq(p[0]), self.PIXEL
def encode_line(self, line): msec_pixel = self.SCAN / self.WIDTH image = self.pixels for col in range(self.WIDTH): pixel = image[col, line] freq_pixel = byte_to_freq(pixel[0]) yield freq_pixel, msec_pixel
def gen_image_tuples(self): yuv = self.image.convert('YCbCr').load() for line in range(0, self.HEIGHT, 2): for item in self.horizontal_sync(): yield item yield FREQ_BLACK, self.PORCH pixels0 = [yuv[col, line] for col in range(self.WIDTH)] pixels1 = [yuv[col, line + 1] for col in range(self.WIDTH)] for p in pixels0: yield byte_to_freq(p[0]), self.PIXEL for p0, p1 in zip(pixels0, pixels1): yield byte_to_freq((p0[2] + p1[2]) / 2), self.PIXEL for p0, p1 in zip(pixels0, pixels1): yield byte_to_freq((p0[1] + p1[1]) / 2), self.PIXEL for p in pixels1: yield byte_to_freq(p[0]), self.PIXEL
def encode_line(self, line): msec_pixel = self.SCAN / self.WIDTH image = self.pixels for color in self.COLOR_SEQ: yield from self.before_channel(color) for col in range(self.WIDTH): pixel = image[col, line] freq_pixel = byte_to_freq(pixel[color.value]) yield freq_pixel, msec_pixel yield from self.after_channel(color)
def encode_line(self, line): msec_pixel = self.SCAN / self.WIDTH image = self.pixels for index in self.COLOR_SEQ: for item in self.before_channel(index): yield item for col in range(self.WIDTH): pixel = image[col, line] freq_pixel = byte_to_freq(pixel[index]) yield freq_pixel, msec_pixel for item in self.after_channel(index): yield item
def encode_line(self, line): msec_pixel = self.SCAN / self.WIDTH image = self.pixels for index in self.COLOR_SEQ: for item in self.before_channel(index): yield item for col in xrange(self.WIDTH): pixel = image[col, line] freq_pixel = byte_to_freq(pixel[index]) yield freq_pixel, msec_pixel for item in self.after_channel(index): yield item
def encode_line(self, line): pixels_odd = [self.yuv[col, line] for col in range(self.WIDTH)] pixels_even = [self.yuv[col, line + 1] for col in range(self.WIDTH)] #tuple(map(operator.add, a, b)) rb_y = [((tuple( map(operator.add, self.yuv[col, line], self.yuv[col, line + 1])))) for col in range(self.WIDTH)] channel = line % 2 # odd = 1 even = 0 y_pixel_time = self.Y_SCAN / self.WIDTH uv_pixel_time = self.C_SCAN / self.WIDTH if channel == 1: return chain([(FREQ_BLACK, self.PORCH)], ((byte_to_freq(p[0]), y_pixel_time) for p in pixels_odd), ((byte_to_freq(p[2] / 2), uv_pixel_time) for p in rb_y), ((byte_to_freq(p[1] / 2), uv_pixel_time) for p in rb_y), ((byte_to_freq(p[0]), y_pixel_time) for p in pixels_even)) else: chain1 = () return chain1