| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- #include <stdio.h>
- #include <linux/dvb/frontend.h>
- #include "dump-zap.h"
- static const char *inv_name [] = {
- "INVERSION_OFF",
- "INVERSION_ON",
- "INVERSION_AUTO"
- };
- static const char *fec_name [] = {
- "FEC_NONE",
- "FEC_1_2",
- "FEC_2_3",
- "FEC_3_4",
- "FEC_4_5",
- "FEC_5_6",
- "FEC_6_7",
- "FEC_7_8",
- "FEC_8_9",
- "FEC_AUTO"
- };
- static const char *qam_name [] = {
- "QPSK",
- "QAM_16",
- "QAM_32",
- "QAM_64",
- "QAM_128",
- "QAM_256",
- "QAM_AUTO",
- "8VSB",
- "16VSB",
- };
- static const char *bw_name [] = {
- "BANDWIDTH_8_MHZ",
- "BANDWIDTH_7_MHZ",
- "BANDWIDTH_6_MHZ",
- "BANDWIDTH_AUTO"
- };
- static const char *mode_name [] = {
- "TRANSMISSION_MODE_2K",
- "TRANSMISSION_MODE_8K",
- "TRANSMISSION_MODE_AUTO"
- };
- static const char *guard_name [] = {
- "GUARD_INTERVAL_1_32",
- "GUARD_INTERVAL_1_16",
- "GUARD_INTERVAL_1_8",
- "GUARD_INTERVAL_1_4",
- "GUARD_INTERVAL_AUTO"
- };
- static const char *hierarchy_name [] = {
- "HIERARCHY_NONE",
- "HIERARCHY_1",
- "HIERARCHY_2",
- "HIERARCHY_4",
- "HIERARCHY_AUTO"
- };
- void zap_dump_dvb_parameters (FILE *f, fe_type_t type, struct dvb_frontend_parameters *p, char polarity, int sat_number)
- {
- switch (type) {
- case FE_QPSK:
- fprintf (f, "%i:", p->frequency / 1000); /* channels.conf wants MHz */
- fprintf (f, "%c:", polarity);
- fprintf (f, "%d:", sat_number);
- fprintf (f, "%i", p->u.qpsk.symbol_rate / 1000); /* channels.conf wants kBaud */
- /*fprintf (f, "%s", fec_name[p->u.qpsk.fec_inner]);*/
- break;
- case FE_QAM:
- fprintf (f, "%i:", p->frequency);
- fprintf (f, "%s:", inv_name[p->inversion]);
- fprintf (f, "%i:", p->u.qpsk.symbol_rate);
- fprintf (f, "%s:", fec_name[p->u.qpsk.fec_inner]);
- fprintf (f, "%s", qam_name[p->u.qam.modulation]);
- break;
- case FE_OFDM:
- fprintf (f, "%i:", p->frequency);
- fprintf (f, "%s:", inv_name[p->inversion]);
- fprintf (f, "%s:", bw_name[p->u.ofdm.bandwidth]);
- fprintf (f, "%s:", fec_name[p->u.ofdm.code_rate_HP]);
- fprintf (f, "%s:", fec_name[p->u.ofdm.code_rate_LP]);
- fprintf (f, "%s:", qam_name[p->u.ofdm.constellation]);
- fprintf (f, "%s:", mode_name[p->u.ofdm.transmission_mode]);
- fprintf (f, "%s:", guard_name[p->u.ofdm.guard_interval]);
- fprintf (f, "%s", hierarchy_name[p->u.ofdm.hierarchy_information]);
- break;
- case FE_ATSC:
- fprintf (f, "%i:", p->frequency);
- fprintf (f, "%s", qam_name[p->u.vsb.modulation]);
- break;
- default:
- ;
- };
- }
- void zap_dump_service_parameter_set (FILE *f,
- const char *service_name,
- fe_type_t type,
- struct dvb_frontend_parameters *p,
- char polarity,
- int sat_number,
- uint16_t video_pid,
- uint16_t *audio_pid,
- uint16_t service_id)
- {
- fprintf (f, "%s:", service_name);
- zap_dump_dvb_parameters (f, type, p, polarity, sat_number);
- fprintf (f, ":%i:%i:%i", video_pid, audio_pid[0], service_id);
- fprintf (f, "\n");
- }
|