示例#1
0
 def test_cfr_timecodes_v1_with_overrides(self):
     text = '# timecode format v1\nAssume 23.976000\n0,2000,23.976000\n3000,5000,23.976000'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(1.0 / 23.976, parsed.get_frame_size(0))
     self.assertAlmostEqual(1.0 / 23.976, parsed.get_frame_size(25))
     self.assertAlmostEqual(1.0 / 23.976 * 100, parsed.get_frame_time(100))
     self.assertEqual(0, parsed.get_frame_time(0))
示例#2
0
 def test_cfr_timecodes_v1_with_overrides(self):
     text = '# timecode format v1\nAssume 23.976000\n0,2000,23.976000\n3000,5000,23.976000'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(1.0/23.976, parsed.get_frame_size(0))
     self.assertAlmostEqual(1.0/23.976, parsed.get_frame_size(25))
     self.assertAlmostEqual(1.0/23.976*100, parsed.get_frame_time(100))
     self.assertEqual(0, parsed.get_frame_time(0))
示例#3
0
 def test_cfr_timecodes_v1(self):
     text = '# timecode format v1\nAssume 23.976024'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(1.0/23.976024, parsed.get_frame_size(0))
     self.assertAlmostEqual(1.0/23.976024, parsed.get_frame_size(25))
     self.assertAlmostEqual(1.0/23.976024*100, parsed.get_frame_time(100))
     self.assertEqual(0, parsed.get_frame_time(0))
     self.assertEqual(0, parsed.get_frame_number(0))
     self.assertEqual(27461, parsed.get_frame_number(1145.353))
示例#4
0
 def test_cfr_timecodes_v1(self):
     text = '# timecode format v1\nAssume 23.976024'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(1.0 / 23.976024, parsed.get_frame_size(0))
     self.assertAlmostEqual(1.0 / 23.976024, parsed.get_frame_size(25))
     self.assertAlmostEqual(1.0 / 23.976024 * 100,
                            parsed.get_frame_time(100))
     self.assertEqual(0, parsed.get_frame_time(0))
     self.assertEqual(0, parsed.get_frame_number(0))
     self.assertEqual(27461, parsed.get_frame_number(1145.353))
示例#5
0
    def test_cfr_timecodes_v2(self):
        text = '# timecode format v2\n' + '\n'.join(str(1000 * x / 23.976) for x in range(0, 30000))
        parsed = Timecodes.parse(text)

        self.assertAlmostEqual(1.0/23.976, parsed.get_frame_size(0))
        self.assertAlmostEqual(1.0/23.976, parsed.get_frame_size(25))
        self.assertAlmostEqual(1.0/23.976*100, parsed.get_frame_time(100))
        self.assertEqual(0, parsed.get_frame_time(0))
        self.assertEqual(0, parsed.get_frame_number(0))
        self.assertEqual(27461, parsed.get_frame_number(1145.353))
示例#6
0
    def test_cfr_timecodes_v2(self):
        text = '# timecode format v2\n' + '\n'.join(
            str(1000 * x / 23.976) for x in range(0, 30000))
        parsed = Timecodes.parse(text)

        self.assertAlmostEqual(1.0 / 23.976, parsed.get_frame_size(0))
        self.assertAlmostEqual(1.0 / 23.976, parsed.get_frame_size(25))
        self.assertAlmostEqual(1.0 / 23.976 * 100, parsed.get_frame_time(100))
        self.assertEqual(0, parsed.get_frame_time(0))
        self.assertEqual(0, parsed.get_frame_number(0))
        self.assertEqual(27461, parsed.get_frame_number(1145.353))
示例#7
0
 def test_vfr_timecodes_v1_frame_time_outside_of_defined_range(self):
     text = '# timecode format v1\nAssume 23.976000\n0,2000,29.970000\n3000,4000,59.940000'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(1000.968,
                            parsed.get_frame_time(number=25000),
                            places=3)
示例#8
0
 def test_vfr_timecodes_v1_frame_time_at_first_frame(self):
     text = '# timecode format v1\nAssume 23.976000\n0,2000,29.970000\n3000,4000,59.940000'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(0, parsed.get_frame_time(number=0))
示例#9
0
 def test_vft_timecodes_v1_frame_size_between_override_blocks(self):
     text = '# timecode format v1\nAssume 23.976000\n0,2000,29.970000\n3000,4000,59.940000'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(1.0 / 23.976,
                            parsed.get_frame_size(timestamp=87.496))
示例#10
0
 def test_vfr_timecodes_v1_frame_size_outside_of_defined_range(self):
     text = '# timecode format v1\nAssume 23.976000\n0,2000,29.970000\n3000,4000,59.940000'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(1.0 / 23.976,
                            parsed.get_frame_size(timestamp=5000.0))
示例#11
0
 def test_vft_timecodes_v1_frame_time_between_override_blocks(self):
     text = '# timecode format v1\nAssume 23.976000\n0,2000,29.970000\n3000,4000,59.940000'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(87.579,
                            parsed.get_frame_time(number=2500),
                            places=3)
示例#12
0
 def test_vft_timecodes_v1_frame_time_between_override_blocks(self):
     text = '# timecode format v1\nAssume 23.976000\n0,2000,29.970000\n3000,4000,59.940000'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(87.579, parsed.get_frame_time(number=2500), places=3)
示例#13
0
 def test_vfr_timecodes_v1_frame_time_outside_of_defined_range(self):
     text = '# timecode format v1\nAssume 23.976000\n0,2000,29.970000\n3000,4000,59.940000'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(1000.968, parsed.get_frame_time(number=25000), places=3)
示例#14
0
 def test_vfr_timecodes_v1_frame_time_at_first_frame(self):
     text = '# timecode format v1\nAssume 23.976000\n0,2000,29.970000\n3000,4000,59.940000'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(0, parsed.get_frame_time(number=0))
示例#15
0
 def test_vft_timecodes_v1_frame_size_between_override_blocks(self):
     text = '# timecode format v1\nAssume 23.976000\n0,2000,29.970000\n3000,4000,59.940000'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(1.0/23.976, parsed.get_frame_size(timestamp=87.496))
示例#16
0
 def test_vfr_timecodes_v1_frame_size_outside_of_defined_range(self):
     text = '# timecode format v1\nAssume 23.976000\n0,2000,29.970000\n3000,4000,59.940000'
     parsed = Timecodes.parse(text)
     self.assertAlmostEqual(1.0/23.976, parsed.get_frame_size(timestamp=5000.0))