TSDuck v3.38-3675
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::ModulationArgs Class Reference

Modulation parameters for tuners and their command-line definitions. More...

#include <tsModulationArgs.h>

Inheritance diagram for ts::ModulationArgs:
Collaboration diagram for ts::ModulationArgs:

Public Member Functions

 ModulationArgs ()=default
 Default constructor.
 
virtual void clear ()
 Clear content, reset all values, they become "unset".
 
bool convertToDektecModulation (int &modulation_type, int &param0, int &param1, int &param2) const
 Attempt to convert the tuning parameters in modulation parameters for Dektec modulator cards.
 
void copyLocalReceptionParameters (const ModulationArgs &other)
 Copy the local reception parameters from another instance.
 
virtual void defineArgs (Args &args, bool allow_short_options)
 Add command line option definitions in an Args.
 
virtual std::ostream & display (std::ostream &strm, const UString &margin=UString(), int level=Severity::Info) const override
 Display the content of this object to a stream.
 
bool fromDeliveryDescriptor (DuckContext &duck, const Descriptor &desc, uint16_t ts_id)
 Fill modulation parameters from a delivery system descriptor.
 
bool getDektecCodeRate (int &fec) const
 Attempt to get a "FEC type" for Dektec modulator cards.
 
bool getDektecModulationType (int &type) const
 Attempt to get a "modulation type" for Dektec modulator cards.
 
bool hasModulationArgs () const
 Check if any modulation options is set.
 
virtual bool loadArgs (DuckContext &duck, Args &args)
 Load arguments from command line.
 
void resetLocalReceptionParameters ()
 Reset the local reception parameters, they become "unset" The "local reception parameters" configure the receiving equipment (typically the dish) without affecting the received carrier signal.
 
bool resolveDeliverySystem (const DeliverySystemSet &systems, Report &report)
 Check the validity of the delivery system or set a default one.
 
void setDefaultValues ()
 Set the default values for unset parameters, according to the delivery system.
 
UString shortDescription (DuckContext &duck) const
 Format a short description (frequency and essential parameters).
 
BitRate theoreticalBitrate () const
 Theoretical bitrate computation.
 
UString toPluginOptions (bool no_local=false) const
 Format the modulation parameters as command line arguments.
 

Static Public Member Functions

static bool IsValidISDBTTimeInterleaving (int ti)
 Check if an ISDB-T time interleaving value is valid.
 
static bool ToDektecCodeRate (int &out, InnerFEC in)
 Convert a InnerFEC value into a "FEC type" for Dektec modulator cards.
 

Public Attributes

std::optional< BandWidthbandwidth {}
 Bandwidth in Hz.
 
std::optional< DeliverySystemdelivery_system {}
 Delivery system (DS_DVB_*).
 
std::optional< InnerFECfec_hp {}
 High priority stream code rate.
 
std::optional< InnerFECfec_lp {}
 Low priority stream code rate.
 
std::optional< uint64_t > frequency {}
 Frequency in Hz.
 
std::optional< GuardIntervalguard_interval {}
 Guard interval.
 
std::optional< Hierarchyhierarchy {}
 Hierarchy.
 
std::optional< InnerFECinner_fec {}
 Error correction.
 
std::optional< SpectralInversioninversion {}
 Spectral inversion.
 
std::optional< UStringisdbt_layers {}
 ISDB-T hierarchical layers ISDB-T channels can be coded hierarchically.
 
std::optional< bool > isdbt_partial_reception {}
 ISDB-T partial reception.
 
std::optional< uint32_t > isi {}
 Input Stream Id (ISI).
 
std::optional< InnerFEClayer_a_fec {}
 Layer A code rate.
 
std::optional< Modulationlayer_a_modulation {}
 Layer A modulation.
 
std::optional< int > layer_a_segment_count {}
 Layer A segment count.
 
std::optional< int > layer_a_time_interleaving {}
 Layer A time interleaving.
 
std::optional< InnerFEClayer_b_fec {}
 Layer B code rate.
 
std::optional< Modulationlayer_b_modulation {}
 Layer B modulation.
 
std::optional< int > layer_b_segment_count {}
 Layer B segment count.
 
std::optional< int > layer_b_time_interleaving {}
 Layer B time interleaving.
 
std::optional< InnerFEClayer_c_fec {}
 Layer C code rate.
 
std::optional< Modulationlayer_c_modulation {}
 Layer C modulation.
 
std::optional< int > layer_c_segment_count {}
 Layer C segment count.
 
