Condividi tramite


enumerazione MF_TRANSCODE_ADJUST_PROFILE_FLAGS (mfidl.h)

Definisce i flag di profilo impostati nell'attributo MF_TRANSCODE_ADJUST_PROFILE .

Questi flag vengono controllati da MFCreateTranscodeTopology durante la compilazione della topologia. In base a questi flag, MFCreateTranscodeTopology regola il profilo di transcodifica modificando le impostazioni di configurazione per i flussi in base ai requisiti di input del codificatore usato nella topologia.

Per altre informazioni sulle impostazioni del flusso che un'applicazione può specificare, vedere Uso dell'API Transcode.

Sintassi

typedef enum _MF_TRANSCODE_ADJUST_PROFILE_FLAGS {
  MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0,
  MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1
} MF_TRANSCODE_ADJUST_PROFILE_FLAGS;

Costanti

 
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT
Valore: 0
Media Foundation usa le impostazioni specificate dall'applicazione per i flussi audio e video. Se le impostazioni necessarie non vengono fornite dall'applicazione, la topologia viene creata ma la sessione di codifica ha esito negativo. Per il flusso video, vengono modificate la frequenza dei fotogrammi e le impostazioni della modalità interlaccia. Per altre informazioni, vedere la sezione Osservazioni.
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES
Valore: 1
Per i flussi audio e video, le impostazioni del flusso mancanti vengono riempite copiando gli attributi dell'origine di input. Questo flag garantisce che il file di output transcodificato sia la corrispondenza più vicina al file di input.

Commenti

Se viene specificato il flag MF_TRANSCODE_ADJUST_PROFILE_DEFAULT , vengono apportate le modifiche seguenti per il flusso video:

  • Se la frequenza dei fotogrammi dell'origine multimediale specificata nel parametro pSrc di MFCreateTranscodeTopology e la frequenza dei fotogrammi specificata dall'applicazione nell'attributo MF_MT_FRAME_RATE differiscono per meno di 1/1000, il profilo usa la frequenza dei fotogrammi di origine multimediale. Ciò è dovuto al fatto che la pipeline considera la differenza trascurabile.
  • Se l'applicazione non specifica una modalità interlacciata impostando l'attributo MF_MT_INTERLACE_MODE , il profilo viene modificato in modo da usare fotogrammi progressivi.
Il flag MF_TRANSCODE_ADJUST_PROFILE_DEFAULT deve essere accompagnato dagli attributi di flusso audio e video richiesti forniti dall'applicazione. Per il flusso audio, gli attributi obbligatori sono i seguenti: Per il flusso video, gli attributi obbligatori sono i seguenti: Se questi attributi non sono impostati, MFCreateTranscodeTopology crea la topologia, ma La sessione multimediale non riesce a generare il file codificato. Il codice di errore dipende dal nodo MFT nella topologia. Ad esempio, se l'applicazione non imposta le dimensioni del frame, il codificatore WMV non riesce a codificare il contenuto e l'applicazione ottiene il codice di errore MF_E_INVALIDMEDIATYPE tramite la sessione multimediale.

Usare il flag MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES quando si vuole eseguire la transcodifica del file usando gli attributi del flusso di input. Gli attributi del flusso di origine di input vengono copiati nel tipo di supporto di output prima che il nodo MFT venga inserito nella topologia. Se si impostano attributi di flusso aggiuntivi, questo flag non sovrascrive i valori impostati. Solo gli attributi mancanti vengono riempiti con i valori dell'attributo dell'origine di input. Questo flag è utile nello scenario remux in cui si vuole generare il file di output nello stesso formato dell'origine di input. Per eseguire la conversione del formato, assicurarsi di impostare l'attributo MF_MT_SUBTYPE per il flusso per specificare il codificatore che deve essere usato dal generatore di topologie. Il nodo di trasformazione viene aggiunto nella topologia a meno che non sia impostato MF_TRANSCODE_DONOT_INSERT_ENCODER. In questo caso e il contenuto non è codificato. Se consentito dal contenitore, il contenuto viene incorporato nel contenitore specificato.

Si supponga, ad esempio, che l'origine di input sia un file MP3. Impostare il contenitore come MFTranscodeContainerType_ASF, non si impostano attributi di flusso e si imposta il flag di MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES . In questo caso, il file di output generato è un file ASF (con estensione wma) contenente i dati multimediali MP3. Si noti che se si usa questo flag, alcuni attributi del flusso di input e il tipo di contenitore potrebbero non essere compatibili.

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Intestazione mfidl.h

Vedi anche

Enumerazioni media Foundation

API transcodifica