Keep 60 fps downsampling away from half-period ties
This commit is contained in:
1 parent
ee9af6533d
commit
fe2ccb07e1
1 file changed
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
// Сетка 30 fps с допуском половины периода: дрожание PTS не превращает 30 fps в 15.
|
// Сетка 30 fps с допуском четверти периода: дрожание PTS не превращает 30 fps в 15.
|
||||||
class CallVideoCadence {
|
class CallVideoCadence {
|
||||||
int64_t origin = -1, lastSlot = -1;
|
int64_t origin = -1, lastSlot = -1;
|
||||||
public:
|
public:
|
||||||
@@ -9,7 +9,7 @@ public:
|
|||||||
if (origin < 0) origin = pts;
|
if (origin < 0) origin = pts;
|
||||||
if (pts < origin) return false;
|
if (pts < origin) return false;
|
||||||
const int64_t elapsed = pts - origin;
|
const int64_t elapsed = pts - origin;
|
||||||
const int64_t slot = (elapsed / 1000000) * 30 + ((elapsed % 1000000) * 30 + 500000) / 1000000;
|
const int64_t slot = (elapsed / 1000000) * 30 + ((elapsed % 1000000) * 30 + 250000) / 1000000;
|
||||||
if (slot <= lastSlot) return false;
|
if (slot <= lastSlot) return false;
|
||||||
lastSlot = slot;
|
lastSlot = slot;
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in new issue
Block a user