std::optional< int > layer_c_time_interleaving {}
 Layer C time interleaving.
 
std::optional< LNBlnb {}
 Local dish LNB for frequency adjustment.
 
std::optional< Modulationmodulation {}
 Constellation or modulation type.
 
std::optional< Pilotpilots {}
 Presence of pilots.
 
std::optional< uint32_t > plp {}
 Physical Layer Pipe (PLP) identification.
 
std::optional< uint32_t > pls_code {}
 Physical Layer Scrambling (PLS) code.
 
std::optional< PLSModepls_mode {}
 Physical Layer Scrambling (PLS) mode.
 
std::optional< Polarizationpolarity {}
 Polarity.
 
std::optional< RollOffroll_off {}
 Roll-off factor.
 
std::optional< size_t > satellite_number {}
 Satellite index for DiSeqC switches.
 
std::optional< int > sb_segment_count {}
 Sound broadcasting segment count.
 
std::optional< int > sb_segment_index {}
 Sound broadcasting segment index.
 
std::optional< int > sb_subchannel_id {}
 Sound broadcasting sub-channel id.
 
std::optional< bool > sound_broadcasting {}
 Sound broadcasting.
 
std::optional< uint32_t > stream_id {}
 Inner stream id (same as inner transport stream id).
 
std::optional< uint32_t > symbol_rate {}
 Symbol rate in symbols / second.
 
std::optional< TransmissionModetransmission_mode {}
 Transmission mode.
 

Static Public Attributes

static constexpr BandWidth DEFAULT_BANDWIDTH_DVBT = 8000000
 Default value for bandwidth on DVB-T.
 
static constexpr BandWidth DEFAULT_BANDWIDTH_ISDBT = 6000000
 Default value for bandwidth on ISDB-T.
 
static constexpr InnerFEC DEFAULT_FEC_HP = FEC_AUTO
 Default value for fec_hp.
 
static constexpr InnerFEC DEFAULT_FEC_LP = FEC_AUTO
 Default value for fec_lp.
 
static constexpr GuardInterval DEFAULT_GUARD_INTERVAL_DVBT = GUARD_1_32
 Default value for guard_interval on DVB-T.
 
static constexpr GuardInterval DEFAULT_GUARD_INTERVAL_ISDBT = GUARD_1_32
 Default value for guard_interval on ISDB-T.
 
static constexpr Hierarchy DEFAULT_HIERARCHY = HIERARCHY_NONE
 Default value for hierarchy.
 
static constexpr InnerFEC DEFAULT_INNER_FEC = FEC_AUTO
 Default value for inner_fec.
 
static constexpr SpectralInversion DEFAULT_INVERSION = SPINV_AUTO
 Default value for inversion.
 
static const UString DEFAULT_ISDBT_LAYERS
 Default value for ISDB-T layers (all layers: "ABC").
 
static constexpr uint32_t DEFAULT_ISI = ISI_DISABLE
 Default value for input stream id.
 
static constexpr Modulation DEFAULT_MODULATION_ATSC = VSB_8
 Default value for modulation on ATSC.
 
static constexpr Modulation DEFAULT_MODULATION_DVBC = QAM_64
 Default value for modulation on cable.
 
static constexpr Modulation DEFAULT_MODULATION_DVBS = QPSK
 Default value for modulation on satellite.
 
static constexpr Modulation DEFAULT_MODULATION_DVBT = QAM_64
 Default value for modulation on terrestrial.
 
static constexpr Pilot DEFAULT_PILOTS = PILOT_OFF
 Default value for pilots.
 
static constexpr uint32_t DEFAULT_PLP = PLP_DISABLE
 Default value for PLP id.
 
static constexpr uint32_t DEFAULT_PLS_CODE = 0
 Default value for PLS code.
 
static constexpr PLSMode DEFAULT_PLS_MODE = PLS_ROOT
 Default value for PLS mode.
 
static constexpr Polarization DEFAULT_POLARITY = POL_VERTICAL
 Default value for polarity.
 
static constexpr RollOff DEFAULT_ROLL_OFF = ROLLOFF_35
 Default value for roll_off.
 
static constexpr size_t DEFAULT_SATELLITE_NUMBER = 0
 Default value for satellite_number.
 
static constexpr int DEFAULT_SB_SEGMENT_COUNT = 13
 Default value for ISDB-Tsb segment count.
 
static constexpr int DEFAULT_SB_SEGMENT_INDEX = 0
 Default value for ISDB-Tsb segment index.
 
