Added detection of 24fps

This commit is contained in:
Klaus Schmidinger 2015-03-11 09:57:21 +01:00
parent cc306290da
commit 371e60238a
3 changed files with 7 additions and 3 deletions

View File

@ -3313,6 +3313,7 @@ Thomas Reufer <thomas@reufer.ch>
skipping"
for suggesting to change the return value of cOsd::RenderPixmaps() from cPixmapMemory
to cPixmap
for adding detection of 24fps
Eike Sauer <EikeSauer@t-online.de>
for reporting a problem with channels that need more than 5 TS packets for detecting

View File

@ -8596,7 +8596,7 @@ Video Disk Recorder Revision History
- Bumped all version numbers to 2.2.0.
- Official release.
2015-03-09: Version 2.3.1
2015-03-11: Version 2.3.1
- The new function cOsd::MaxPixmapSize() can be called to determine the maximum size
a cPixmap may have on the current OSD. The 'osddemo' example has been modified
@ -8605,3 +8605,4 @@ Video Disk Recorder Revision History
to 2048x2048 pixel.
- The Setup/CAM menu now displays which device an individual CAM is currently
assigned to (suggested by Frank Neumann).
- Added detection of 24fps (thanks to Thomas Reufer).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: remux.c 3.9 2015/01/14 09:57:09 kls Exp $
* $Id: remux.c 4.1 2015/03/11 09:49:38 kls Exp $
*/
#include "remux.h"
@ -1552,7 +1552,9 @@ int cFrameDetector::Analyze(const uchar *Data, int Length)
uint32_t Delta = ptsValues[0] / Div;
// determine frame info:
if (isVideo) {
if (abs(Delta - 3600) <= 1)
if (Delta == 3753)
framesPerSecond = 24.0 / 1.001;
else if (abs(Delta - 3600) <= 1)
framesPerSecond = 25.0;
else if (Delta % 3003 == 0)
framesPerSecond = 30.0 / 1.001;