TSDuck v3.40-4033
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
tsModulation.h File Reference

Definition for MPEG transport modulations. More...

Namespaces

namespace  ts
 TSDuck namespace, containing all TSDuck classes and functions.
 

Typedefs

using ts::BandWidth = uint32_t
 Bandwidth (OFDM, DVB-T/T2)
 

Enumerations

enum  ts::GuardInterval {
  ts::GUARD_AUTO ,
  ts::GUARD_1_32 ,
  ts::GUARD_1_16 ,
  ts::GUARD_1_8 ,
  ts::GUARD_1_4 ,
  ts::GUARD_1_128 ,
  ts::GUARD_19_128 ,
  ts::GUARD_19_256 ,
  ts::GUARD_PN420 ,
  ts::GUARD_PN595 ,
  ts::GUARD_PN945 ,
  ts::GUARD_1_64
}
 Guard interval (OFDM) More...
 
enum  ts::Hierarchy {
  ts::HIERARCHY_AUTO ,
  ts::HIERARCHY_NONE ,
  ts::HIERARCHY_1 ,
  ts::HIERARCHY_2 ,
  ts::HIERARCHY_4
}
 Hierarchy (OFDM) More...
 
enum  ts::InnerFEC {
  ts::FEC_NONE ,
  ts::FEC_AUTO ,
  ts::FEC_1_2 ,
  ts::FEC_2_3 ,
  ts::FEC_3_4 ,
  ts::FEC_4_5 ,
  ts::FEC_5_6 ,
  ts::FEC_6_7 ,
  ts::FEC_7_8 ,
  ts::FEC_8_9 ,
  ts::FEC_9_10 ,
  ts::FEC_3_5 ,
  ts::FEC_1_3 ,
  ts::FEC_1_4 ,
  ts::FEC_2_5 ,
  ts::FEC_5_11 ,
  ts::FEC_5_9 ,
  ts::FEC_7_9 ,
  ts::FEC_8_15 ,
  ts::FEC_11_15 ,
  ts::FEC_13_18 ,
  ts::FEC_9_20 ,
  ts::FEC_11_20 ,
  ts::FEC_23_36 ,
  ts::FEC_25_36 ,
  ts::FEC_13_45 ,
  ts::FEC_26_45 ,
  ts::FEC_28_45 ,
  ts::FEC_32_45 ,
  ts::FEC_77_90 ,
  ts::FEC_11_45 ,
  ts::FEC_4_15 ,
  ts::FEC_14_45 ,
  ts::FEC_7_15
}
 Inner Forward Error Correction. More...
 
enum  ts::Modulation {
  ts::QPSK ,
  ts::PSK_8 ,
  ts::QAM_AUTO ,
  ts::QAM_16 ,
  ts::QAM_32 ,
  ts::QAM_64 ,
  ts::QAM_128 ,
  ts::QAM_256 ,
  ts::VSB_8 ,
  ts::VSB_16 ,
  ts::APSK_16 ,
  ts::APSK_32 ,
  ts::DQPSK ,
  ts::QAM_4_NR ,
  ts::QAM_1024 ,
  ts::QAM_4096 ,
  ts::APSK_8_L ,
  ts::APSK_16_L ,
  ts::APSK_32_L ,
  ts::APSK_64 ,
  ts::APSK_64_L
}
 Modulation types. More...
 
enum  ts::Pilot {
  ts::PILOT_AUTO ,
  ts::PILOT_ON ,
  ts::PILOT_OFF
}
 Pilot (DVB-S2) More...
 
enum  ts::PLSMode {
  ts::PLS_ROOT = 0 ,
  ts::PLS_GOLD = 1
}
 Physical Layer Scrambling (PLS) modes for DVB-S2. More...
 
enum  ts::Polarization {
  ts::POL_NONE ,
  ts::POL_AUTO ,
  ts::POL_HORIZONTAL ,
  ts::POL_VERTICAL ,
  ts::POL_LEFT ,
  ts::POL_RIGHT
}
 Polarization. More...
 
enum  ts::RollOff {
  ts::ROLLOFF_AUTO ,
  ts::ROLLOFF_35 ,
  ts::ROLLOFF_25 ,
  ts::ROLLOFF_20 ,
  ts::ROLLOFF_15 ,
  ts::ROLLOFF_10 ,
  ts::ROLLOFF_5
}
 Roll-off (DVB-S2) More...
 
