def __init__(self, preset=None, verbose=False, encParams={}, seqParams={}, allParams={}): """x.__init__(...) initializes x; see x.__class__.__doc__ for signature""" super(DiracEncoder, self).__init__() allParams.update(encParams) allParams.update(seqParams) if 'frame_rate' in allParams: allParams['frame_rate'] = rational(allParams['frame_rate']) if "pix_asr" in allParams: allParams['pix_asr'] = rational(allParams['pix_asr']) if _encoder_version == (0, 5, 4): self.encoder = EncoderWrapper(preset=preset, bufsize=1024 * 1024, verbose=verbose, encParams=allParams, seqParams=allParams) else: # _encoder_version == (0,6,0): self.encoder = EncoderWrapper(preset=preset, bufsize=1024 * 1024, verbose=verbose, allParams=allParams)
def write_header(self, frame): """\ Generator. Sends the YUV4MPEG format header to the "outbox" outbox, based on attributes of the supplied frame data structure. """ format = "YUV4MPEG2 W%d H%d" % tuple(frame['size']) if frame['pixformat']=="YUV420_planar": format += " C420mpeg2" elif frame['pixformat']=="YUV411_planar": format += " C411" elif frame['pixformat']=="YUV422_planar": format += " C422" elif frame['pixformat']=="YUV444_planar": format += " C444" elif frame['pixformat']=="YUV4444_planar": format += " C444alpha" elif frame['pixformat']=="Y_planar": format += " Cmono" interlace = frame.get("interlaced",False) topfieldfirst = frame.get("topfieldfirst",False) if interlace and topfieldfirst: format += " It" elif interlace and not topfieldfirst: format += " Ib" elif not interlace: format += " Ip" rate = frame.get("frame_rate", 0) if rate > 0: num,denom = rational(rate) format += " F%d:%d" % (num,denom) rate = frame.get("pixel_aspect", 0) if rate > 0: num,denom = rational(rate) format += " A%d:%d" % (num,denom) if "sequence_meta" in frame: format += " X"+frame['sequence_meta'] format += "\x0a" for _ in self.sendoutbox(format): yield _
def __init__(self, preset=None, verbose=False, encParams={}, seqParams={}, allParams={}): """x.__init__(...) initializes x; see x.__class__.__doc__ for signature""" super(DiracEncoder, self).__init__() allParams.update(encParams) allParams.update(seqParams) if 'frame_rate' in allParams: allParams['frame_rate'] = rational(allParams['frame_rate']) if "pix_asr" in allParams: allParams['pix_asr'] = rational(allParams['pix_asr']) if _encoder_version == (0,5,4): self.encoder = EncoderWrapper(preset=preset, bufsize=1024*1024, verbose=verbose, encParams=allParams, seqParams=allParams) else: # _encoder_version == (0,6,0): self.encoder = EncoderWrapper(preset=preset, bufsize=1024*1024, verbose=verbose, allParams=allParams)