mirror of
https://github.com/rofafor/vdr-plugin-femon.git
synced 2023-10-10 13:36:53 +02:00
Adapted cFemonBitStream for vdr-1.7.22.
This commit is contained in:
parent
313bbd10ef
commit
3b776594ef
2
HISTORY
2
HISTORY
@ -415,7 +415,7 @@ VDR Plugin 'femon' Revision History
|
|||||||
- Updated for vdr-1.7.18.
|
- Updated for vdr-1.7.18.
|
||||||
- Added scaling for symbols.
|
- Added scaling for symbols.
|
||||||
|
|
||||||
2011-xx-xx: Version 1.7.11
|
2011-12-04: Version 1.7.11
|
||||||
|
|
||||||
- Updated for vdr-1.7.22: New API functions for signal strength
|
- Updated for vdr-1.7.22: New API functions for signal strength
|
||||||
and quality used to provide information for the OSD.
|
and quality used to provide information for the OSD.
|
||||||
|
4
femon.c
4
femon.c
@ -14,8 +14,8 @@
|
|||||||
#include "femonservice.h"
|
#include "femonservice.h"
|
||||||
#include "femontools.h"
|
#include "femontools.h"
|
||||||
|
|
||||||
#if defined(APIVERSNUM) && APIVERSNUM < 10719
|
#if defined(APIVERSNUM) && APIVERSNUM < 10722
|
||||||
#error "VDR-1.7.19 API version or greater is required!"
|
#error "VDR-1.7.22 API version or greater is required!"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const char VERSION[] = "1.7.11";
|
static const char VERSION[] = "1.7.11";
|
||||||
|
@ -851,7 +851,7 @@ eOSState cFemonOsd::ProcessKey(eKeys Key)
|
|||||||
{
|
{
|
||||||
eOSState state = cOsdObject::ProcessKey(Key);
|
eOSState state = cOsdObject::ProcessKey(Key);
|
||||||
if (state == osUnknown) {
|
if (state == osUnknown) {
|
||||||
switch (Key) {
|
switch (int(Key)) {
|
||||||
case k0:
|
case k0:
|
||||||
if ((m_Number == 0) && (m_OldNumber != 0)) {
|
if ((m_Number == 0) && (m_OldNumber != 0)) {
|
||||||
m_Number = m_OldNumber;
|
m_Number = m_OldNumber;
|
||||||
|
39
femontools.c
39
femontools.c
@ -544,45 +544,6 @@ cString getBitrateKbits(double value)
|
|||||||
|
|
||||||
// --- cFemonBitStream -------------------------------------------------------
|
// --- cFemonBitStream -------------------------------------------------------
|
||||||
|
|
||||||
int cFemonBitStream::GetBit(void)
|
|
||||||
{
|
|
||||||
if (index >= length)
|
|
||||||
return 1;
|
|
||||||
int r = (data[index >> 3] >> (7 - (index & 7))) & 1;
|
|
||||||
++index;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t cFemonBitStream::GetBits(int n)
|
|
||||||
{
|
|
||||||
uint32_t r = 0;
|
|
||||||
while (n--)
|
|
||||||
r |= GetBit() << n;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
void cFemonBitStream::ByteAlign(void)
|
|
||||||
{
|
|
||||||
int n = index % 8;
|
|
||||||
if (n > 0)
|
|
||||||
SkipBits(8 - n);
|
|
||||||
}
|
|
||||||
|
|
||||||
void cFemonBitStream::WordAlign(void)
|
|
||||||
{
|
|
||||||
int n = index % 16;
|
|
||||||
if (n > 0)
|
|
||||||
SkipBits(16 - n);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool cFemonBitStream::SetLength(int Length)
|
|
||||||
{
|
|
||||||
if (Length > length)
|
|
||||||
return false;
|
|
||||||
length = Length;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t cFemonBitStream::GetUeGolomb()
|
uint32_t cFemonBitStream::GetUeGolomb()
|
||||||
{
|
{
|
||||||
int n = 0;
|
int n = 0;
|
||||||
|
22
femontools.h
22
femontools.h
@ -71,27 +71,9 @@ cString getVideoBitrate(double value, double stream);
|
|||||||
cString getBitrateMbits(double value);
|
cString getBitrateMbits(double value);
|
||||||
cString getBitrateKbits(double value);
|
cString getBitrateKbits(double value);
|
||||||
|
|
||||||
class cFemonBitStream {
|
class cFemonBitStream : public cBitStream {
|
||||||
private:
|
|
||||||
const uint8_t *data;
|
|
||||||
int length; // in bits
|
|
||||||
int index; // in bits
|
|
||||||
public:
|
public:
|
||||||
cFemonBitStream(const uint8_t *Data, int Length) : data(Data), length(Length), index(0) {}
|
cFemonBitStream(const uint8_t *Data, const int Length) : cBitStream(Data, Length) {}
|
||||||
~cFemonBitStream() {}
|
|
||||||
int GetBit(void);
|
|
||||||
uint32_t GetBits(int n);
|
|
||||||
void ByteAlign(void);
|
|
||||||
void WordAlign(void);
|
|
||||||
bool SetLength(int Length);
|
|
||||||
void SkipBits(int n) { index += n; }
|
|
||||||
void SkipBit(void) { SkipBits(1); }
|
|
||||||
bool IsEOF(void) const { return index >= length; }
|
|
||||||
void Reset(void) { index = 0; }
|
|
||||||
int Length(void) const { return length; }
|
|
||||||
int Index(void) const { return (IsEOF() ? length : index); }
|
|
||||||
const uint8_t *GetData(void) const { return (IsEOF() ? NULL : data + (index / 8)); }
|
|
||||||
|
|
||||||
uint32_t GetUeGolomb();
|
uint32_t GetUeGolomb();
|
||||||
int32_t GetSeGolomb();
|
int32_t GetSeGolomb();
|
||||||
void SkipGolomb();
|
void SkipGolomb();
|
||||||
|
Loading…
Reference in New Issue
Block a user