enum  ts::SpectralInversion {
  ts::SPINV_OFF ,
  ts::SPINV_ON ,
  ts::SPINV_AUTO
}
 Spectral inversion. More...
 
enum  ts::TransmissionMode {
  ts::TM_AUTO ,
  ts::TM_2K ,
  ts::TM_4K ,
  ts::TM_8K ,
  ts::TM_2KI ,
  ts::TM_4KI ,
  ts::TM_1K ,
  ts::TM_16K ,
  ts::TM_32K ,
  ts::TM_C1 ,
  ts::TM_C3780
}
 Transmission mode (OFDM) More...
 

Functions

uint32_t ts::BitsPerSymbol (Modulation mod)
 Compute the number of bits per symbol for a specified modulation.
 
bool ts::CheckModEnum (int value, const UString &name, const Enumeration &conv, Report &report)
 Check if an enumeration value is supported by the native implementation.
 
template<typename ENUM >
requires std::integral<ENUM> || std::is_enum_v<ENUM>
bool ts::CheckModVar (const std::optional< ENUM > &value, const UString &name, const Enumeration &conv, Report &report)
 Check if an optional enumeration value is supported by the native implementation.
 
uint32_t ts::FECDivider (InnerFEC fec)
 Compute the divider of a FEC value.
 
uint32_t ts::FECMultiplier (InnerFEC fec)
 Compute the multiplier of a FEC value.
 
uint32_t ts::GuardIntervalDivider (GuardInterval g)
 Compute the divider of a guard interval value.
 
uint32_t ts::GuardIntervalMultiplier (GuardInterval g)
 Compute the multiplier of a guard interval value.
 
uint32_t ts::PLSCodeGoldToRoot (uint32_t mode)
 Convert a PLS code from GOLD to ROOT mode.
 
uint32_t ts::PLSCodeRootToGold (uint32_t mode)
 Convert a PLS code from ROOT to GOLD mode.
 

Variables

const GuardIntervalEnumWrapper ts::GuardIntervalEnum
 Enumeration description of ts::GuardInterval.
 
const HierarchyEnumWrapper ts::HierarchyEnum
 Enumeration description of ts::Hierarchy.
 
const InnerFECEnumWrapper ts::InnerFECEnum
 Enumeration description of ts::InnerFEC.
 
constexpr uint32_t ts::ISI_DISABLE = 0xFFFFFFFF
 Special ISI value meaning "disable multistream selection".
 
constexpr uint32_t ts::ISI_MAX = 0xFF
 Maximum Input Stream Id (ISI) value for DVB-S2.
 
const ModulationEnumWrapper ts::ModulationEnum
 Enumeration description of ts::Modulation.
 
const PilotEnumWrapper ts::PilotEnum
 Enumeration description of ts::Pilot.
 
constexpr uint32_t ts::PLP_DISABLE = 0xFFFFFFFF
 Special PLP value meaning "disable PLP selection".
 
constexpr uint32_t ts::PLP_MAX = 0xFF
 Maximum Physical Layer Pipe (PLP) value for DVB-T2.
 
constexpr uint32_t ts::PLS_CODE_MAX = 0x3FFFF
 Maximum Physical Layer Scrambling (PLS) code value for DVB-S2.
 
const PLSModeEnumWrapper ts::PLSModeEnum
 Enumeration description of ts::PLSMode.
 
const PolarizationEnumWrapper ts::PolarizationEnum
 Enumeration description of ts::Polarization.
 
const RollOffEnumWrapper ts::RollOffEnum
 Enumeration description of ts::RollOff.
 
const SpectralInversionEnumWrapper ts::SpectralInversionEnum
 Enumeration description of ts::SpectralInversion.
 
constexpr uint32_t ts::STREAM_ID_DISABLE = 0xFFFFFFFF
 Special Stream Id value meaning "disable multistream selection".
 
constexpr uint32_t ts::STREAM_ID_MAX = 0xFFFF
 Maximum Stream Id value (same as inner TS id) for ISDB-S.
 
const TransmissionModeEnumWrapper ts::TransmissionModeEnum
 Enumeration description of ts::TransmissionMode.
 

Detailed Description

Definition for MPEG transport modulations.