static constexpr int DEFAULT_SB_SUBCHANNEL_ID = 0
 Default value for ISDB-Tsb sub-channel id.
 
static constexpr uint32_t DEFAULT_STREAM_ID = STREAM_ID_DISABLE
 Default value for inner stream id.
 
static constexpr uint32_t DEFAULT_SYMBOL_RATE_DVBC = 6900000
 Default value for symbol_rate on DVB-C.
 
static constexpr uint32_t DEFAULT_SYMBOL_RATE_DVBS = 27500000
 Default value for symbol_rate on DVB-S.
 
static constexpr uint32_t DEFAULT_SYMBOL_RATE_ISDBS = 28860000
 Default value for symbol_rate on ISDB-S.
 
static constexpr TransmissionMode DEFAULT_TRANSMISSION_MODE_DVBT = TM_8K
 Default value for transmission_mode on DVB-T.
 
static constexpr TransmissionMode DEFAULT_TRANSMISSION_MODE_ISDBT = TM_8K
 Default value for transmission_mode on ISDB-T.
 
static constexpr int MAX_ISDBT_SEGMENT_COUNT = 13
 Maximum value for ISDB-T segment count.
 

Static Protected Member Functions

static BitRate TheoreticalBitrateForModulation (Modulation mod, InnerFEC fec, uint32_t symbol_rate)
 Theoretical useful bitrate for QPSK or QAM modulation.
 

Detailed Description

Modulation parameters for tuners and their command-line definitions.

All values may be "set" or "unset", depending on command line arguments. All options for all types of tuners are included here.

Member Function Documentation

◆ IsValidISDBTTimeInterleaving()

static bool ts::ModulationArgs::IsValidISDBTTimeInterleaving ( int  ti)
static

Check if an ISDB-T time interleaving value is valid.

Parameters
[in]tiTime interleaving value. Valid values: 0, 1, 2, 4 or -1 (auto).
Returns
True if ti is valid, false otherwise.

◆ defineArgs()

virtual void ts::ModulationArgs::defineArgs ( Args args,
bool  allow_short_options 
)
virtual

Add command line option definitions in an Args.

Parameters
[in,out]argsCommand line arguments to update.
[in]allow_short_optionsIf true, allow short one-letter options.

Reimplemented in ts::TunerArgs.

◆ loadArgs()

virtual bool ts::ModulationArgs::loadArgs ( DuckContext duck,
Args args 
)
virtual

Load arguments from command line.

Args error indicator is set in case of incorrect arguments.

Parameters
[in,out]duckTSDuck execution context.
[in,out]argsCommand line arguments.
Returns
True on success, false on error in argument line.

Reimplemented in ts::TunerArgs.

◆ display()

virtual std::ostream & ts::ModulationArgs::display ( std::ostream &  stream,
const UString margin = UString(),
int  level = Severity::Info 
) const
overridevirtual

Display the content of this object to a stream.

Parameters
[in,out]streamThe stream where to print the content. Standard output by default.
[in]marginThe prefix string on each line, empty by default.
[in]levelSeverity level (for instance, Severity::Info or Severity::Debug may display more information).
Returns
A reference to stream.

Implements ts::DisplayInterface.

◆ clear()

virtual void ts::ModulationArgs::clear ( )
virtual

Clear content, reset all values, they become "unset".

Reimplemented in ts::TunerArgs.

◆ hasModulationArgs()

bool ts::ModulationArgs::hasModulationArgs ( ) const

Check if any modulation options is set.

Returns
True if any modulation options is set.

◆ resolveDeliverySystem()

bool ts::ModulationArgs::resolveDeliverySystem ( const DeliverySystemSet systems,
Report report 
)

Check the validity of the delivery system or set a default one.

Parameters
[in]systemsThe possible delivery systems, typically from a tuner. If the delivery system is already defined, it must be in this set. If it is not defined, the first delivery system is used.
[in,out]reportWhere to report errors.
Returns
True on success, false on error.

◆ setDefaultValues()

void ts::ModulationArgs::setDefaultValues ( )

Set the default values for unset parameters, according to the delivery system.

Do nothing if the delivery system is unset.

◆ copyLocalReceptionParameters()

void ts::ModulationArgs::copyLocalReceptionParameters ( const ModulationArgs other)

Copy the local reception parameters from another instance.

The "local reception parameters" configure the receiving equipment (typically the dish) without affecting the received carrier signal.

