diff --git a/debian/changelog b/debian/changelog index 351feb9b..572cbb20 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ hts-tvheadend (2.6) hts; urgency=low * Tvheadend's DVB service probe will now let the channel join tags based on the service type and DVB provider name. + * Add support for tuning on ATSC adapters + hts-tvheadend (2.5) hts; urgency=low * If a previosly detected DVB adapter was not present during startup, diff --git a/src/dvb/dvb_adapter.c b/src/dvb/dvb_adapter.c index 61aabf74..9e5f005b 100644 --- a/src/dvb/dvb_adapter.c +++ b/src/dvb/dvb_adapter.c @@ -500,12 +500,6 @@ dvb_adapter_input_dvr(void *aux) } } -static struct strtab deliverysystemtab[] = { - {"DVB-S", FE_QPSK}, - {"DVB-T", FE_OFDM}, - {"DVB-C", FE_QAM}, -}; - /** * @@ -548,7 +542,7 @@ dvb_adapter_build_msg(th_dvb_adapter_t *tda) htsmsg_add_str(m, "devicename", tda->tda_fe_info->name); htsmsg_add_str(m, "deliverySystem", - val2str(tda->tda_type, deliverysystemtab) ?: ""); + dvb_adaptertype_to_str(tda->tda_type) ?: ""); htsmsg_add_u32(m, "satConf", tda->tda_sat); diff --git a/src/dvb/dvb_multiplex.c b/src/dvb/dvb_multiplex.c index 509351d2..48b318c9 100644 --- a/src/dvb/dvb_multiplex.c +++ b/src/dvb/dvb_multiplex.c @@ -391,6 +391,10 @@ dvb_mux_save(th_dvb_mux_instance_t *tdmi) break; case FE_ATSC: + htsmsg_add_u32(m, "symbol_rate", f->u.qam.symbol_rate); + + htsmsg_add_str(m, "constellation", + val2str(f->u.vsb.modulation, qamtab)); break; } @@ -494,6 +498,15 @@ tdmi_create_by_msg(th_dvb_adapter_t *tda, htsmsg_t *m, const char *identifier) break; case FE_ATSC: + htsmsg_get_u32(m, "symbol_rate", &f.u.qam.symbol_rate); + if(f.u.qam.symbol_rate == 0) + return "Invalid symbol rate"; + + s = htsmsg_get_str(m, "constellation"); + if(s == NULL || (r = str2val(s, qamtab)) < 0) + return "Invalid VSB constellation"; + f.u.vsb.modulation = r; + break; } @@ -645,6 +658,10 @@ dvb_mux_modulation(char *buf, size_t size, th_dvb_mux_instance_t *tdmi) val2str(f->u.qam.modulation, qamtab), f->u.qpsk.symbol_rate / 1000); break; + + case FE_ATSC: + snprintf(buf, size, "%s", val2str(f->u.vsb.modulation, qamtab)); + break; default: snprintf(buf, size, "Unknown"); break; @@ -782,6 +799,16 @@ dvb_mux_add_by_params(th_dvb_adapter_t *tda, f.u.qpsk.symbol_rate = symrate; f.u.qpsk.fec_inner = fec; break; + + case FE_ATSC: + f.frequency = freq; + + if(!val2str(constellation, qamtab)) + return "Invalid VSB constellation"; + + f.u.vsb.modulation = constellation; + break; + } if(satconf != NULL) { diff --git a/src/dvb/dvb_preconf.c b/src/dvb/dvb_preconf.c index 787225e3..8c435285 100644 --- a/src/dvb/dvb_preconf.c +++ b/src/dvb/dvb_preconf.c @@ -90,6 +90,10 @@ dvb_mux_preconf_add(th_dvb_adapter_t *tda, const struct mux *m, int num, f.u.qam.modulation = m->constellation; f.u.qam.fec_inner = m->fec; break; + + case FE_ATSC: + f.u.vsb.modulation = m->constellation; + break; } dvb_mux_create(tda, &f, polarisation, sc, 0xffff, NULL, source, 1, NULL); @@ -125,6 +129,10 @@ dvb_mux_preconf_add_network(th_dvb_adapter_t *tda, const char *id, r = regions_DVBT; nr = sizeof(regions_DVBT) / sizeof(regions_DVBT[0]); break; + case FE_ATSC: + r = regions_ATSC; + nr = sizeof(regions_ATSC) / sizeof(regions_ATSC[0]); + break; default: return -1; } @@ -167,6 +175,10 @@ dvb_mux_preconf_get_node(int fetype, const char *node) r = regions_DVBT; nr = sizeof(regions_DVBT) / sizeof(regions_DVBT[0]); break; + case FE_ATSC: + r = regions_ATSC; + nr = sizeof(regions_ATSC) / sizeof(regions_ATSC[0]); + break; default: return NULL; } diff --git a/src/linuxtv_muxes.h b/src/linuxtv_muxes.h index a45626a7..e4a6c3f5 100644 --- a/src/linuxtv_muxes.h +++ b/src/linuxtv_muxes.h @@ -281,7 +281,7 @@ static const struct mux muxes_DVBS_AsiaSat2_C_100_5E[] = { {.freq = 3790000, .symrate = 2444000, .fec = 3, .polarisation = 'V'}, {.freq = 3794000, .symrate = 4640000, .fec = 3, .polarisation = 'H'}, {.freq = 3820000, .symrate = 27500000, .fec = 3, .polarisation = 'V'}, - {.freq = 3840000, .symrate = 0, .fec = 3, .polarisation = '3'}, + {.freq = 3840000, .symrate = 30000000, .fec = 3, .polarisation = 'H'}, {.freq = 3880000, .symrate = 27500000, .fec = 3, .polarisation = 'H'}, {.freq = 3960000, .symrate = 27500000, .fec = 3, .polarisation = 'H'}, {.freq = 3980000, .symrate = 28100000, .fec = 3, .polarisation = 'V'}, @@ -2971,6 +2971,15 @@ static const struct mux muxes_DVBT_au_GoldCoast[] = { {.freq = 725500000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, }; +static const struct mux muxes_DVBT_au_Hervey_Bay_Ghost_Hill[] = { + {.freq = 725500000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, + {.freq = 746500000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, + {.freq = 767625000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, + {.freq = 809500000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, + {.freq = 529500000, .bw = 1, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, + {.freq = 704500000, .bw = 1, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, + }; + static const struct mux muxes_DVBT_au_Hobart[] = { {.freq = 191500000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, {.freq = 205500000, .bw = 1, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, @@ -3054,6 +3063,13 @@ static const struct mux muxes_DVBT_au_SunshineCoast[] = { {.freq = 809500000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, }; +static const struct mux muxes_DVBT_au_Sutherland[] = { + {.freq = 177500000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, + {.freq = 219500000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, + {.freq = 226500000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, + {.freq = 571500000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, + }; + static const struct mux muxes_DVBT_au_Sydney_Kings_Cross[] = { {.freq = 543500000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, {.freq = 669500000, .bw = 1, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 1, .hierarchy = 0}, @@ -3230,10 +3246,10 @@ static const struct mux muxes_DVBT_cz_Praha[] = { }; static const struct mux muxes_DVBT_de_Baden_Wuerttemberg[] = { - {.freq = 482000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 474000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 482000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 490000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 514000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, - {.freq = 522000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 570000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 618000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 626000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, @@ -3242,14 +3258,13 @@ static const struct mux muxes_DVBT_de_Baden_Wuerttemberg[] = { {.freq = 698000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 706000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 722000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, - {.freq = 730000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 738000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 778000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 786000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, }; static const struct mux muxes_DVBT_de_Bayern[] = { - {.freq = 184500000, .bw = 1, .constellation = 1, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, - {.freq = 191500000, .bw = 1, .constellation = 1, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 191500000, .bw = 1, .constellation = 1, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 212500000, .bw = 1, .constellation = 1, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 490000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 506000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, @@ -3261,6 +3276,7 @@ static const struct mux muxes_DVBT_de_Bayern[] = { {.freq = 578000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 586000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 594000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 618000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 626000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 642000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 658000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, @@ -3268,6 +3284,7 @@ static const struct mux muxes_DVBT_de_Bayern[] = { {.freq = 674000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 682000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 690000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 698000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 722000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 730000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 738000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, @@ -3307,18 +3324,12 @@ static const struct mux muxes_DVBT_de_Bremen[] = { static const struct mux muxes_DVBT_de_Hamburg[] = { {.freq = 490000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, - {.freq = 490000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, {.freq = 530000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 546000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, - {.freq = 546000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, {.freq = 570000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, - {.freq = 570000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, {.freq = 626000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, - {.freq = 626000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, {.freq = 674000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, - {.freq = 674000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, {.freq = 738000000, .bw = 0, .constellation = 3, .fechp = 1, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, - {.freq = 738000000, .bw = 0, .constellation = 1, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, }; static const struct mux muxes_DVBT_de_Hessen[] = { @@ -3349,7 +3360,7 @@ static const struct mux muxes_DVBT_de_Mecklenburg_Vorpommern[] = { {.freq = 626000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 674000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 714000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, - {.freq = 738000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 730000000, .bw = 0, .constellation = 1, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, }; static const struct mux muxes_DVBT_de_Niedersachsen[] = { @@ -3544,6 +3555,15 @@ static const struct mux muxes_DVBT_es_Asturias[] = { {.freq = 858000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, }; +static const struct mux muxes_DVBT_es_BaixoMinho[] = { + {.freq = 834000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 842000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 850000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 858000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 770000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 810000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + }; + static const struct mux muxes_DVBT_es_Bilbao[] = { {.freq = 842000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 858000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, @@ -3724,6 +3744,15 @@ static const struct mux muxes_DVBT_es_Vilamarxant[] = { {.freq = 602000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, }; +static const struct mux muxes_DVBT_es_Vitoria_Gasteiz[] = { + {.freq = 770000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 810000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 834000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 842000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 850000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + {.freq = 858000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, + }; + static const struct mux muxes_DVBT_es_Zaragoza[] = { {.freq = 794000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, {.freq = 834000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 3, .hierarchy = 0}, @@ -5544,6 +5573,13 @@ static const struct mux muxes_DVBT_fr_Roanne[] = { {.freq = 522000000, .bw = 0, .constellation = 3, .fechp = 9, .feclp = 0, .tmode = 1, .guard = 4, .hierarchy = 0}, }; +static const struct mux muxes_DVBT_fr_Rochefort_sur_mer[] = { + {.freq = 498166000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 0, .hierarchy = 0}, + {.freq = 738166000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 0, .hierarchy = 0}, + {.freq = 602166000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 0, .hierarchy = 0}, + {.freq = 778167000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 0, .hierarchy = 0}, + }; + static const struct mux muxes_DVBT_fr_Rouen[] = { {.freq = 538000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 0, .hierarchy = 0}, {.freq = 474000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 0, .hierarchy = 0}, @@ -5719,6 +5755,21 @@ static const struct mux muxes_DVBT_hr_Zagreb[] = { {.freq = 522000000, .bw = 0, .constellation = 6, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 0, .hierarchy = 0}, }; +static const struct mux muxes_DVBT_hu_Budapest[] = { + {.freq = 746000000, .bw = 0, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, + {.freq = 802000000, .bw = 0, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, + }; + +static const struct mux muxes_DVBT_hu_Kabhegy[] = { + {.freq = 794000000, .bw = 0, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, + {.freq = 818000000, .bw = 0, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, + }; + +static const struct mux muxes_DVBT_hu_Szentes[] = { + {.freq = 786000000, .bw = 0, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, + {.freq = 826000000, .bw = 0, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, + }; + static const struct mux muxes_DVBT_is_Reykjavik[] = { {.freq = 682000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 0, .hierarchy = 0}, {.freq = 690000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 0, .hierarchy = 0}, @@ -6850,6 +6901,7 @@ static const struct mux muxes_DVBT_se_Ornskoldsvik_As[] = { {.freq = 474000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, {.freq = 578000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, {.freq = 506000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, + {.freq = 642000000, .bw = 0, .constellation = 3, .fechp = 2, .feclp = 0, .tmode = 1, .guard = 2, .hierarchy = 0}, }; static const struct mux muxes_DVBT_se_Oskarshamn[] = { @@ -8064,6 +8116,11 @@ static const struct mux muxes_DVBT_vn_Hanoi[] = { {.freq = 578000000, .bw = 0, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 0, .guard = 0, .hierarchy = 0}, }; +static const struct mux muxes_DVBT_vn_Thaibinh[] = { + {.freq = 626000000, .bw = 0, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 0, .guard = 0, .hierarchy = 0}, + {.freq = 634000000, .bw = 0, .constellation = 3, .fechp = 3, .feclp = 0, .tmode = 0, .guard = 0, .hierarchy = 0}, + }; + static const struct network networks_DVBT_ad[] = { { .name = "Andorra", @@ -8118,6 +8175,11 @@ static const struct network networks_DVBT_au[] = { .muxes = muxes_DVBT_au_GoldCoast, .nmuxes = sizeof(muxes_DVBT_au_GoldCoast) / sizeof(struct mux), }, + { + .name = "Hervey Bay-Ghost Hill", + .muxes = muxes_DVBT_au_Hervey_Bay_Ghost_Hill, + .nmuxes = sizeof(muxes_DVBT_au_Hervey_Bay_Ghost_Hill) / sizeof(struct mux), + }, { .name = "Hobart", .muxes = muxes_DVBT_au_Hobart, @@ -8168,6 +8230,11 @@ static const struct network networks_DVBT_au[] = { .muxes = muxes_DVBT_au_SunshineCoast, .nmuxes = sizeof(muxes_DVBT_au_SunshineCoast) / sizeof(struct mux), }, + { + .name = "Sutherland", + .muxes = muxes_DVBT_au_Sutherland, + .nmuxes = sizeof(muxes_DVBT_au_Sutherland) / sizeof(struct mux), + }, { .name = "Sydney Kings Cross", .muxes = muxes_DVBT_au_Sydney_Kings_Cross, @@ -9699,6 +9766,11 @@ static const struct network networks_DVBT_fr[] = { .muxes = muxes_DVBT_fr_Roanne, .nmuxes = sizeof(muxes_DVBT_fr_Roanne) / sizeof(struct mux), }, + { + .name = "Rochefort-sur-mer", + .muxes = muxes_DVBT_fr_Rochefort_sur_mer, + .nmuxes = sizeof(muxes_DVBT_fr_Rochefort_sur_mer) / sizeof(struct mux), + }, { .name = "Rouen", .muxes = muxes_DVBT_fr_Rouen, @@ -9895,6 +9967,24 @@ static const struct network networks_DVBT_hk[] = { }, }; +static const struct network networks_DVBT_hu[] = { + { + .name = "Budapest", + .muxes = muxes_DVBT_hu_Budapest, + .nmuxes = sizeof(muxes_DVBT_hu_Budapest) / sizeof(struct mux), + }, + { + .name = "Kabhegy", + .muxes = muxes_DVBT_hu_Kabhegy, + .nmuxes = sizeof(muxes_DVBT_hu_Kabhegy) / sizeof(struct mux), + }, + { + .name = "Szentes", + .muxes = muxes_DVBT_hu_Szentes, + .nmuxes = sizeof(muxes_DVBT_hu_Szentes) / sizeof(struct mux), + }, +}; + static const struct network networks_DVBT_is[] = { { .name = "Reykjavik", @@ -10133,6 +10223,11 @@ static const struct network networks_DVBT_es[] = { .muxes = muxes_DVBT_es_Asturias, .nmuxes = sizeof(muxes_DVBT_es_Asturias) / sizeof(struct mux), }, + { + .name = "BaixoMinho", + .muxes = muxes_DVBT_es_BaixoMinho, + .nmuxes = sizeof(muxes_DVBT_es_BaixoMinho) / sizeof(struct mux), + }, { .name = "Bilbao", .muxes = muxes_DVBT_es_Bilbao, @@ -10228,6 +10323,11 @@ static const struct network networks_DVBT_es[] = { .muxes = muxes_DVBT_es_Vilamarxant, .nmuxes = sizeof(muxes_DVBT_es_Vilamarxant) / sizeof(struct mux), }, + { + .name = "Vitoria-Gasteiz", + .muxes = muxes_DVBT_es_Vitoria_Gasteiz, + .nmuxes = sizeof(muxes_DVBT_es_Vitoria_Gasteiz) / sizeof(struct mux), + }, { .name = "Zaragoza", .muxes = muxes_DVBT_es_Zaragoza, @@ -11778,6 +11878,11 @@ static const struct network networks_DVBT_vn[] = { .muxes = muxes_DVBT_vn_Hanoi, .nmuxes = sizeof(muxes_DVBT_vn_Hanoi) / sizeof(struct mux), }, + { + .name = "Thaibinh", + .muxes = muxes_DVBT_vn_Thaibinh, + .nmuxes = sizeof(muxes_DVBT_vn_Thaibinh) / sizeof(struct mux), + }, }; static const struct region regions_DVBT[] = { @@ -11841,6 +11946,11 @@ static const struct region regions_DVBT[] = { .networks = networks_DVBT_hk, .nnetworks = sizeof(networks_DVBT_hk) / sizeof(struct network), }, + { + .name = "Hungary", + .networks = networks_DVBT_hu, + .nnetworks = sizeof(networks_DVBT_hu) / sizeof(struct network), + }, { .name = "Iceland", .networks = networks_DVBT_is, @@ -12805,3 +12915,913 @@ static const struct region regions_DVBC[] = { }, }; +static const struct mux muxes_ATSC_us_ATSC_center_frequencies_8VSB[] = { + { .freq = 57028615, .constellation = 7}, + { .freq = 63028615, .constellation = 7}, + { .freq = 69028615, .constellation = 7}, + { .freq = 79028615, .constellation = 7}, + { .freq = 85028615, .constellation = 7}, + { .freq = 177028615, .constellation = 7}, + { .freq = 183028615, .constellation = 7}, + { .freq = 189028615, .constellation = 7}, + { .freq = 195028615, .constellation = 7}, + { .freq = 201028615, .constellation = 7}, + { .freq = 207028615, .constellation = 7}, + { .freq = 213028615, .constellation = 7}, + { .freq = 473028615, .constellation = 7}, + { .freq = 479028615, .constellation = 7}, + { .freq = 485028615, .constellation = 7}, + { .freq = 491028615, .constellation = 7}, + { .freq = 497028615, .constellation = 7}, + { .freq = 503028615, .constellation = 7}, + { .freq = 509028615, .constellation = 7}, + { .freq = 515028615, .constellation = 7}, + { .freq = 521028615, .constellation = 7}, + { .freq = 527028615, .constellation = 7}, + { .freq = 533028615, .constellation = 7}, + { .freq = 539028615, .constellation = 7}, + { .freq = 545028615, .constellation = 7}, + { .freq = 551028615, .constellation = 7}, + { .freq = 557028615, .constellation = 7}, + { .freq = 563028615, .constellation = 7}, + { .freq = 569028615, .constellation = 7}, + { .freq = 575028615, .constellation = 7}, + { .freq = 581028615, .constellation = 7}, + { .freq = 587028615, .constellation = 7}, + { .freq = 593028615, .constellation = 7}, + { .freq = 599028615, .constellation = 7}, + { .freq = 605028615, .constellation = 7}, + { .freq = 611028615, .constellation = 7}, + { .freq = 617028615, .constellation = 7}, + { .freq = 623028615, .constellation = 7}, + { .freq = 629028615, .constellation = 7}, + { .freq = 635028615, .constellation = 7}, + { .freq = 641028615, .constellation = 7}, + { .freq = 647028615, .constellation = 7}, + { .freq = 653028615, .constellation = 7}, + { .freq = 659028615, .constellation = 7}, + { .freq = 665028615, .constellation = 7}, + { .freq = 671028615, .constellation = 7}, + { .freq = 677028615, .constellation = 7}, + { .freq = 683028615, .constellation = 7}, + { .freq = 689028615, .constellation = 7}, + { .freq = 695028615, .constellation = 7}, + { .freq = 701028615, .constellation = 7}, + { .freq = 707028615, .constellation = 7}, + { .freq = 713028615, .constellation = 7}, + { .freq = 719028615, .constellation = 7}, + { .freq = 725028615, .constellation = 7}, + { .freq = 731028615, .constellation = 7}, + { .freq = 737028615, .constellation = 7}, + { .freq = 743028615, .constellation = 7}, + { .freq = 749028615, .constellation = 7}, + { .freq = 755028615, .constellation = 7}, + { .freq = 761028615, .constellation = 7}, + { .freq = 767028615, .constellation = 7}, + { .freq = 773028615, .constellation = 7}, + { .freq = 779028615, .constellation = 7}, + { .freq = 785028615, .constellation = 7}, + { .freq = 791028615, .constellation = 7}, + { .freq = 797028615, .constellation = 7}, + { .freq = 803028615, .constellation = 7}, +}; + +static const struct mux muxes_ATSC_us_Cable_EIA_542_HRC_center_frequencies_QAM256[] = { + { .freq = 73753600, .constellation = 5}, + { .freq = 55752700, .constellation = 5}, + { .freq = 61753000, .constellation = 5}, + { .freq = 67753300, .constellation = 5}, + { .freq = 77753900, .constellation = 5}, + { .freq = 83754200, .constellation = 5}, + { .freq = 175758700, .constellation = 5}, + { .freq = 181759000, .constellation = 5}, + { .freq = 187759300, .constellation = 5}, + { .freq = 193759600, .constellation = 5}, + { .freq = 199759900, .constellation = 5}, + { .freq = 205760200, .constellation = 5}, + { .freq = 211760500, .constellation = 5}, + { .freq = 121756000, .constellation = 5}, + { .freq = 127756300, .constellation = 5}, + { .freq = 133756600, .constellation = 5}, + { .freq = 139756900, .constellation = 5}, + { .freq = 145757200, .constellation = 5}, + { .freq = 151757500, .constellation = 5}, + { .freq = 157757800, .constellation = 5}, + { .freq = 163758100, .constellation = 5}, + { .freq = 169758400, .constellation = 5}, + { .freq = 217760800, .constellation = 5}, + { .freq = 223761100, .constellation = 5}, + { .freq = 229761400, .constellation = 5}, + { .freq = 235761700, .constellation = 5}, + { .freq = 241762000, .constellation = 5}, + { .freq = 247762300, .constellation = 5}, + { .freq = 253762600, .constellation = 5}, + { .freq = 259762900, .constellation = 5}, + { .freq = 265763200, .constellation = 5}, + { .freq = 271763500, .constellation = 5}, + { .freq = 277763800, .constellation = 5}, + { .freq = 283764100, .constellation = 5}, + { .freq = 289764400, .constellation = 5}, + { .freq = 295764700, .constellation = 5}, + { .freq = 301765000, .constellation = 5}, + { .freq = 307765300, .constellation = 5}, + { .freq = 313765600, .constellation = 5}, + { .freq = 319765900, .constellation = 5}, + { .freq = 325766200, .constellation = 5}, + { .freq = 331766500, .constellation = 5}, + { .freq = 337766800, .constellation = 5}, + { .freq = 343767100, .constellation = 5}, + { .freq = 349767400, .constellation = 5}, + { .freq = 355767700, .constellation = 5}, + { .freq = 361768000, .constellation = 5}, + { .freq = 367768300, .constellation = 5}, + { .freq = 373768600, .constellation = 5}, + { .freq = 379768900, .constellation = 5}, + { .freq = 385769200, .constellation = 5}, + { .freq = 391769500, .constellation = 5}, + { .freq = 397769800, .constellation = 5}, + { .freq = 403770100, .constellation = 5}, + { .freq = 409770400, .constellation = 5}, + { .freq = 415770700, .constellation = 5}, + { .freq = 421771000, .constellation = 5}, + { .freq = 427771300, .constellation = 5}, + { .freq = 433771600, .constellation = 5}, + { .freq = 439771900, .constellation = 5}, + { .freq = 445772200, .constellation = 5}, + { .freq = 451772500, .constellation = 5}, + { .freq = 457772800, .constellation = 5}, + { .freq = 463773100, .constellation = 5}, + { .freq = 469773400, .constellation = 5}, + { .freq = 475773700, .constellation = 5}, + { .freq = 481774000, .constellation = 5}, + { .freq = 487774300, .constellation = 5}, + { .freq = 493774600, .constellation = 5}, + { .freq = 499774900, .constellation = 5}, + { .freq = 505775200, .constellation = 5}, + { .freq = 511775500, .constellation = 5}, + { .freq = 517775800, .constellation = 5}, + { .freq = 523776100, .constellation = 5}, + { .freq = 529776400, .constellation = 5}, + { .freq = 535776700, .constellation = 5}, + { .freq = 541777000, .constellation = 5}, + { .freq = 547777300, .constellation = 5}, + { .freq = 553777600, .constellation = 5}, + { .freq = 559777900, .constellation = 5}, + { .freq = 565778200, .constellation = 5}, + { .freq = 571778500, .constellation = 5}, + { .freq = 577778800, .constellation = 5}, + { .freq = 583779100, .constellation = 5}, + { .freq = 589779400, .constellation = 5}, + { .freq = 595779700, .constellation = 5}, + { .freq = 601780000, .constellation = 5}, + { .freq = 607780300, .constellation = 5}, + { .freq = 613780600, .constellation = 5}, + { .freq = 619780900, .constellation = 5}, + { .freq = 625781200, .constellation = 5}, + { .freq = 631781500, .constellation = 5}, + { .freq = 637781800, .constellation = 5}, + { .freq = 643782100, .constellation = 5}, + { .freq = 91754500, .constellation = 5}, + { .freq = 97754800, .constellation = 5}, + { .freq = 103755100, .constellation = 5}, + { .freq = 109775000, .constellation = 5}, + { .freq = 115775000, .constellation = 5}, + { .freq = 649782400, .constellation = 5}, + { .freq = 655782700, .constellation = 5}, + { .freq = 661783000, .constellation = 5}, + { .freq = 667783300, .constellation = 5}, + { .freq = 673783600, .constellation = 5}, + { .freq = 679783900, .constellation = 5}, + { .freq = 685784200, .constellation = 5}, + { .freq = 691784500, .constellation = 5}, + { .freq = 697784800, .constellation = 5}, + { .freq = 703785100, .constellation = 5}, + { .freq = 709785400, .constellation = 5}, + { .freq = 715785700, .constellation = 5}, + { .freq = 721786000, .constellation = 5}, + { .freq = 727786300, .constellation = 5}, + { .freq = 733786600, .constellation = 5}, + { .freq = 739786900, .constellation = 5}, + { .freq = 745787200, .constellation = 5}, + { .freq = 751787500, .constellation = 5}, + { .freq = 757787800, .constellation = 5}, + { .freq = 763788100, .constellation = 5}, + { .freq = 769788400, .constellation = 5}, + { .freq = 775788700, .constellation = 5}, + { .freq = 781789000, .constellation = 5}, + { .freq = 787789300, .constellation = 5}, + { .freq = 793789600, .constellation = 5}, + { .freq = 799789900, .constellation = 5}, +}; + +static const struct mux muxes_ATSC_us_Cable_EIA_542_IRC_center_frequencies_QAM256[] = { + { .freq = 75012500, .constellation = 5}, + { .freq = 57025000, .constellation = 5}, + { .freq = 63012500, .constellation = 5}, + { .freq = 69012500, .constellation = 5}, + { .freq = 79012500, .constellation = 5}, + { .freq = 85012500, .constellation = 5}, + { .freq = 177012500, .constellation = 5}, + { .freq = 183012500, .constellation = 5}, + { .freq = 189012500, .constellation = 5}, + { .freq = 195012500, .constellation = 5}, + { .freq = 201012500, .constellation = 5}, + { .freq = 207012500, .constellation = 5}, + { .freq = 213012500, .constellation = 5}, + { .freq = 123012500, .constellation = 5}, + { .freq = 129012500, .constellation = 5}, + { .freq = 135012500, .constellation = 5}, + { .freq = 141012500, .constellation = 5}, + { .freq = 147012500, .constellation = 5}, + { .freq = 153012500, .constellation = 5}, + { .freq = 159012500, .constellation = 5}, + { .freq = 165012500, .constellation = 5}, + { .freq = 171012500, .constellation = 5}, + { .freq = 219012500, .constellation = 5}, + { .freq = 225012500, .constellation = 5}, + { .freq = 231012500, .constellation = 5}, + { .freq = 237012500, .constellation = 5}, + { .freq = 243012500, .constellation = 5}, + { .freq = 249012500, .constellation = 5}, + { .freq = 255012500, .constellation = 5}, + { .freq = 261012500, .constellation = 5}, + { .freq = 267012500, .constellation = 5}, + { .freq = 273012500, .constellation = 5}, + { .freq = 279012500, .constellation = 5}, + { .freq = 285012500, .constellation = 5}, + { .freq = 291012500, .constellation = 5}, + { .freq = 297012500, .constellation = 5}, + { .freq = 303012500, .constellation = 5}, + { .freq = 309012500, .constellation = 5}, + { .freq = 315012500, .constellation = 5}, + { .freq = 321012500, .constellation = 5}, + { .freq = 327012500, .constellation = 5}, + { .freq = 333025000, .constellation = 5}, + { .freq = 339012500, .constellation = 5}, + { .freq = 345012500, .constellation = 5}, + { .freq = 351012500, .constellation = 5}, + { .freq = 357012500, .constellation = 5}, + { .freq = 363012500, .constellation = 5}, + { .freq = 369012500, .constellation = 5}, + { .freq = 375012500, .constellation = 5}, + { .freq = 381012500, .constellation = 5}, + { .freq = 387012500, .constellation = 5}, + { .freq = 393012500, .constellation = 5}, + { .freq = 399012500, .constellation = 5}, + { .freq = 405012500, .constellation = 5}, + { .freq = 411012500, .constellation = 5}, + { .freq = 417012500, .constellation = 5}, + { .freq = 423012500, .constellation = 5}, + { .freq = 429012500, .constellation = 5}, + { .freq = 435012500, .constellation = 5}, + { .freq = 441012500, .constellation = 5}, + { .freq = 447012500, .constellation = 5}, + { .freq = 453012500, .constellation = 5}, + { .freq = 459012500, .constellation = 5}, + { .freq = 465012500, .constellation = 5}, + { .freq = 471012500, .constellation = 5}, + { .freq = 477012500, .constellation = 5}, + { .freq = 483012500, .constellation = 5}, + { .freq = 489012500, .constellation = 5}, + { .freq = 495012500, .constellation = 5}, + { .freq = 501012500, .constellation = 5}, + { .freq = 507012500, .constellation = 5}, + { .freq = 513012500, .constellation = 5}, + { .freq = 519012500, .constellation = 5}, + { .freq = 525012500, .constellation = 5}, + { .freq = 531012500, .constellation = 5}, + { .freq = 537012500, .constellation = 5}, + { .freq = 543012500, .constellation = 5}, + { .freq = 549012500, .constellation = 5}, + { .freq = 555012500, .constellation = 5}, + { .freq = 561012500, .constellation = 5}, + { .freq = 567012500, .constellation = 5}, + { .freq = 573012500, .constellation = 5}, + { .freq = 579012500, .constellation = 5}, + { .freq = 585012500, .constellation = 5}, + { .freq = 591012500, .constellation = 5}, + { .freq = 597012500, .constellation = 5}, + { .freq = 603012500, .constellation = 5}, + { .freq = 609012500, .constellation = 5}, + { .freq = 615012500, .constellation = 5}, + { .freq = 621012500, .constellation = 5}, + { .freq = 627012500, .constellation = 5}, + { .freq = 633012500, .constellation = 5}, + { .freq = 639012500, .constellation = 5}, + { .freq = 645012500, .constellation = 5}, + { .freq = 93012500, .constellation = 5}, + { .freq = 99012500, .constellation = 5}, + { .freq = 105012500, .constellation = 5}, + { .freq = 111012500, .constellation = 5}, + { .freq = 117012500, .constellation = 5}, + { .freq = 651012500, .constellation = 5}, + { .freq = 657012500, .constellation = 5}, + { .freq = 663012500, .constellation = 5}, + { .freq = 669012500, .constellation = 5}, + { .freq = 675012500, .constellation = 5}, + { .freq = 681012500, .constellation = 5}, + { .freq = 687012500, .constellation = 5}, + { .freq = 693012500, .constellation = 5}, + { .freq = 699012500, .constellation = 5}, + { .freq = 705012500, .constellation = 5}, + { .freq = 711012500, .constellation = 5}, + { .freq = 717012500, .constellation = 5}, + { .freq = 723012500, .constellation = 5}, + { .freq = 729012500, .constellation = 5}, + { .freq = 735012500, .constellation = 5}, + { .freq = 741012500, .constellation = 5}, + { .freq = 747012500, .constellation = 5}, + { .freq = 753012500, .constellation = 5}, + { .freq = 759012500, .constellation = 5}, + { .freq = 765012500, .constellation = 5}, + { .freq = 771012500, .constellation = 5}, + { .freq = 777012500, .constellation = 5}, + { .freq = 783012500, .constellation = 5}, + { .freq = 789012500, .constellation = 5}, + { .freq = 795012500, .constellation = 5}, + { .freq = 801012500, .constellation = 5}, +}; + +static const struct mux muxes_ATSC_us_Cable_HRC_center_frequencies_QAM256[] = { + { .freq = 73753600, .constellation = 5}, + { .freq = 55752700, .constellation = 5}, + { .freq = 61753000, .constellation = 5}, + { .freq = 67753300, .constellation = 5}, + { .freq = 77753900, .constellation = 5}, + { .freq = 83754200, .constellation = 5}, + { .freq = 175758700, .constellation = 5}, + { .freq = 181759000, .constellation = 5}, + { .freq = 187759300, .constellation = 5}, + { .freq = 193759600, .constellation = 5}, + { .freq = 199759900, .constellation = 5}, + { .freq = 205760200, .constellation = 5}, + { .freq = 211760500, .constellation = 5}, + { .freq = 121756000, .constellation = 5}, + { .freq = 127756300, .constellation = 5}, + { .freq = 133756600, .constellation = 5}, + { .freq = 139756900, .constellation = 5}, + { .freq = 145757200, .constellation = 5}, + { .freq = 151757500, .constellation = 5}, + { .freq = 157757800, .constellation = 5}, + { .freq = 163758100, .constellation = 5}, + { .freq = 169758400, .constellation = 5}, + { .freq = 217760800, .constellation = 5}, + { .freq = 223761100, .constellation = 5}, + { .freq = 229761400, .constellation = 5}, + { .freq = 235761700, .constellation = 5}, + { .freq = 241762000, .constellation = 5}, + { .freq = 247762300, .constellation = 5}, + { .freq = 253762600, .constellation = 5}, + { .freq = 259762900, .constellation = 5}, + { .freq = 265763200, .constellation = 5}, + { .freq = 271763500, .constellation = 5}, + { .freq = 277763800, .constellation = 5}, + { .freq = 283764100, .constellation = 5}, + { .freq = 289764400, .constellation = 5}, + { .freq = 295764700, .constellation = 5}, + { .freq = 301765000, .constellation = 5}, + { .freq = 307765300, .constellation = 5}, + { .freq = 313765600, .constellation = 5}, + { .freq = 319765900, .constellation = 5}, + { .freq = 325766200, .constellation = 5}, + { .freq = 331766500, .constellation = 5}, + { .freq = 337766800, .constellation = 5}, + { .freq = 343767100, .constellation = 5}, + { .freq = 349767400, .constellation = 5}, + { .freq = 355767700, .constellation = 5}, + { .freq = 361768000, .constellation = 5}, + { .freq = 367768300, .constellation = 5}, + { .freq = 373768600, .constellation = 5}, + { .freq = 379768900, .constellation = 5}, + { .freq = 385769200, .constellation = 5}, + { .freq = 391769500, .constellation = 5}, + { .freq = 397769800, .constellation = 5}, + { .freq = 403770100, .constellation = 5}, + { .freq = 409770400, .constellation = 5}, + { .freq = 415770700, .constellation = 5}, + { .freq = 421771000, .constellation = 5}, + { .freq = 427771300, .constellation = 5}, + { .freq = 433771600, .constellation = 5}, + { .freq = 439771900, .constellation = 5}, + { .freq = 445772200, .constellation = 5}, + { .freq = 451772500, .constellation = 5}, + { .freq = 457772800, .constellation = 5}, + { .freq = 463773100, .constellation = 5}, + { .freq = 469773400, .constellation = 5}, + { .freq = 475773700, .constellation = 5}, + { .freq = 481774000, .constellation = 5}, + { .freq = 487774300, .constellation = 5}, + { .freq = 493774600, .constellation = 5}, + { .freq = 499774900, .constellation = 5}, + { .freq = 505775200, .constellation = 5}, + { .freq = 511775500, .constellation = 5}, + { .freq = 517775800, .constellation = 5}, + { .freq = 523776100, .constellation = 5}, + { .freq = 529776400, .constellation = 5}, + { .freq = 535776700, .constellation = 5}, + { .freq = 541777000, .constellation = 5}, + { .freq = 547777300, .constellation = 5}, + { .freq = 553777600, .constellation = 5}, + { .freq = 559777900, .constellation = 5}, + { .freq = 565778200, .constellation = 5}, + { .freq = 571778500, .constellation = 5}, + { .freq = 577778800, .constellation = 5}, + { .freq = 583779100, .constellation = 5}, + { .freq = 589779400, .constellation = 5}, + { .freq = 595779700, .constellation = 5}, + { .freq = 601780000, .constellation = 5}, + { .freq = 607780300, .constellation = 5}, + { .freq = 613780600, .constellation = 5}, + { .freq = 619780900, .constellation = 5}, + { .freq = 625781200, .constellation = 5}, + { .freq = 631781500, .constellation = 5}, + { .freq = 637781800, .constellation = 5}, + { .freq = 643782100, .constellation = 5}, + { .freq = 91754500, .constellation = 5}, + { .freq = 97754800, .constellation = 5}, + { .freq = 103755100, .constellation = 5}, + { .freq = 109755400, .constellation = 5}, + { .freq = 115755700, .constellation = 5}, + { .freq = 649782400, .constellation = 5}, + { .freq = 655782700, .constellation = 5}, + { .freq = 661783000, .constellation = 5}, + { .freq = 667783300, .constellation = 5}, + { .freq = 673783600, .constellation = 5}, + { .freq = 679783900, .constellation = 5}, + { .freq = 685784200, .constellation = 5}, + { .freq = 691784500, .constellation = 5}, + { .freq = 697784800, .constellation = 5}, + { .freq = 703785100, .constellation = 5}, + { .freq = 709785400, .constellation = 5}, + { .freq = 715785700, .constellation = 5}, + { .freq = 721786000, .constellation = 5}, + { .freq = 727786300, .constellation = 5}, + { .freq = 733786600, .constellation = 5}, + { .freq = 739786900, .constellation = 5}, + { .freq = 745787200, .constellation = 5}, + { .freq = 751787500, .constellation = 5}, + { .freq = 757787800, .constellation = 5}, + { .freq = 763788100, .constellation = 5}, + { .freq = 769788400, .constellation = 5}, + { .freq = 775788700, .constellation = 5}, + { .freq = 781789000, .constellation = 5}, + { .freq = 787789300, .constellation = 5}, + { .freq = 793789600, .constellation = 5}, + { .freq = 799789900, .constellation = 5}, +}; + +static const struct mux muxes_ATSC_us_Cable_IRC_center_frequencies_QAM256[] = { + { .freq = 75000000, .constellation = 5}, + { .freq = 57000000, .constellation = 5}, + { .freq = 63000000, .constellation = 5}, + { .freq = 69000000, .constellation = 5}, + { .freq = 79000000, .constellation = 5}, + { .freq = 85000000, .constellation = 5}, + { .freq = 177000000, .constellation = 5}, + { .freq = 183000000, .constellation = 5}, + { .freq = 189000000, .constellation = 5}, + { .freq = 195000000, .constellation = 5}, + { .freq = 201000000, .constellation = 5}, + { .freq = 207000000, .constellation = 5}, + { .freq = 213000000, .constellation = 5}, + { .freq = 123000000, .constellation = 5}, + { .freq = 129000000, .constellation = 5}, + { .freq = 135000000, .constellation = 5}, + { .freq = 141000000, .constellation = 5}, + { .freq = 147000000, .constellation = 5}, + { .freq = 153000000, .constellation = 5}, + { .freq = 159000000, .constellation = 5}, + { .freq = 165000000, .constellation = 5}, + { .freq = 171000000, .constellation = 5}, + { .freq = 219000000, .constellation = 5}, + { .freq = 225000000, .constellation = 5}, + { .freq = 231000000, .constellation = 5}, + { .freq = 237000000, .constellation = 5}, + { .freq = 243000000, .constellation = 5}, + { .freq = 249000000, .constellation = 5}, + { .freq = 255000000, .constellation = 5}, + { .freq = 261000000, .constellation = 5}, + { .freq = 267000000, .constellation = 5}, + { .freq = 273000000, .constellation = 5}, + { .freq = 279000000, .constellation = 5}, + { .freq = 285000000, .constellation = 5}, + { .freq = 291000000, .constellation = 5}, + { .freq = 297000000, .constellation = 5}, + { .freq = 303000000, .constellation = 5}, + { .freq = 309000000, .constellation = 5}, + { .freq = 315000000, .constellation = 5}, + { .freq = 321000000, .constellation = 5}, + { .freq = 327000000, .constellation = 5}, + { .freq = 333000000, .constellation = 5}, + { .freq = 339000000, .constellation = 5}, + { .freq = 345000000, .constellation = 5}, + { .freq = 351000000, .constellation = 5}, + { .freq = 357000000, .constellation = 5}, + { .freq = 363000000, .constellation = 5}, + { .freq = 369000000, .constellation = 5}, + { .freq = 375000000, .constellation = 5}, + { .freq = 381000000, .constellation = 5}, + { .freq = 387000000, .constellation = 5}, + { .freq = 393000000, .constellation = 5}, + { .freq = 399000000, .constellation = 5}, + { .freq = 405000000, .constellation = 5}, + { .freq = 411000000, .constellation = 5}, + { .freq = 417000000, .constellation = 5}, + { .freq = 423000000, .constellation = 5}, + { .freq = 429000000, .constellation = 5}, + { .freq = 435000000, .constellation = 5}, + { .freq = 441000000, .constellation = 5}, + { .freq = 447000000, .constellation = 5}, + { .freq = 453000000, .constellation = 5}, + { .freq = 459000000, .constellation = 5}, + { .freq = 465000000, .constellation = 5}, + { .freq = 471000000, .constellation = 5}, + { .freq = 477000000, .constellation = 5}, + { .freq = 483000000, .constellation = 5}, + { .freq = 489000000, .constellation = 5}, + { .freq = 495000000, .constellation = 5}, + { .freq = 501000000, .constellation = 5}, + { .freq = 507000000, .constellation = 5}, + { .freq = 513000000, .constellation = 5}, + { .freq = 519000000, .constellation = 5}, + { .freq = 525000000, .constellation = 5}, + { .freq = 531000000, .constellation = 5}, + { .freq = 537000000, .constellation = 5}, + { .freq = 543000000, .constellation = 5}, + { .freq = 549000000, .constellation = 5}, + { .freq = 555000000, .constellation = 5}, + { .freq = 561000000, .constellation = 5}, + { .freq = 567000000, .constellation = 5}, + { .freq = 573000000, .constellation = 5}, + { .freq = 579000000, .constellation = 5}, + { .freq = 585000000, .constellation = 5}, + { .freq = 591000000, .constellation = 5}, + { .freq = 597000000, .constellation = 5}, + { .freq = 603000000, .constellation = 5}, + { .freq = 609000000, .constellation = 5}, + { .freq = 615000000, .constellation = 5}, + { .freq = 621000000, .constellation = 5}, + { .freq = 627000000, .constellation = 5}, + { .freq = 633000000, .constellation = 5}, + { .freq = 639000000, .constellation = 5}, + { .freq = 645000000, .constellation = 5}, + { .freq = 93000000, .constellation = 5}, + { .freq = 99000000, .constellation = 5}, + { .freq = 105000000, .constellation = 5}, + { .freq = 111000000, .constellation = 5}, + { .freq = 117000000, .constellation = 5}, + { .freq = 651000000, .constellation = 5}, + { .freq = 657000000, .constellation = 5}, + { .freq = 663000000, .constellation = 5}, + { .freq = 669000000, .constellation = 5}, + { .freq = 675000000, .constellation = 5}, + { .freq = 681000000, .constellation = 5}, + { .freq = 687000000, .constellation = 5}, + { .freq = 693000000, .constellation = 5}, + { .freq = 699000000, .constellation = 5}, + { .freq = 705000000, .constellation = 5}, + { .freq = 711000000, .constellation = 5}, + { .freq = 717000000, .constellation = 5}, + { .freq = 723000000, .constellation = 5}, + { .freq = 729000000, .constellation = 5}, + { .freq = 735000000, .constellation = 5}, + { .freq = 741000000, .constellation = 5}, + { .freq = 747000000, .constellation = 5}, + { .freq = 753000000, .constellation = 5}, + { .freq = 759000000, .constellation = 5}, + { .freq = 765000000, .constellation = 5}, + { .freq = 771000000, .constellation = 5}, + { .freq = 777000000, .constellation = 5}, + { .freq = 783000000, .constellation = 5}, + { .freq = 789000000, .constellation = 5}, + { .freq = 795000000, .constellation = 5}, + { .freq = 801000000, .constellation = 5}, +}; + +static const struct mux muxes_ATSC_us_Cable_Standard_center_frequencies_QAM256[] = { + { .freq = 57000000, .constellation = 5}, + { .freq = 63000000, .constellation = 5}, + { .freq = 69000000, .constellation = 5}, + { .freq = 79000000, .constellation = 5}, + { .freq = 85000000, .constellation = 5}, + { .freq = 177000000, .constellation = 5}, + { .freq = 183000000, .constellation = 5}, + { .freq = 189000000, .constellation = 5}, + { .freq = 195000000, .constellation = 5}, + { .freq = 201000000, .constellation = 5}, + { .freq = 207000000, .constellation = 5}, + { .freq = 213000000, .constellation = 5}, + { .freq = 123012500, .constellation = 5}, + { .freq = 129012500, .constellation = 5}, + { .freq = 135012500, .constellation = 5}, + { .freq = 141000000, .constellation = 5}, + { .freq = 147000000, .constellation = 5}, + { .freq = 153000000, .constellation = 5}, + { .freq = 159000000, .constellation = 5}, + { .freq = 165000000, .constellation = 5}, + { .freq = 171000000, .constellation = 5}, + { .freq = 219000000, .constellation = 5}, + { .freq = 225000000, .constellation = 5}, + { .freq = 231012500, .constellation = 5}, + { .freq = 237012500, .constellation = 5}, + { .freq = 243012500, .constellation = 5}, + { .freq = 249012500, .constellation = 5}, + { .freq = 255012500, .constellation = 5}, + { .freq = 261012500, .constellation = 5}, + { .freq = 267012500, .constellation = 5}, + { .freq = 273012500, .constellation = 5}, + { .freq = 279012500, .constellation = 5}, + { .freq = 285012500, .constellation = 5}, + { .freq = 291012500, .constellation = 5}, + { .freq = 297012500, .constellation = 5}, + { .freq = 303012500, .constellation = 5}, + { .freq = 309012500, .constellation = 5}, + { .freq = 315012500, .constellation = 5}, + { .freq = 321012500, .constellation = 5}, + { .freq = 327012500, .constellation = 5}, + { .freq = 333025000, .constellation = 5}, + { .freq = 339012500, .constellation = 5}, + { .freq = 345012500, .constellation = 5}, + { .freq = 351012500, .constellation = 5}, + { .freq = 357012500, .constellation = 5}, + { .freq = 363012500, .constellation = 5}, + { .freq = 369012500, .constellation = 5}, + { .freq = 375012500, .constellation = 5}, + { .freq = 381012500, .constellation = 5}, + { .freq = 387012500, .constellation = 5}, + { .freq = 393012500, .constellation = 5}, + { .freq = 399012500, .constellation = 5}, + { .freq = 405000000, .constellation = 5}, + { .freq = 411000000, .constellation = 5}, + { .freq = 417000000, .constellation = 5}, + { .freq = 423000000, .constellation = 5}, + { .freq = 429000000, .constellation = 5}, + { .freq = 435000000, .constellation = 5}, + { .freq = 441000000, .constellation = 5}, + { .freq = 447000000, .constellation = 5}, + { .freq = 453000000, .constellation = 5}, + { .freq = 459000000, .constellation = 5}, + { .freq = 465000000, .constellation = 5}, + { .freq = 471000000, .constellation = 5}, + { .freq = 477000000, .constellation = 5}, + { .freq = 483000000, .constellation = 5}, + { .freq = 489000000, .constellation = 5}, + { .freq = 495000000, .constellation = 5}, + { .freq = 501000000, .constellation = 5}, + { .freq = 507000000, .constellation = 5}, + { .freq = 513000000, .constellation = 5}, + { .freq = 519000000, .constellation = 5}, + { .freq = 525000000, .constellation = 5}, + { .freq = 531000000, .constellation = 5}, + { .freq = 537000000, .constellation = 5}, + { .freq = 543000000, .constellation = 5}, + { .freq = 549000000, .constellation = 5}, + { .freq = 555000000, .constellation = 5}, + { .freq = 561000000, .constellation = 5}, + { .freq = 567000000, .constellation = 5}, + { .freq = 573000000, .constellation = 5}, + { .freq = 579000000, .constellation = 5}, + { .freq = 585000000, .constellation = 5}, + { .freq = 591000000, .constellation = 5}, + { .freq = 597000000, .constellation = 5}, + { .freq = 603000000, .constellation = 5}, + { .freq = 609000000, .constellation = 5}, + { .freq = 615000000, .constellation = 5}, + { .freq = 621000000, .constellation = 5}, + { .freq = 627000000, .constellation = 5}, + { .freq = 633000000, .constellation = 5}, + { .freq = 639000000, .constellation = 5}, + { .freq = 645000000, .constellation = 5}, + { .freq = 93000000, .constellation = 5}, + { .freq = 99000000, .constellation = 5}, + { .freq = 105000000, .constellation = 5}, + { .freq = 111025000, .constellation = 5}, + { .freq = 117025000, .constellation = 5}, + { .freq = 651000000, .constellation = 5}, + { .freq = 657000000, .constellation = 5}, + { .freq = 663000000, .constellation = 5}, + { .freq = 669000000, .constellation = 5}, + { .freq = 675000000, .constellation = 5}, + { .freq = 681000000, .constellation = 5}, + { .freq = 687000000, .constellation = 5}, + { .freq = 693000000, .constellation = 5}, + { .freq = 699000000, .constellation = 5}, + { .freq = 705000000, .constellation = 5}, + { .freq = 711000000, .constellation = 5}, + { .freq = 717000000, .constellation = 5}, + { .freq = 723000000, .constellation = 5}, + { .freq = 729000000, .constellation = 5}, + { .freq = 735000000, .constellation = 5}, + { .freq = 741000000, .constellation = 5}, + { .freq = 747000000, .constellation = 5}, + { .freq = 753000000, .constellation = 5}, + { .freq = 759000000, .constellation = 5}, + { .freq = 765000000, .constellation = 5}, + { .freq = 771000000, .constellation = 5}, + { .freq = 777000000, .constellation = 5}, + { .freq = 783000000, .constellation = 5}, + { .freq = 789000000, .constellation = 5}, + { .freq = 795000000, .constellation = 5}, + { .freq = 801000000, .constellation = 5}, +}; + +static const struct mux muxes_ATSC_us_CA_SF_Bay_Area[] = { + { .freq = 503000000, .constellation = 7}, + { .freq = 551000000, .constellation = 7}, + { .freq = 563000000, .constellation = 7}, + { .freq = 593000000, .constellation = 7}, + { .freq = 623000000, .constellation = 7}, + { .freq = 635000000, .constellation = 7}, + { .freq = 647000000, .constellation = 7}, + { .freq = 659000000, .constellation = 7}, + { .freq = 683000000, .constellation = 7}, + { .freq = 689000000, .constellation = 7}, + { .freq = 701000000, .constellation = 7}, + { .freq = 725000000, .constellation = 7}, + { .freq = 731000000, .constellation = 7}, +}; + +static const struct mux muxes_ATSC_us_ID_Boise[] = { + { .freq = 195000000, .constellation = 7}, + { .freq = 213000000, .constellation = 7}, + { .freq = 515000000, .constellation = 7}, + { .freq = 533000000, .constellation = 7}, + { .freq = 545000000, .constellation = 7}, + { .freq = 557000000, .constellation = 7}, +}; + +static const struct mux muxes_ATSC_us_MA_Boston[] = { + { .freq = 503000000, .constellation = 7}, + { .freq = 509000000, .constellation = 7}, + { .freq = 527000000, .constellation = 7}, + { .freq = 563000000, .constellation = 7}, + { .freq = 569000000, .constellation = 7}, + { .freq = 575000000, .constellation = 7}, + { .freq = 581000000, .constellation = 7}, + { .freq = 623000000, .constellation = 7}, + { .freq = 635000000, .constellation = 7}, + { .freq = 641000000, .constellation = 7}, + { .freq = 647000000, .constellation = 7}, +}; + +static const struct mux muxes_ATSC_us_MI_Lansing[] = { + { .freq = 617000000, .constellation = 7}, + { .freq = 695000000, .constellation = 7}, + { .freq = 719000000, .constellation = 7}, + { .freq = 731000000, .constellation = 7}, + { .freq = 743000000, .constellation = 7}, +}; + +static const struct mux muxes_ATSC_us_NTSC_center_frequencies_8VSB[] = { + { .freq = 57000000, .constellation = 7}, + { .freq = 63000000, .constellation = 7}, + { .freq = 69000000, .constellation = 7}, + { .freq = 79000000, .constellation = 7}, + { .freq = 85000000, .constellation = 7}, + { .freq = 177000000, .constellation = 7}, + { .freq = 183000000, .constellation = 7}, + { .freq = 189000000, .constellation = 7}, + { .freq = 195000000, .constellation = 7}, + { .freq = 201000000, .constellation = 7}, + { .freq = 207000000, .constellation = 7}, + { .freq = 213000000, .constellation = 7}, + { .freq = 473000000, .constellation = 7}, + { .freq = 479000000, .constellation = 7}, + { .freq = 485000000, .constellation = 7}, + { .freq = 491000000, .constellation = 7}, + { .freq = 497000000, .constellation = 7}, + { .freq = 503000000, .constellation = 7}, + { .freq = 509000000, .constellation = 7}, + { .freq = 515000000, .constellation = 7}, + { .freq = 521000000, .constellation = 7}, + { .freq = 527000000, .constellation = 7}, + { .freq = 533000000, .constellation = 7}, + { .freq = 539000000, .constellation = 7}, + { .freq = 545000000, .constellation = 7}, + { .freq = 551000000, .constellation = 7}, + { .freq = 557000000, .constellation = 7}, + { .freq = 563000000, .constellation = 7}, + { .freq = 569000000, .constellation = 7}, + { .freq = 575000000, .constellation = 7}, + { .freq = 581000000, .constellation = 7}, + { .freq = 587000000, .constellation = 7}, + { .freq = 593000000, .constellation = 7}, + { .freq = 599000000, .constellation = 7}, + { .freq = 605000000, .constellation = 7}, + { .freq = 611000000, .constellation = 7}, + { .freq = 617000000, .constellation = 7}, + { .freq = 623000000, .constellation = 7}, + { .freq = 629000000, .constellation = 7}, + { .freq = 635000000, .constellation = 7}, + { .freq = 641000000, .constellation = 7}, + { .freq = 647000000, .constellation = 7}, + { .freq = 653000000, .constellation = 7}, + { .freq = 659000000, .constellation = 7}, + { .freq = 665000000, .constellation = 7}, + { .freq = 671000000, .constellation = 7}, + { .freq = 677000000, .constellation = 7}, + { .freq = 683000000, .constellation = 7}, + { .freq = 689000000, .constellation = 7}, + { .freq = 695000000, .constellation = 7}, + { .freq = 701000000, .constellation = 7}, + { .freq = 707000000, .constellation = 7}, + { .freq = 713000000, .constellation = 7}, + { .freq = 719000000, .constellation = 7}, + { .freq = 725000000, .constellation = 7}, + { .freq = 731000000, .constellation = 7}, + { .freq = 737000000, .constellation = 7}, + { .freq = 743000000, .constellation = 7}, + { .freq = 749000000, .constellation = 7}, + { .freq = 755000000, .constellation = 7}, + { .freq = 761000000, .constellation = 7}, + { .freq = 767000000, .constellation = 7}, + { .freq = 773000000, .constellation = 7}, + { .freq = 779000000, .constellation = 7}, + { .freq = 785000000, .constellation = 7}, + { .freq = 791000000, .constellation = 7}, + { .freq = 797000000, .constellation = 7}, + { .freq = 803000000, .constellation = 7}, +}; + +static const struct mux muxes_ATSC_us_PA_Philadelphia[] = { + { .freq = 575000000, .constellation = 7}, + { .freq = 581000000, .constellation = 7}, + { .freq = 593000000, .constellation = 7}, + { .freq = 647000000, .constellation = 7}, + { .freq = 713000000, .constellation = 7}, + { .freq = 773000000, .constellation = 7}, + { .freq = 785000000, .constellation = 7}, + { .freq = 791000000, .constellation = 7}, +}; + +static const struct network networks_ATSC_us[] = { + { + .name = "ATSC-center-frequencies-8VSB", + .muxes = muxes_ATSC_us_ATSC_center_frequencies_8VSB, + .nmuxes = sizeof(muxes_ATSC_us_ATSC_center_frequencies_8VSB) / sizeof(struct mux), + }, + { + .name = "CA-SF-Bay-Area", + .muxes = muxes_ATSC_us_CA_SF_Bay_Area, + .nmuxes = sizeof(muxes_ATSC_us_CA_SF_Bay_Area) / sizeof(struct mux), + }, + { + .name = "Cable-EIA-542-HRC-center-frequencies-QAM256", + .muxes = muxes_ATSC_us_Cable_EIA_542_HRC_center_frequencies_QAM256, + .nmuxes = sizeof(muxes_ATSC_us_Cable_EIA_542_HRC_center_frequencies_QAM256) / sizeof(struct mux), + }, + { + .name = "Cable-EIA-542-IRC-center frequencies-QAM256", + .muxes = muxes_ATSC_us_Cable_EIA_542_IRC_center_frequencies_QAM256, + .nmuxes = sizeof(muxes_ATSC_us_Cable_EIA_542_IRC_center_frequencies_QAM256) / sizeof(struct mux), + }, + { + .name = "Cable-HRC-center-frequencies-QAM256", + .muxes = muxes_ATSC_us_Cable_HRC_center_frequencies_QAM256, + .nmuxes = sizeof(muxes_ATSC_us_Cable_HRC_center_frequencies_QAM256) / sizeof(struct mux), + }, + { + .name = "Cable-IRC-center-frequencies-QAM256", + .muxes = muxes_ATSC_us_Cable_IRC_center_frequencies_QAM256, + .nmuxes = sizeof(muxes_ATSC_us_Cable_IRC_center_frequencies_QAM256) / sizeof(struct mux), + }, + { + .name = "Cable-Standard-center-frequencies-QAM256", + .muxes = muxes_ATSC_us_Cable_Standard_center_frequencies_QAM256, + .nmuxes = sizeof(muxes_ATSC_us_Cable_Standard_center_frequencies_QAM256) / sizeof(struct mux), + }, + { + .name = "ID-Boise", + .muxes = muxes_ATSC_us_ID_Boise, + .nmuxes = sizeof(muxes_ATSC_us_ID_Boise) / sizeof(struct mux), + }, + { + .name = "MA-Boston", + .muxes = muxes_ATSC_us_MA_Boston, + .nmuxes = sizeof(muxes_ATSC_us_MA_Boston) / sizeof(struct mux), + }, + { + .name = "MI-Lansing", + .muxes = muxes_ATSC_us_MI_Lansing, + .nmuxes = sizeof(muxes_ATSC_us_MI_Lansing) / sizeof(struct mux), + }, + { + .name = "NTSC-center-frequencies-8VSB", + .muxes = muxes_ATSC_us_NTSC_center_frequencies_8VSB, + .nmuxes = sizeof(muxes_ATSC_us_NTSC_center_frequencies_8VSB) / sizeof(struct mux), + }, + { + .name = "PA-Philadelphia", + .muxes = muxes_ATSC_us_PA_Philadelphia, + .nmuxes = sizeof(muxes_ATSC_us_PA_Philadelphia) / sizeof(struct mux), + }, +}; + +static const struct region regions_ATSC[] = { + { + .name = "United States", + .networks = networks_ATSC_us, + .nnetworks = sizeof(networks_ATSC_us) / sizeof(struct network), + }, +}; +