mirror of https://github.com/mpv-player/mpv
added forgotten dvb-t params lp_coderate and hierarchy
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13156 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
06062f5b64
commit
f15eacc027
|
@ -227,18 +227,20 @@ int dvb_demux_start(int fd)
|
|||
|
||||
static int tune_it(int fd_frontend, int fd_sec, unsigned int freq, unsigned int srate, char pol, int tone,
|
||||
fe_spectral_inversion_t specInv, unsigned int diseqc, fe_modulation_t modulation, fe_code_rate_t HP_CodeRate,
|
||||
fe_transmit_mode_t TransmissionMode, fe_guard_interval_t guardInterval, fe_bandwidth_t bandwidth);
|
||||
fe_transmit_mode_t TransmissionMode, fe_guard_interval_t guardInterval, fe_bandwidth_t bandwidth,
|
||||
fe_code_rate_t LP_CodeRate, fe_hierarchy_t hier);
|
||||
|
||||
|
||||
int dvb_tune(dvb_priv_t *priv, int freq, char pol, int srate, int diseqc, int tone,
|
||||
fe_spectral_inversion_t specInv, fe_modulation_t modulation, fe_guard_interval_t guardInterval,
|
||||
fe_transmit_mode_t TransmissionMode, fe_bandwidth_t bandWidth, fe_code_rate_t HP_CodeRate)
|
||||
fe_transmit_mode_t TransmissionMode, fe_bandwidth_t bandWidth, fe_code_rate_t HP_CodeRate,
|
||||
fe_code_rate_t LP_CodeRate, fe_hierarchy_t hier)
|
||||
{
|
||||
int ris;
|
||||
|
||||
mp_msg(MSGT_DEMUX, MSGL_INFO, "dvb_tune Freq: %lu\n", (long unsigned int) freq);
|
||||
|
||||
ris = tune_it(priv->fe_fd, priv->sec_fd, freq, srate, pol, tone, specInv, diseqc, modulation, HP_CodeRate, TransmissionMode, guardInterval, bandWidth);
|
||||
ris = tune_it(priv->fe_fd, priv->sec_fd, freq, srate, pol, tone, specInv, diseqc, modulation, HP_CodeRate, TransmissionMode, guardInterval, bandWidth, LP_CodeRate, hier);
|
||||
|
||||
if(ris != 0)
|
||||
mp_msg(MSGT_DEMUX, MSGL_INFO, "dvb_tune, TUNING FAILED\n");
|
||||
|
@ -623,7 +625,8 @@ static int do_diseqc(int secfd, int sat_no, int polv, int hi_lo)
|
|||
|
||||
static int tune_it(int fd_frontend, int fd_sec, unsigned int freq, unsigned int srate, char pol, int tone,
|
||||
fe_spectral_inversion_t specInv, unsigned int diseqc, fe_modulation_t modulation, fe_code_rate_t HP_CodeRate,
|
||||
fe_transmit_mode_t TransmissionMode, fe_guard_interval_t guardInterval, fe_bandwidth_t bandwidth)
|
||||
fe_transmit_mode_t TransmissionMode, fe_guard_interval_t guardInterval, fe_bandwidth_t bandwidth,
|
||||
fe_code_rate_t LP_CodeRate, fe_hierarchy_t hier)
|
||||
{
|
||||
int res, hi_lo, dfd;
|
||||
#ifdef HAVE_DVB_HEAD
|
||||
|
@ -660,22 +663,22 @@ static int tune_it(int fd_frontend, int fd_sec, unsigned int freq, unsigned int
|
|||
feparams.inversion=specInv;
|
||||
feparams.u.ofdm.bandwidth=bandwidth;
|
||||
feparams.u.ofdm.code_rate_HP=HP_CodeRate;
|
||||
feparams.u.ofdm.code_rate_LP=LP_CODERATE_DEFAULT;
|
||||
feparams.u.ofdm.code_rate_LP=LP_CodeRate;
|
||||
feparams.u.ofdm.constellation=modulation;
|
||||
feparams.u.ofdm.transmission_mode=TransmissionMode;
|
||||
feparams.u.ofdm.guard_interval=guardInterval;
|
||||
feparams.u.ofdm.hierarchy_information=HIERARCHY_DEFAULT;
|
||||
feparams.u.ofdm.hierarchy_information=hier;
|
||||
#else
|
||||
if (freq < 1000000) freq*=1000UL;
|
||||
feparams.Frequency=freq;
|
||||
feparams.Inversion=specInv;
|
||||
feparams.u.ofdm.bandWidth=bandwidth;
|
||||
feparams.u.ofdm.HP_CodeRate=HP_CodeRate;
|
||||
feparams.u.ofdm.LP_CodeRate=LP_CODERATE_DEFAULT;
|
||||
feparams.u.ofdm.LP_CodeRate=LP_CodeRate;
|
||||
feparams.u.ofdm.Constellation=modulation;
|
||||
feparams.u.ofdm.TransmissionMode=TransmissionMode;
|
||||
feparams.u.ofdm.guardInterval=guardInterval;
|
||||
feparams.u.ofdm.HierarchyInformation=HIERARCHY_DEFAULT;
|
||||
feparams.u.ofdm.HierarchyInformation=hier;
|
||||
#endif
|
||||
mp_msg(MSGT_DEMUX, MSGL_V, "tuning DVB-T (%s) to %d Hz, bandwidth: %d\n",DVB_T_LOCATION,freq, bandwidth);
|
||||
break;
|
||||
|
|
|
@ -114,7 +114,8 @@ int dvb_fix_demuxes(dvb_priv_t *priv, int cnt, int *pids);
|
|||
|
||||
extern int dvb_tune(dvb_priv_t *priv, int freq, char pol, int srate, int diseqc, int tone,
|
||||
fe_spectral_inversion_t specInv, fe_modulation_t modulation, fe_guard_interval_t guardInterval,
|
||||
fe_transmit_mode_t TransmissionMode, fe_bandwidth_t bandWidth, fe_code_rate_t HP_CodeRate);
|
||||
fe_transmit_mode_t TransmissionMode, fe_bandwidth_t bandWidth, fe_code_rate_t HP_CodeRate,
|
||||
fe_code_rate_t LP_CodeRate, fe_hierarchy_t hier);
|
||||
extern char *dvb_dvrdev[4], *dvb_demuxdev[4], *dvb_frontenddev[4];
|
||||
|
||||
static dvb_config_t *dvb_config = NULL;
|
||||
|
@ -301,6 +302,41 @@ static dvb_channels_list *dvb_get_channels(char *filename, int type)
|
|||
else if(! strcmp(gi, "GUARD_INTERVAL_1_8"))
|
||||
ptr->gi = GUARD_INTERVAL_1_8;
|
||||
else ptr->gi = GUARD_INTERVAL_1_4;
|
||||
|
||||
if(! strcmp(tmp_lcr, "FEC_1_2"))
|
||||
ptr->cr_lp =FEC_1_2;
|
||||
else if(! strcmp(tmp_lcr, "FEC_2_3"))
|
||||
ptr->cr_lp =FEC_2_3;
|
||||
else if(! strcmp(tmp_lcr, "FEC_3_4"))
|
||||
ptr->cr_lp =FEC_3_4;
|
||||
#ifdef HAVE_DVB_HEAD
|
||||
else if(! strcmp(tmp_lcr, "FEC_4_5"))
|
||||
ptr->cr_lp =FEC_4_5;
|
||||
else if(! strcmp(tmp_lcr, "FEC_6_7"))
|
||||
ptr->cr_lp =FEC_6_7;
|
||||
else if(! strcmp(tmp_lcr, "FEC_8_9"))
|
||||
ptr->cr_lp =FEC_8_9;
|
||||
#endif
|
||||
else if(! strcmp(tmp_lcr, "FEC_5_6"))
|
||||
ptr->cr_lp =FEC_5_6;
|
||||
else if(! strcmp(tmp_lcr, "FEC_7_8"))
|
||||
ptr->cr_lp =FEC_7_8;
|
||||
else if(! strcmp(tmp_lcr, "FEC_NONE"))
|
||||
ptr->cr_lp =FEC_NONE;
|
||||
else ptr->cr_lp =FEC_AUTO;
|
||||
|
||||
|
||||
if(! strcmp(tmp_hier, "HIERARCHY_1"))
|
||||
ptr->hier = HIERARCHY_1;
|
||||
else if(! strcmp(tmp_hier, "HIERARCHY_2"))
|
||||
ptr->hier = HIERARCHY_2;
|
||||
else if(! strcmp(tmp_hier, "HIERARCHY_4"))
|
||||
ptr->hier = HIERARCHY_4;
|
||||
#ifdef HAVE_DVB_HEAD
|
||||
else if(! strcmp(tmp_hier, "HIERARCHY_AUTO"))
|
||||
ptr->hier = HIERARCHY_AUTO;
|
||||
#endif
|
||||
else ptr->hier = HIERARCHY_NONE;
|
||||
}
|
||||
|
||||
tmp = (dvb_channel_t*)realloc(list->channels, sizeof(dvb_channel_t) * (list->NUM_CHANNELS + 1));
|
||||
|
@ -473,7 +509,7 @@ int dvb_set_channel(dvb_priv_t *priv, int card, int n)
|
|||
|
||||
if(do_tuning)
|
||||
if (! dvb_tune(priv, channel->freq, channel->pol, channel->srate, channel->diseqc, channel->tone,
|
||||
channel->inv, channel->mod, channel->gi, channel->trans, channel->bw, channel->cr))
|
||||
channel->inv, channel->mod, channel->gi, channel->trans, channel->bw, channel->cr, channel->cr_lp, channel->hier))
|
||||
return 0;
|
||||
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#define fe_transmit_mode_t TransmitMode
|
||||
#define fe_guard_interval_t GuardInterval
|
||||
#define fe_bandwidth_t BandWidth
|
||||
#define fe_hierarchy_t Hierarchy
|
||||
#define fe_sec_voltage_t SecVoltage
|
||||
#define dmx_pes_filter_params dmxPesFilterParams
|
||||
#define dmx_sct_filter_params dmxSctFilterParams
|
||||
|
@ -46,7 +47,8 @@ typedef struct {
|
|||
fe_transmit_mode_t trans;
|
||||
fe_bandwidth_t bw;
|
||||
fe_guard_interval_t gi;
|
||||
fe_code_rate_t cr;
|
||||
fe_code_rate_t cr, cr_lp;
|
||||
fe_hierarchy_t hier;
|
||||
} dvb_channel_t;
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue