MythTV  master
Macros | Enumerations | Functions | Variables
eldutils.cpp File Reference
#include "eldutils.h"
#include <algorithm>
#include <cinttypes>
#include <limits>
#include <sys/types.h>
#include <QString>
#include <QtEndian>
#include "audiooutputbase.h"
#include "libmythbase/mythlogging.h"
Include dependency graph for eldutils.cpp:

Go to the source code of this file.

Macros

#define LOC   QString("ELDUTILS: ")
 

Enumerations

enum  eld_versions : std::uint8_t { ELD_VER_CEA_861D = 2, ELD_VER_PARTIAL = 31 }
 
enum  cea_edid_versions : std::uint8_t {
  CEA_EDID_VER_NONE = 0, CEA_EDID_VER_CEA861 = 1, CEA_EDID_VER_CEA861A = 2, CEA_EDID_VER_CEA861BCD = 3,
  CEA_EDID_VER_RESERVED = 4
}
 
enum  cea_audio_coding_xtypes : std::uint8_t {
  XTYPE_HE_REF_CT = 0, XTYPE_HE_AAC = 1, XTYPE_HE_AAC2 = 2, XTYPE_MPEG_SURROUND = 3,
  XTYPE_FIRST_RESERVED = 4
}
 
enum  : std::uint16_t {
  SNDRV_PCM_RATE_5512 = (1<<0), SNDRV_PCM_RATE_8000 = (1<<1), SNDRV_PCM_RATE_11025 = (1<<2), SNDRV_PCM_RATE_16000 = (1<<3),
  SNDRV_PCM_RATE_22050 = (1<<4), SNDRV_PCM_RATE_32000 = (1<<5), SNDRV_PCM_RATE_44100 = (1<<6), SNDRV_PCM_RATE_48000 = (1<<7),
  SNDRV_PCM_RATE_64000 = (1<<8), SNDRV_PCM_RATE_88200 = (1<<9), SNDRV_PCM_RATE_96000 = (1<<10), SNDRV_PCM_RATE_176400 = (1<<11),
  SNDRV_PCM_RATE_192000 = (1<<12)
}
 

Functions

static int GRAB_BITS (const char *buf, size_t byte, uint8_t lowbit, uint8_t bits)
 

Variables

static const std::array< const QString, 11 > cea_speaker_allocation_names
 
static const std::array< const QString, 4 > eld_connection_type_names
 
static const std::array< const QString, 18 > audiotype_names
 
static const std::array< const int, 8 > cea_sampling_frequencies
 

Macro Definition Documentation

◆ LOC

#define LOC   QString("ELDUTILS: ")

Definition at line 39 of file eldutils.cpp.

Enumeration Type Documentation

◆ eld_versions

enum eld_versions : std::uint8_t
Enumerator
ELD_VER_CEA_861D 
ELD_VER_PARTIAL 

Definition at line 41 of file eldutils.cpp.

◆ cea_edid_versions

enum cea_edid_versions : std::uint8_t
Enumerator
CEA_EDID_VER_NONE 
CEA_EDID_VER_CEA861 
CEA_EDID_VER_CEA861A 
CEA_EDID_VER_CEA861BCD 
CEA_EDID_VER_RESERVED 

Definition at line 47 of file eldutils.cpp.

◆ cea_audio_coding_xtypes

enum cea_audio_coding_xtypes : std::uint8_t
Enumerator
XTYPE_HE_REF_CT 
XTYPE_HE_AAC 
XTYPE_HE_AAC2 
XTYPE_MPEG_SURROUND 
XTYPE_FIRST_RESERVED 

Definition at line 77 of file eldutils.cpp.

◆ anonymous enum

anonymous enum : std::uint16_t
Enumerator
SNDRV_PCM_RATE_5512 
SNDRV_PCM_RATE_8000 
SNDRV_PCM_RATE_11025 
SNDRV_PCM_RATE_16000 
SNDRV_PCM_RATE_22050 
SNDRV_PCM_RATE_32000 
SNDRV_PCM_RATE_44100 
SNDRV_PCM_RATE_48000 
SNDRV_PCM_RATE_64000 
SNDRV_PCM_RATE_88200 
SNDRV_PCM_RATE_96000 
SNDRV_PCM_RATE_176400 
SNDRV_PCM_RATE_192000 

Definition at line 116 of file eldutils.cpp.

Function Documentation

◆ GRAB_BITS()

static int GRAB_BITS ( const char *  buf,
size_t  byte,
uint8_t  lowbit,
uint8_t  bits 
)
inlinestatic

Definition at line 144 of file eldutils.cpp.

Referenced by eld::update_eld(), and eld::update_sad().

Variable Documentation

◆ cea_speaker_allocation_names

const std::array<const QString,11> cea_speaker_allocation_names
static
Initial value:
{
"FL/FR",
"LFE",
"FC",
"RL/RR",
"RC",
"FLC/FRC",
"RLC/RRC",
"FLW/FRW",
"FLH/FRH",
"TC",
"FCH",
}

Definition at line 56 of file eldutils.cpp.

Referenced by eld::channel_allocation_desc().

◆ eld_connection_type_names

const std::array<const QString,4> eld_connection_type_names
static
Initial value:
{
"HDMI",
"DisplayPort",
"2-reserved",
"3-reserved"
}

Definition at line 70 of file eldutils.cpp.

Referenced by eld::connection_name().

◆ audiotype_names

const std::array<const QString,18> audiotype_names
static
Initial value:
{
"undefined",
"LPCM",
"AC3",
"MPEG1",
"MP3",
"MPEG2",
"AAC-LC",
"DTS",
"ATRAC",
"DSD (One Bit Audio)",
"E-AC3",
"DTS-HD",
"TrueHD",
"DST",
"WMAPro",
"HE-AAC",
"HE-AACv2",
"MPEG Surround",
}

Definition at line 86 of file eldutils.cpp.

Referenced by eld::codecs_desc(), and eld::sad_desc().

◆ cea_sampling_frequencies

const std::array<const int,8> cea_sampling_frequencies
static
SNDRV_PCM_RATE_48000
@ SNDRV_PCM_RATE_48000
Definition: eldutils.cpp:124
SNDRV_PCM_RATE_176400
@ SNDRV_PCM_RATE_176400
Definition: eldutils.cpp:128
SNDRV_PCM_RATE_88200
@ SNDRV_PCM_RATE_88200
Definition: eldutils.cpp:126
SNDRV_PCM_RATE_32000
@ SNDRV_PCM_RATE_32000
Definition: eldutils.cpp:122
SNDRV_PCM_RATE_44100
@ SNDRV_PCM_RATE_44100
Definition: eldutils.cpp:123
SNDRV_PCM_RATE_96000
@ SNDRV_PCM_RATE_96000
Definition: eldutils.cpp:127
SNDRV_PCM_RATE_192000
@ SNDRV_PCM_RATE_192000
Definition: eldutils.cpp:129