Parameters
[in]otherAnother instance from which the local reception parameters are copied. Local reception parameters which are not set in @^a other are left unmodified in this instance.

◆ theoreticalBitrate()

BitRate ts::ModulationArgs::theoreticalBitrate ( ) const

Theoretical bitrate computation.

Returns
The theoretical useful bitrate of a transponder, based on 188-bytes packets, in bits/second. If the characteristics of the transponder are not sufficient to compute the bitrate, return 0.

◆ fromDeliveryDescriptor()

bool ts::ModulationArgs::fromDeliveryDescriptor ( DuckContext duck,
const Descriptor desc,
uint16_t  ts_id 
)

Fill modulation parameters from a delivery system descriptor.

This method only sets the modulation parameters from the descriptor. Other parameters are unchanged.

Parameters
[in,out]duckTSDuck execution context.
[in]descA descriptor. Must be a valid delivery system descriptor.
[in]ts_idTranport stream id of the TS which is described by the delivery system descriptor.
Returns
True on success, false if the descriptor was not correctly analyzed or is not a delivery system descriptor.

◆ getDektecModulationType()

bool ts::ModulationArgs::getDektecModulationType ( int &  type) const

Attempt to get a "modulation type" for Dektec modulator cards.

Parameters
[out]typeModulation type (DTAPI_MOD_* value). Unchanged in case of error.
Returns
True on success, false on error (includes unsupported operation).

◆ getDektecCodeRate()

bool ts::ModulationArgs::getDektecCodeRate ( int &  fec) const

Attempt to get a "FEC type" for Dektec modulator cards.

Parameters
[out]fecFEC type (DTAPI_MOD_* value). Unchanged in case of error.
Returns
True on success, false on error (includes unsupported operation).

◆ ToDektecCodeRate()

static bool ts::ModulationArgs::ToDektecCodeRate ( int &  out,
InnerFEC  in 
)
static

Convert a InnerFEC value into a "FEC type" for Dektec modulator cards.

Parameters
[out]outReturned FEC type (DTAPI_MOD_* value). Unchanged in case of error.
[out]inInput FEC type (enum type).
Returns
True on success, false on error (includes unsupported operation).

◆ convertToDektecModulation()

bool ts::ModulationArgs::convertToDektecModulation ( int &  modulation_type,
int &  param0,
int &  param1,
int &  param2 
) const

Attempt to convert the tuning parameters in modulation parameters for Dektec modulator cards.

Parameters
[out]modulation_typeModulation type (DTAPI_MOD_* value).
[out]param0Modulation-specific parameter 0.
[out]param1Modulation-specific parameter 1.
[out]param2Modulation-specific parameter 2.
Returns
True on success, false on error (includes unsupported operation).

◆ shortDescription()

UString ts::ModulationArgs::shortDescription ( DuckContext duck) const

Format a short description (frequency and essential parameters).

Parameters
[out]duckTSDuck execution context.
Returns
A description string.

◆ toPluginOptions()

UString ts::ModulationArgs::toPluginOptions ( bool  no_local = false) const

Format the modulation parameters as command line arguments.

Parameters
[in]no_localWhen true, the "local" options are not included. The local options are related to the local equipment (–lnb for instance) and may vary from one system to another for the same transponder.
Returns
A string containing a command line options for the "dvb" tsp plugin.

◆ TheoreticalBitrateForModulation()

static BitRate ts::ModulationArgs::TheoreticalBitrateForModulation ( Modulation  mod,
InnerFEC  fec,
uint32_t  symbol_rate 
)
staticprotected

Theoretical useful bitrate for QPSK or QAM modulation.

This protected static method computes the theoretical useful bitrate of a transponder, based on 188-bytes packets, for QPSK or QAM modulation.

Parameters
[in]modModulation type.
[in]fecInner FEC.
[in]symbol_rateSymbol rate.
Returns
Theoretical useful bitrate in bits/second or zero on error.

Member Data Documentation

◆ delivery_system

std::optional<DeliverySystem> ts::ModulationArgs::delivery_system {}

Delivery system (DS_DVB_*).

Applies to all tuners. When unset, the default delivery system for that tuner is used.

◆ frequency

std::optional<uint64_t> ts::ModulationArgs::frequency {}

Frequency in Hz.

Applies to all tuners. This is a mandatory parameter.

◆ polarity

std::optional<Polarization> ts::ModulationArgs::polarity {}

Polarity.

Applies to: DVB-S/S2, ISDB-S.

◆ lnb

