def test_OneBlackFrame(self): codec = mjpeg.MotionJpegCodec() my_optimizer = optimizer.Optimizer(codec) videofile = test_tools.MakeYuvFileWithOneBlankFrame( 'one_black_frame_1024_768_30.yuv') # Motion JPEG generates a massive file, so give it a large target bitrate. encoding = my_optimizer.BestEncoding(5000, videofile) encoding.Execute() self.assertLess(50.0, my_optimizer.Score(encoding))
def test_ParametersSet(self): codec = mjpeg.MotionJpegCodec() my_optimizer = optimizer.Optimizer(codec) videofile = test_tools.MakeYuvFileWithOneBlankFrame( 'one_black_frame_1024_768_30.yuv') my_encoder = encoder.Encoder( my_optimizer.context, encoder.OptionValueSet(codec.option_set, '-qmin 1 -qmax 1', formatter=codec.option_formatter)) encoding = my_encoder.Encoding(5000, videofile) encoding.Execute() self.assertLess(50.0, my_optimizer.Score(encoding))
def test_ParametersAdjusted(self): codec = mjpeg.MotionJpegCodec() my_optimizer = optimizer.Optimizer(codec) my_encoder = encoder.Encoder( my_optimizer.context, encoder.OptionValueSet(codec.option_set, '-qmin 2 -qmax 2', formatter=codec.option_formatter)) self.assertEquals('2', my_encoder.parameters.GetValue('qmin')) self.assertEquals('2', my_encoder.parameters.GetValue('qmax')) # qmax is less than qmin. Should be adjusted to be above. my_encoder = encoder.Encoder( my_optimizer.context, encoder.OptionValueSet(codec.option_set, '-qmin 3 -qmax 2', formatter=codec.option_formatter)) self.assertEquals('3', my_encoder.parameters.GetValue('qmin')) self.assertEquals('3', my_encoder.parameters.GetValue('qmax'))