2005-08-28 03:20:00 +02:00
|
|
|
/*
|
2015-03-07 21:32:58 +01:00
|
|
|
* tools.h: Frontend Status Monitor plugin for the Video Disk Recorder
|
2005-08-28 03:20:00 +02:00
|
|
|
*
|
|
|
|
* See the README file for copyright information and how to reach the author.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2015-03-07 21:32:58 +01:00
|
|
|
#ifndef __FEMON_COMMON_H
|
|
|
|
#define __FEMON_COMMON_H
|
2005-08-28 03:20:00 +02:00
|
|
|
|
|
|
|
#include <stdint.h>
|
2006-09-17 03:20:00 +02:00
|
|
|
#include <vdr/channels.h>
|
2012-01-15 22:07:53 +01:00
|
|
|
#include <vdr/dvbdevice.h>
|
2009-08-25 19:22:06 +02:00
|
|
|
#include <vdr/remux.h>
|
2005-08-28 03:20:00 +02:00
|
|
|
#include <vdr/tools.h>
|
|
|
|
|
2008-11-09 12:43:27 +01:00
|
|
|
#define ELEMENTS(x) (sizeof(x) / sizeof(x[0]))
|
|
|
|
|
2005-08-28 03:20:00 +02:00
|
|
|
#define FRONTEND_DEVICE "/dev/dvb/adapter%d/frontend%d"
|
|
|
|
|
2014-03-15 11:35:49 +01:00
|
|
|
#define SATIP_DEVICE "SAT>IP"
|
2014-03-08 12:28:31 +01:00
|
|
|
|
2017-05-04 21:47:49 +02:00
|
|
|
cString getFrontendInfo(cDevice *deviceP);
|
|
|
|
cString getFrontendName(cDevice *deviceP);
|
|
|
|
cString getFrontendStatus(cDevice *deviceP);
|
|
|
|
|
|
|
|
double getCNR(cDevice *deviceP);
|
|
|
|
double getSignal(cDevice *deviceP);
|
|
|
|
double getBER(cDevice *deviceP);
|
|
|
|
double getPER(cDevice *deviceP);
|
2005-08-28 03:20:00 +02:00
|
|
|
|
2015-03-07 17:22:02 +01:00
|
|
|
cString getApids(const cChannel *channelP);
|
|
|
|
cString getDpids(const cChannel *channelP);
|
|
|
|
cString getSpids(const cChannel *channelP);
|
|
|
|
cString getCAids(const cChannel *channelP);
|
|
|
|
cString getVideoStream(int valueP);
|
|
|
|
cString getVideoCodec(int valueP);
|
|
|
|
cString getAudioStream(int valueP, const cChannel *channelP);
|
|
|
|
cString getAudioCodec(int valueP);
|
|
|
|
cString getAudioChannelMode(int valueP);
|
|
|
|
cString getCoderate(int valueP);
|
|
|
|
cString getTransmission(int valueP);
|
|
|
|
cString getBandwidth(int valueP);
|
|
|
|
cString getInversion(int valueP);
|
|
|
|
cString getHierarchy(int valueP);
|
|
|
|
cString getGuard(int valueP);
|
|
|
|
cString getModulation(int valueP);
|
|
|
|
cString getTerrestrialSystem(int valueP);
|
|
|
|
cString getSatelliteSystem(int valueP);
|
|
|
|
cString getRollOff(int valueP);
|
|
|
|
cString getPilot(int valueP);
|
|
|
|
cString getResolution(int widthP, int heightP, int scanP);
|
|
|
|
cString getAspectRatio(int valueP);
|
|
|
|
cString getVideoFormat(int valueP);
|
|
|
|
cString getFrameRate(double valueP);
|
|
|
|
cString getAC3Stream(int valueP, const cChannel *channelP);
|
|
|
|
cString getAC3BitStreamMode(int valueP, int codingP);
|
|
|
|
cString getAC3AudioCodingMode(int valueP, int streamP);
|
|
|
|
cString getAC3CenterMixLevel(int valueP);
|
|
|
|
cString getAC3SurroundMixLevel(int valueP);
|
|
|
|
cString getAC3DolbySurroundMode(int valueP);
|
|
|
|
cString getAC3DialogLevel(int valueP);
|
|
|
|
cString getFrequencyMHz(int valueP);
|
|
|
|
cString getAudioSamplingFreq(int valueP);
|
|
|
|
cString getAudioBitrate(double valueP, double streamP);
|
|
|
|
cString getVideoBitrate(double valueP, double streamP);
|
|
|
|
cString getBitrateMbits(double valueP);
|
|
|
|
cString getBitrateKbits(double valueP);
|
2006-09-17 03:20:00 +02:00
|
|
|
|
2011-12-04 18:30:24 +01:00
|
|
|
class cFemonBitStream : public cBitStream {
|
2009-08-25 19:22:06 +02:00
|
|
|
public:
|
2015-03-07 17:22:02 +01:00
|
|
|
cFemonBitStream(const uint8_t *dataP, const int lengthP) : cBitStream(dataP, lengthP) {}
|
2011-11-19 15:02:16 +01:00
|
|
|
uint32_t GetUeGolomb();
|
|
|
|
int32_t GetSeGolomb();
|
|
|
|
void SkipGolomb();
|
|
|
|
void SkipUeGolomb() { SkipGolomb(); }
|
|
|
|
void SkipSeGolomb() { SkipGolomb(); }
|
|
|
|
};
|
2009-08-25 19:22:06 +02:00
|
|
|
|
2015-03-07 21:32:58 +01:00
|
|
|
#endif // __FEMON_COMMON_H
|