std::optional<LNB> ts::ModulationArgs::lnb {}

Local dish LNB for frequency adjustment.

Applies to: DVB-S/S2, ISDB-S.

◆ inversion

std::optional<SpectralInversion> ts::ModulationArgs::inversion {}

Spectral inversion.

Applies to: DVB-T/T2, DVB-S/S2, DVB-C (A,B,C), ATSC, ISDB-T, ISDB-S.

◆ symbol_rate

std::optional<uint32_t> ts::ModulationArgs::symbol_rate {}

Symbol rate in symbols / second.

Applies to: DVB-S/S2, DVB-C (A,C), ISDB-S.

◆ inner_fec

std::optional<InnerFEC> ts::ModulationArgs::inner_fec {}

Error correction.

Applies to: DVB-S/S2, DVB-C (A,C), ISDB-S.

◆ satellite_number

std::optional<size_t> ts::ModulationArgs::satellite_number {}

Satellite index for DiSeqC switches.

Applies to: DVB-S/S2, ISDB-S.

◆ modulation

std::optional<Modulation> ts::ModulationArgs::modulation {}

Constellation or modulation type.

Applies to: DVB-T/T2, DVB-S2/Turbo, DVB-C (A,B,C), ATSC.

◆ bandwidth

std::optional<BandWidth> ts::ModulationArgs::bandwidth {}

Bandwidth in Hz.

Applies to: DVB-T/T2, ISDB-T.

◆ fec_hp

std::optional<InnerFEC> ts::ModulationArgs::fec_hp {}

High priority stream code rate.

Applies to: DVB-T/T2.

◆ fec_lp

std::optional<InnerFEC> ts::ModulationArgs::fec_lp {}

Low priority stream code rate.

Applies to: DVB-T/T2.

◆ transmission_mode

std::optional<TransmissionMode> ts::ModulationArgs::transmission_mode {}

Transmission mode.

Applies to: DVB-T/T2, ISDB-T.

◆ guard_interval

std::optional<GuardInterval> ts::ModulationArgs::guard_interval {}

Guard interval.

Applies to: DVB-T/T2, ISDB-T.

◆ hierarchy

std::optional<Hierarchy> ts::ModulationArgs::hierarchy {}

Hierarchy.

Applies to: DVB-T/T2.

◆ pilots

std::optional<Pilot> ts::ModulationArgs::pilots {}

Presence of pilots.

Applies to: DVB-S2.

◆ roll_off

std::optional<RollOff> ts::ModulationArgs::roll_off {}

Roll-off factor.

Applies to: DVB-S2.

◆ DEFAULT_ROLL_OFF

constexpr RollOff ts::ModulationArgs::DEFAULT_ROLL_OFF = ROLLOFF_35
staticconstexpr

Default value for roll_off.

Implied value in DVB-S, default for DVB-S2.

◆ plp

std::optional<uint32_t> ts::ModulationArgs::plp {}

Physical Layer Pipe (PLP) identification.

Applies to: DVB-T2.

◆ isi

std::optional<uint32_t> ts::ModulationArgs::isi {}

Input Stream Id (ISI).

Applies to: DVB-S2.

◆ pls_code

std::optional<uint32_t> ts::ModulationArgs::pls_code {}

Physical Layer Scrambling (PLS) code.

Applies to: DVB-S2.

◆ pls_mode

std::optional<PLSMode> ts::ModulationArgs::pls_mode {}

Physical Layer Scrambling (PLS) mode.

Applies to: DVB-S2.

◆ sound_broadcasting

std::optional<bool> ts::ModulationArgs::sound_broadcasting {}

Sound broadcasting.

When specified to true, the reception is an ISDB-Tsb channel instead of an ISDB-T one. Applies to: ISDB-T.

◆ sb_subchannel_id

std::optional<int> ts::ModulationArgs::sb_subchannel_id {}

Sound broadcasting sub-channel id.

When sound_broadcasting is specified to true, specify the sub-channel ID of the segment to be demodulated in the ISDB-Tsb channel. Possible values: 0 to 41. Applies to: ISDB-T.

◆ sb_segment_count

std::optional<int> ts::ModulationArgs::sb_segment_count {}

Sound broadcasting segment count.

When sound_broadcasting is specified to true, specify the total count of connected ISDB-Tsb channels. Possible values: 1 to 13. Applies to: ISDB-T.

◆ sb_segment_index

std::optional<int> ts::ModulationArgs::sb_segment_index {}

Sound broadcasting segment index.

