Dispositivi di acquisizione video con ottimizzazione radio

Microsoft Windows XP e versioni successive e Microsoft DirectX 8.1 e versioni successive forniscono supporto per i dispositivi di acquisizione video che includono i ottimizzatori radio FM.

Un minidriver di acquisizione video per un dispositivo con un tuner FM deve supportare la proprietà KSPROPERTY_TUNER_STATUS . In questo modo i client in modalità utente potranno recuperare una struttura KSPROPERTY_TUNER_STATUS_S che descrive lo stato di avanzamento delle operazioni di ottimizzazione.

I minidriver possono supportare una delle tre strategie di ottimizzazione:

  1. Ottimizzazione per offset PLL.

    Se l'hardware del tuner FM supporta l'ottimizzazione tramite offset PLL, il minidriver deve impostare il membro Strategia della struttura KSPROPERTY_TUNER_MODE_CAPS_S su KS_TUNER_STRATEGY_PLL .

    Se l'hardware del tuner FM non fornisce supporto PLL, il minidriver deve emulare il supporto PLL usando l'indicatore di forza del segnale nativo. La logica di ottimizzazione FM fornita dal sistema in KsTvTune.ax è abilitata solo se il minidriver specifica che supporta la strategia di KS_TUNER_STRATEGY_PLL .

  2. Ottimizzazione in base alla forza del segnale.

    Se il minidriver imposta il membro Strategia della struttura KSPROPERTY_TUNER_MODE_CAPS_S su KS_TUNER_STRATEGY_SIGNAL_STRENGTH, KsTvTune.ax tenta comunque di usare il membro PLLOffset della struttura KSPROPERTY_TUNER_STATUS_S. Di conseguenza, questa non è un'opzione valida per la compatibilità futura.

    Inoltre, il minidriver deve impostare il membro SignalStrength della struttura KSPROPERTY_TUNER_STATUS_S su -1, 0 o 1, a seconda che sia selezionata una frequenza accettabile. I fornitori decidono il livello di indicatore di forza del segnale del ricevitore (RSSI) o decibel millivolt (dBmV) al di sopra o al di sotto della tensione di base costituisce un segnale accettabile per la ricezione FM.

  3. Ottimizzazione eseguita manualmente dal minidriver.

    Impostare il membro Strategia della struttura KSPROPERTY_TUNER_MODE_CAPS_S su KS_TUNER_STRATEGY_DRIVER_TUNES per controllare la logica di ottimizzazione nel minidriver.

In modalità FM KsTvTune.ax passaggi attraverso la banda a 200 kHz intorno a una frequenza (100 kHz su entrambi i lati), usando il membro OttimizzazioneGranularity specificato dal minidriver della struttura KSPROPERTY_TUNER_MODE_CAPS_S come dimensione passo. La ricerca si arresta quando KsTvTune.ax ha cercato l'intera banda di 200 kHz o quando il minidriver determina che è stato trovato un segnale valido, che si verifica prima.

L'ottimizzazione richiede molto più tempo se il minidriver specifica sempre un valore PLLOffset pari a -1 o 1. In questo caso, la logica di ottimizzazione in KsTvTune.ax tentativi di sovrapposizione degli intervalli di frequenza. Il minidriver deve specificare un PLLOffset di -1 o 1 solo nella prima richiesta di ottimizzazione o quando il tuner si trova entro otto passaggi del segnale migliore. Per altre informazioni sulle richieste di ottimizzazione, vedere Riconoscimento della prima richiesta di ottimizzazione.

Il processo di ottimizzazione inizia sempre alla frequenza centrale, come richiesto da un'applicazione e passa fino a non più di 100 kHz sopra il centro. Tuttavia, se il PLLOffset diventa 1 vicino al limite superiore di 100 kHz, la logica di ottimizzazione passa oltre la banda da 100 kHz.

Se il processo di ottimizzazione non trova un segnale accettabile nell'intervallo superiore, prova al di sotto della frequenza centrale, passando da non più di 100 kHz sotto il centro e terminando alla frequenza centrale se non ha ancora trovato un segnale accettabile. Anche in questo caso, se il PLLOffset diventa 1 vicino alla frequenza centrale, i passaggi di ottimizzazione oltre la frequenza centrale prima di tornare a esso.

Un valore membro PLLOffset pari a -1 o 1 nella prima richiesta di ottimizzazione causa KsTvTune.ax di immettere la modalità di ottimizzazione. La modalità di ottimizzazione è costituita dall'ottimizzazione delle richieste in successione rapida a intervalli di passaggio specificati dal membro TuningGranularity della struttura KSPROPERTY_TUNER_MODE_CAPS_S nella direzione indicata da PLLOffset.

KsTvTune.ax arresta il tentativo di ottimizzazione se non riesce dopo otto passaggi di ottimizzazione dettagliata in aumento o riduzione delle frequenze. Dopo KsTvTune.ax è in modalità di ottimizzazione completa, se PLLOffset cambia direzione da -1 a 1 o da -1 a -1 o diventa 0, la richiesta di ottimizzazione viene considerata riuscita. Sia l'ottimizzazione fine che la ricerca attraverso la banda 200 kHz si arresta a quel punto.

Tuttavia, se PLLOffset è maggiore di 1 o minore di -1, l'ottimizzazione fine non viene avviata o viene abbandonata. La modalità di ottimizzazione completa è indipendente dalla ricerca attraverso la banda 200 kHz intorno alla frequenza centrale, anche se entrambe usano le dimensioni del passaggio specificate in TuningGranularity (quindi la cautela contro la restituzione sempre di un PLLOffset di -1..1).