Condividi tramite


CODECAPI_AVEncVideoOutputQPMapBlockSize proprietà

Specifica le dimensioni del blocco usate per generare la mappa del parametro di quantizzazione dei metadati di output (QP) dal codificatore.

Tipo di dati

ULONG (VT_UI4)

GUID proprietà

CODECAPI_AVEncVideoOutputQPMapBlockSize

Il valore della proprietà

Dimensione del blocco. Il valore deve essere una potenza di 2, ad esempio 16 o 32. Se si imposta la dimensione del blocco su 0, la segnalazione delle dimensioni dei blocchi della mappa QP viene disabilitata. La segnalazione delle dimensioni dei blocchi di mapping QP è disabilitata per impostazione predefinita.

Osservazioni:

Dimensioni del blocco usate per generare la mappa QP dei metadati di output dal codificatore. Con le dimensioni del blocco, le applicazioni possono derivare le colonne e le righe della mappa QP dei metadati di output in base alla larghezza e all'altezza dei fotogrammi video divisi per le dimensioni del blocco. Ad esempio, se la dimensione del blocco è 16 e il fotogramma video ha le dimensioni di 1920x1080, la mappa QP ha 120 colonne e 68 righe. Se la larghezza/altezza del fotogramma video non è un multiplo esatto delle dimensioni del blocco, arrotondare la larghezza/altezza al multiplo successivo della dimensione del blocco. Ad esempio, se la dimensione del frame è 1916x1076 e la dimensione del blocco è 16, la dimensione del fotogramma arrotondata è 1920x1088.

Usare ICodecAPI::IsSupported per verificare se il codificatore supporta questa proprietà. Usare ICodecAPI::GetValue per eseguire una query sul valore di questa proprietà. Usare ICodecAPI::SetValue per configurare questa proprietà. I valori che non sono una potenza pari a 2 o 0, generano un valore restituito E_INVALIDARG da SetValue.

Esempi

Nell'esempio seguente viene illustrato come usare la proprietà CODECAPI_AVEncVideoOutputQPMapBlockSize per configurare un codificatore MFT per abilitare o disabilitare la funzionalità di creazione report mappa QP. Se il valore della dimensione del blocco è zero, è disabilitato. Se il valore della dimensione del blocco non è zero, è abilitato.

#include <codecapi.h> 
#include <mfapi.h>
#include <wil.com.h>
#include <wil/result_macros.h>

//  Inform an encoder MFT to enable or disable the QP map reporting feature. 
//  This function assumes that the encoder MFT supports ICodecAPI interface. 
//  It checks whether the new property CODECAPI_AVEncVideoOutputQPMapBlockSize is supported. 
//  If not supported, it returns E_NOTIMPL. 
//  If CODECAPI_AVEncVideoOutputQPMapBlockSize is supported and block size is none zero, it is enabled. 
//  Otherwise, it is disabled. 

HRESULT ConfigureEncoderForQPMap(_In_ IMFTransform* encoder, uint32_t blockSize) 
{ 

    wil::com_ptr_nothrow<ICodecAPI> codecAPI; 
    RETURN_IF_FAILED(wil::com_query_to_nothrow(encoder, &codecAPI)); 

    // Check if the encoder supports the property for QP map 
    if (!codecAPI->IsSupported(&CODECAPI_AVEncVideoOutputQPMapBlockSize)) 
    { 
        return E_NOTIMPL; 
    } 

    // configure encoder 
    wil::unique_variant value; 
    value.vt = VT_UI4; 
    value.ulVal = blockSize; // zero: disable; non-zero: enable 

    return codecAPI->SetValue(&CODECAPI_AVEncVideoOutputQPMapBlockSize, &value); 
} 

Requisiti

Requisito Valore
Client minimo supportato Windows 11, build 26100
Server minimo supportato Windows Server 2025
Intestazione Codecapi.h

Vedere anche