When sound_broadcasting is specified to true, specify the index of the segment to be demodulated for an ISDB-Tsb channel where several of them are transmitted in the connected manner. Possible values: 0 to sb_segment_count - 1. Applies to: ISDB-T.

◆ isdbt_layers

std::optional<UString> ts::ModulationArgs::isdbt_layers {}

ISDB-T hierarchical layers ISDB-T channels can be coded hierarchically.

As opposed to DVB-T in ISDB-T hierarchical layers can be decoded simultaneously. For that reason a ISDB-T demodulator has 3 viterbi and 3 reed-solomon-decoders. ISDB-T has 3 hierarchical layers which each can use a part of the available segments. The total number of segments over all layers has to 13 in ISDB-T. Hierarchical reception in ISDB-T is achieved by enabling or disabling layers in the decoding process. The specified string contains a combination of characters 'A', 'B', 'C', indicating which layers shall be used. Applies to: ISDB-T.

◆ isdbt_partial_reception

std::optional<bool> ts::ModulationArgs::isdbt_partial_reception {}

ISDB-T partial reception.

When specified to true, the reception of the ISDB-T channel is in partial reception mode. Applies to: ISDB-T.

◆ layer_a_fec

std::optional<InnerFEC> ts::ModulationArgs::layer_a_fec {}

Layer A code rate.

Must be one of FEC_AUTO, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8. The default is automatically detected. Applies to: ISDB-T.

◆ layer_a_modulation

std::optional<Modulation> ts::ModulationArgs::layer_a_modulation {}

Layer A modulation.

Must be one of QAM_AUTO, QPSK, QAM_16, QAM_64, DQPSK. The default is automatically detected. Applies to: ISDB-T.

◆ layer_a_segment_count

std::optional<int> ts::ModulationArgs::layer_a_segment_count {}

Layer A segment count.

Possible values: 0 to 13 or -1 (auto). The default is automatically detected. Applies to: ISDB-T.

◆ layer_a_time_interleaving

std::optional<int> ts::ModulationArgs::layer_a_time_interleaving {}

Layer A time interleaving.

Possible values: 0, 1, 2, 4 or -1 (auto). The default is automatically detected. Applies to: ISDB-T.

◆ layer_b_fec

std::optional<InnerFEC> ts::ModulationArgs::layer_b_fec {}

Layer B code rate.

Must be one of FEC_AUTO, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8. The default is automatically detected. Applies to: ISDB-T.

◆ layer_b_modulation

std::optional<Modulation> ts::ModulationArgs::layer_b_modulation {}

Layer B modulation.

Must be one of QAM_AUTO, QPSK, QAM_16, QAM_64, DQPSK. The default is automatically detected. Applies to: ISDB-T.

◆ layer_b_segment_count

std::optional<int> ts::ModulationArgs::layer_b_segment_count {}

Layer B segment count.

Possible values: 0 to 13 or -1 (auto). The default is automatically detected. Applies to: ISDB-T.

◆ layer_b_time_interleaving

std::optional<int> ts::ModulationArgs::layer_b_time_interleaving {}

Layer B time interleaving.

Possible values: 0, 1, 2, 4 or -1 (auto). The default is automatically detected. Applies to: ISDB-T.

◆ layer_c_fec

std::optional<InnerFEC> ts::ModulationArgs::layer_c_fec {}

Layer C code rate.

Must be one of FEC_AUTO, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8. The default is automatically detected. Applies to: ISDB-T.

◆ layer_c_modulation

std::optional<Modulation> ts::ModulationArgs::layer_c_modulation {}

Layer C modulation.

Must be one of QAM_AUTO, QPSK, QAM_16, QAM_64, DQPSK. The default is automatically detected. Applies to: ISDB-T.

◆ layer_c_segment_count

std::optional<int> ts::ModulationArgs::layer_c_segment_count {}

Layer C segment count.

Possible values: 0 to 13 or -1 (auto). The default is automatically detected. Applies to: ISDB-T.

◆ layer_c_time_interleaving

std::optional<int> ts::ModulationArgs::layer_c_time_interleaving {}

Layer C time interleaving.

Possible values: 0, 1, 2, 4 or -1 (auto). The default is automatically detected. Applies to: ISDB-T.

◆ stream_id

std::optional<uint32_t> ts::ModulationArgs::stream_id {}

Inner stream id (same as inner transport stream id).

Applies to: ISDB-S (multi-stream).


The documentation for this class was generated from the following file: