struttura DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA (dxvahd.h)
Specifica lo spazio dei colori per un flusso di input DXVA-HD (Microsoft DirectX Video Acceleration High Definition).
Sintassi
typedef struct _DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA {
union {
struct {
UINT Type : 1;
UINT RGB_Range : 1;
UINT YCbCr_Matrix : 1;
UINT YCbCr_xvYCC : 1;
UINT Reserved : 28;
};
UINT Value;
};
} DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA;
Members
Type
Specifica se il flusso di input contiene video o grafica. Il dispositivo può ottimizzare l'elaborazione in base al tipo. Il valore di stato predefinito è 0 (video).
Valore | Significato |
---|---|
|
Video. |
|
Grafica. |
RGB_Range
Specifica l'intervallo di colori RGB. Il valore di stato predefinito è 0 (intervallo completo).
Valore | Significato |
---|---|
|
Intervallo completo (0-255). |
|
Intervallo limitato (16-235). |
YCbCr_Matrix
Specifica la matrice di trasferimento YCbCr. Il valore di stato predefinito è 0 (BT.601).
Valore | Significato |
---|---|
|
ITU-R BT.601. |
|
ITU-R BT.709. |
YCbCr_xvYCC
Specifica se il flusso di input usa YCbCr convenzionale o YCbCr (xvYCC). Il valore di stato predefinito è 0 (YCbCr convenzionale).
Valore | Significato |
---|---|
|
YCbCr convenzionale. |
|
Extended YCbCr (xvYCC). |
Reserved
Value
Commenti
Il membro RGB_Range si applica all'input RGB, mentre i membri YCbCr_Matrix e YCbCr_xvYCC si applicano all'input YCbCr (YUV).
In alcune situazioni, il dispositivo potrebbe eseguire una conversione di colore intermedia nel flusso di input. In tal caso, usa i flag che si applicano a entrambi gli spazi dei colori. Si supponga, ad esempio, che il dispositivo converta da RGB a YCbCr. Se il membro RGB_Range è 0 e il membro YCbCr_Matrix è 1, il dispositivo convertirà da RGB a BT.709 YCbCr.
Se il dispositivo supporta xvYCC, restituisce il flag di funzionalità DXVAHD_DEVICE_CAPS_xvYCC nel membro DeviceCaps della struttura DXVAHD_VPDEVCAPS . In caso contrario, il dispositivo ignora il valore di YCbCr_xvYCC e considera tutti gli input YCbCr come convenzionali YCbCr. Per ottenere le funzionalità del dispositivo, chiamare IDXVAHD_Device::GetVideoProcessorDeviceCaps.
Esempio
HRESULT DXVAHD_SetInputColorSpace(
IDXVAHD_VideoProcessor *pVP,
UINT stream,
BOOL bPlayback, // TRUE = playback, FALSE = video processing
UINT RGB_Range, // 0 = 0-255, 1 = 16-235
UINT YCbCr_Matrix, // 0 = BT.601, 1 = BT.709
UINT YCbCr_xvYCC // 0 = Conventional YCbCr, 1 = xvYCC
)
{
DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA data =
{
bPlayback ? 0 : 1,
RGB_Range ? 1 : 0,
YCbCr_Matrix ? 1 : 0,
YCbCr_xvYCC ? 1 : 0
};
HRESULT hr = pVP->SetVideoProcessStreamState(
stream,
DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE,
sizeof(data),
&data
);
return hr;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Intestazione | dxvahd.h |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per